I can’t help but feel that this “method” requires a certain type of ego. I don’t develop and release software to have something “succeed,” such that I can gain some notoriety, or street cred. I develop and release software to scratch my own itch, solve my own problems, and release it in the hopes that it’ll be useful to someone else. I share because I believe sharing is the right thing to do.
Do I have as big a following as fogus? No. So, maybe it’s different somehow. Maybe there are expectations on him that don’t exist for me–that’s probably the case. But, that still wouldn’t change my behavior. I still wouldn’t keep things to myself until such time as it’s ready. That’s selfish in my opinion.
People are ridiculous and expect free work to be done, of course. “Fix my bug! You’re obligated to do so because you open sourced it!” No. No, I’m not obligated. You can fix it yourself (or pay someone else to do so) if I don’t have interest in doing so, but a “thank you” for the effort I put into it so far would be nice. That’s why I released it under a permissive license to begin with.
I still wouldn’t keep things to myself until such time as it’s ready. That’s selfish in my opinion.
Now you see, I don’t see it that way. What makes me feel selfish is when people use software that I’ve created haphazardly for projects that they depend on for real results and I’m not around to help them out. Should they have thought twice before including it? Probably. That doesn’t make me feel any less like a delinquent maintainer however. You say that holding back code is selfish and ego-centric, but I see it exactly the opposite. I highly doubt that most of what I create is worth a hill of beans to anyone, but occasionally I might stumble onto something of real value that I an likewise excited about. I think Christopher Hitchens had something to say about this:
Everybody does have a book in them, but in most cases that’s where it should stay.
I understand your point of view, I just don’t agree with it. :)
This is pretty short sighted, don’t you think? It also doesn’t mention how one knows that it should stay in them. If Mark Twain didn’t publish his short stories, because someone told him to “keep it to yourself,” we’d probably never have been introduced to Tom and Huck later.
You could of course argue that Twain wrote thousands of pages of rubbish before publishing anything “worthwhile,” but whose to say it wouldn’t have inspired other authors, or formed the basis for some new radical innovation in literary work?
The problem with keeping things to yourself is simply that there’s never a chance for anyone else to benefit from it. There’s never a chance for someone else to be inspired by what you’ve created, even if it’s insignificant to you.
Also, while probably not directly related (I don’t know the full story of what he published vs. didn’t), Ramanujan’s story. He was discovered quickly by researchers, but what if he hadn’t been?
Being vaguely familiar with Twain’s life, I think it’s extremely unlikely that he would have listened to anyone telling him to keep it to himself. In fact, I imagine such requests were a constant refrain for him. :)
I do actually think the choice of how much to publish is very personal. I think the majority of fun projects I do have very little value to anyone else (other than recruiters who want to determine that, yep, I’m one of those people with several dozen GitHub repositories, most of which have 100 lines of code). But I’m definitely not going to adopt a philosophy that says I have to focus on stuff that’s useful to others to the exclusion of stuff I enjoy - and that is pretty much what I understand 100:10:1 to be about.
That’s the main point for me, but as side points… I don’t think releasing code creates an obligation, but I do weigh whether other people are going to feel that it does. I also weigh whether the code might be a useful example for someone, regardless of whether it works. And at least part of my motivation for open-sourcing things is selfish - I want feedback on them! In general, everyone has their own reasons, which are pretty diverse.
I do actually think the choice of how much to publish is very personal.
Absolutely agreed! I don’t think anyone should change their philosophy just because I (or anyone else) said so. One needs to internalize their own beliefs, and come to their own conclusions. Obviously, you may do this by reflecting on my, or someone else’s beliefs, though.
And at least part of my motivation for open-sourcing things is selfish - I want feedback on them!
Hack && Tell was started for exactly this reason – feedback, among other things, of course. But, I can’t tell you how many times I’ve seen (at Hack && Tell or otherwise), 100 line “hacks” with no “value,” that inspired me to create something else that was 150 lines with no “value.”
It’s only a matter of time before that 150 line hack leads to 20,000 lines of pure world changing innovation.
Hack && Tell sounds fun! I’m disappointed they don’t have a bay area chapter.
In its history, there were 2, run by separate people, but, I think organizer interest waned and it fizzled out.
I’m no longer involved (I started it in NYC, but recently moved to San Diego), but left it with a fantastic set of organizers (one of which has been involved since the beginning) who are trying to push it forward and make it easy for new chapters to start. It is surprising to me that a Bay Area chapter never took off, but having been the organizer (and also having worked at Meetup), I realize that it probably has less to do about “interest” and more about getting the right person(s) involved in stepping up to organize.
Yes, that’s my assumption as well. Hopefully there’ll be another attempt at some point. :)
That’s why I released it under a permissive license to begin with.
I release stuff under the GPL and I also don’t promise to support it or handle anyone’s bug reports or feature requests. Not my problem, take it or leave it. I need to keep my sanity.
In the highly unlikely case that starting from my stuff they create and disseminate non-free stuff and I find out about it, I have the option to do something, but otherwise it’s just about the same as a permissive license.
Anyways point being is that releasing software under a permissive vs copyleft license has no bearing on our obligations towards others. It’s very important to realise that we have no obligations, because otherwise burnout can settle in, due to all of these freeloaders asking for something for nothing. I have seen it happen multiple times. You have to be zen.
I release stuff under the GPL and I also don’t promise to support it or handle anyone’s bug reports or feature
requests. Not my problem, take it or leave it. I need to keep my sanity.
I’ve tried that. It didn’t work for me. 100:10:1 does.
I’m a bit confused because (based on the title and opening section) I thought this was going to be about how to deal with the FOSS community and how to choose what to release. Instead it turned out to be a framework for generating new ideas, new projects.
I enjoyed the piece regardless!
I thought this was going to be about how to deal with the FOSS community and how to choose what to release.
It was exactly about how I deal with the FOSS community and how I choose what to release. It is in no way prescriptive.
Related idea (the “spark file”) here: https://medium.com/the-writers-room/the-spark-file-8d6e7df7ae58
You keep a document with all the hunches & half-baked ideas that come to you (the 100). Periodically you scan the whole file to find something to work on (the 10).
The name reminds me of the 100:10:3:1 methods in real estate investment: see 100 properties, submit an offer to 10, 3 will be accepted, choose one.