diff options
Diffstat (limited to 'articles/on-open-source/index.html')
-rw-r--r-- | articles/on-open-source/index.html | 338 |
1 files changed, 195 insertions, 143 deletions
diff --git a/articles/on-open-source/index.html b/articles/on-open-source/index.html index bc587fdd..60564636 100644 --- a/articles/on-open-source/index.html +++ b/articles/on-open-source/index.html @@ -7,7 +7,7 @@ <meta name="description" content=""> <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> - <meta name="generator" content="Hugo 0.17" /> + <meta name="generator" content="Hugo 0.26" /> <title>Nine Nines: On open source</title> @@ -74,123 +74,123 @@ </p> </header> -<div class="paragraph"><p>Last week I read a great article
-<a href="http://videlalvaro.github.io/2014/08/on-contributing-to-opensource.html">on
-contributing to open source</a> by Alvaro Videla. He makes
-many great points and I am in agreement with most of it.
-This made me want to properly explain my point of view with
-regard to open source and contributions. Unlike most open
-source evangelism articles I will not talk about ideals or
-any of that crap, but rather my personal feelings and
-experience.</p></div>
-<div class="paragraph"><p>I have been doing open source work for quite some time.
-My very first open source project was a graphics driver
-for (the very early version of) the PCSX2 emulator. That
-was more than ten years ago, and there
-<a href="http://ngemu.com/threads/gstaris-0-6.30469/">isn’t
-much left to look at today</a>. This was followed by a
-<a href="https://github.com/extend/wee">PHP framework</a>
-(started long before Zend Framework was even a thing) and
-a few other small projects. None of them really took off.
-It’s alright, that’s pretty much the fate of most open
-source projects. You spend a lot of work and sweat and
-get very little in return from others.</p></div>
-<div class="paragraph"><p>This sounds harsh but this is the reality of all open
-source projects. If you are thinking of building a project
-and releasing it as open source, you should be prepared
-for that. This is how most of your projects will feel like.
-Don’t release a project as open source thinking everyone
-will pat you on the back and cheer, this won’t happen. In
-fact if your project is a too small improvement over existing
-software, what many people will do is say you have NIH
-syndrome, regardless of the improvement you bring. So you
-need not to rely on other people in order to get your
-enjoyment out of building open source software.</p></div>
-<div class="paragraph"><p>In my case I get enjoyment from thinking about problems
-that need solving. Often times the problems are already
-solved, but nevermind that, I still think about them and
-sometimes come up with something I feel is better and then
-write code for it. Writing code is also fun, but not as
-fun as using my brain to imagine solutions.</p></div>
-<div class="paragraph"><p>You don’t need thousands of users to do that. So are
-users worthless to me then? No, of course not. In fact
-they are an important component: they bring me problems
-that need solving. So users are very important to me.
-But that’s not the only reason.</p></div>
-<div class="paragraph"><p>I got lucky that the Cowboy project became popular.
-And seeing it be this popular, and some of my other projects
-also do quite well, made me believe I could perhaps work
-full time on open source. If I can work full time then
-I can produce better software. What I had one hour to
-work on before I can now spend a day on, and experiment
-until I am satisfied. This is very useful because that
-means I can get it almost right from the beginning, and
-avoid the million API breaking changes that occured
-before Cowboy 1.0 was released.</p></div>
-<div class="paragraph"><p>To be able to work full time on open source however,
-I need money. This is a largely unspoken topic of open
-source work. The work is never free. You can download the
-product for free, but someone has to pay for the work
-itself. Life is unfortunately not free.</p></div>
-<div class="paragraph"><p>Large projects and some lucky people have their work
-sponsored by their employers. Everyone else has to deal
-with it differently. In my case I was sponsored for a
-while by the <a href="http://leo-project.net/leofs/">LeoFS</a>
-project, but that ended. I also had the Farwest fundraiser,
-which was a success, although the project stalled after that.
-(Fear not, as Farwest will make a comeback as a conglomerate
-of Web development projects in the future.) After that I set
-up the <a href="http://ninenines.eu/support/">sponsoring scheme</a>,
-which I can proudly say today brings in enough money to
-cover my food and shelter. Great!</p></div>
-<div class="paragraph"><p>This is a start, but it’s of course not enough. Life
-is a little more than food and shelter, and so I am still
-looking for sponsors. This is not a very glorious experience,
-as I am essentially looking for scraps that companies can
-throw away. Still, if a handful more companies were doing
-that, not only would I be able to live comfortably, but I
-would also be able to stop worrying about the future as I
-could put money on the side for when it gets rough.</p></div>
-<div class="paragraph"><p>A few companies giving me some scrap money so I could
-live and work independently is by far the most important
-thing anyone can do to help my projects, including Cowboy.
-Yes, they’re even more important than code contributions,
-bug reports and feedback. Because this money gives me the
-time I need to handle the code contributions, bug reports
-and feedback.</p></div>
-<div class="paragraph"><p>If Cowboy or another project is a large part of your
-product or infrastructure, then the best thing you can do
-is become a sponsor. The second best is opening tickets
-and/or providing feedback. The third best is providing
-good code contributions.</p></div>
-<div class="paragraph"><p>I will not expand on the feedback part. Feedback is
-very important, and even just a high five or a retweet
-is already good feedback. It’s not very complicated.</p></div>
-<div class="paragraph"><p>I want to expand a little on code contributions
-however. Not long ago I ran across the term "patch bomb"
-which means dropping patches and expecting the project
-maintainers to merge them and maintain them. I receive
-a lot of patches, and often have to refuse them. Causes
-for refusal vary. Some patches only benefit the people
-who submitted them (or a very small number of people).
-Some patches are not refined enough to be included.
-Others are out of scope of the project. These are some
-of the reasons why I refuse patches. Having limited
-time and resources, I have to focus my efforts on the
-code used by the larger number of users. I have to
-prioritize patches from submitters who are reactive
-and address the issues pointed out. And I have to plainly
-refuse other patches.</p></div>
-<div class="paragraph"><p>I believe this wraps up my thoughts on open source.
-Overall I had a great experience, the Erlang community
-being nice and understanding of the issues at hand in
-general. And if the money problem could be solved soon,
-then I would be one of the luckiest and happiest open
-source developer on Earth.</p></div>
-<div class="paragraph"><p>Think about it the next time you see a donation button
-or a request for funds or sponsoring. You can considerably
-improve an open source developer’s life with very little
-of your company’s money.</p></div>
+<div class="paragraph"><p>Last week I read a great article +<a href="http://videlalvaro.github.io/2014/08/on-contributing-to-opensource.html">on +contributing to open source</a> by Alvaro Videla. He makes +many great points and I am in agreement with most of it. +This made me want to properly explain my point of view with +regard to open source and contributions. Unlike most open +source evangelism articles I will not talk about ideals or +any of that crap, but rather my personal feelings and +experience.</p></div> +<div class="paragraph"><p>I have been doing open source work for quite some time. +My very first open source project was a graphics driver +for (the very early version of) the PCSX2 emulator. That +was more than ten years ago, and there +<a href="http://ngemu.com/threads/gstaris-0-6.30469/">isn’t +much left to look at today</a>. This was followed by a +<a href="https://github.com/extend/wee">PHP framework</a> +(started long before Zend Framework was even a thing) and +a few other small projects. None of them really took off. +It’s alright, that’s pretty much the fate of most open +source projects. You spend a lot of work and sweat and +get very little in return from others.</p></div> +<div class="paragraph"><p>This sounds harsh but this is the reality of all open +source projects. If you are thinking of building a project +and releasing it as open source, you should be prepared +for that. This is how most of your projects will feel like. +Don’t release a project as open source thinking everyone +will pat you on the back and cheer, this won’t happen. In +fact if your project is a too small improvement over existing +software, what many people will do is say you have NIH +syndrome, regardless of the improvement you bring. So you +need not to rely on other people in order to get your +enjoyment out of building open source software.</p></div> +<div class="paragraph"><p>In my case I get enjoyment from thinking about problems +that need solving. Often times the problems are already +solved, but nevermind that, I still think about them and +sometimes come up with something I feel is better and then +write code for it. Writing code is also fun, but not as +fun as using my brain to imagine solutions.</p></div> +<div class="paragraph"><p>You don’t need thousands of users to do that. So are +users worthless to me then? No, of course not. In fact +they are an important component: they bring me problems +that need solving. So users are very important to me. +But that’s not the only reason.</p></div> +<div class="paragraph"><p>I got lucky that the Cowboy project became popular. +And seeing it be this popular, and some of my other projects +also do quite well, made me believe I could perhaps work +full time on open source. If I can work full time then +I can produce better software. What I had one hour to +work on before I can now spend a day on, and experiment +until I am satisfied. This is very useful because that +means I can get it almost right from the beginning, and +avoid the million API breaking changes that occured +before Cowboy 1.0 was released.</p></div> +<div class="paragraph"><p>To be able to work full time on open source however, +I need money. This is a largely unspoken topic of open +source work. The work is never free. You can download the +product for free, but someone has to pay for the work +itself. Life is unfortunately not free.</p></div> +<div class="paragraph"><p>Large projects and some lucky people have their work +sponsored by their employers. Everyone else has to deal +with it differently. In my case I was sponsored for a +while by the <a href="http://leo-project.net/leofs/">LeoFS</a> +project, but that ended. I also had the Farwest fundraiser, +which was a success, although the project stalled after that. +(Fear not, as Farwest will make a comeback as a conglomerate +of Web development projects in the future.) After that I set +up the <a href="http://ninenines.eu/support/">sponsoring scheme</a>, +which I can proudly say today brings in enough money to +cover my food and shelter. Great!</p></div> +<div class="paragraph"><p>This is a start, but it’s of course not enough. Life +is a little more than food and shelter, and so I am still +looking for sponsors. This is not a very glorious experience, +as I am essentially looking for scraps that companies can +throw away. Still, if a handful more companies were doing +that, not only would I be able to live comfortably, but I +would also be able to stop worrying about the future as I +could put money on the side for when it gets rough.</p></div> +<div class="paragraph"><p>A few companies giving me some scrap money so I could +live and work independently is by far the most important +thing anyone can do to help my projects, including Cowboy. +Yes, they’re even more important than code contributions, +bug reports and feedback. Because this money gives me the +time I need to handle the code contributions, bug reports +and feedback.</p></div> +<div class="paragraph"><p>If Cowboy or another project is a large part of your +product or infrastructure, then the best thing you can do +is become a sponsor. The second best is opening tickets +and/or providing feedback. The third best is providing +good code contributions.</p></div> +<div class="paragraph"><p>I will not expand on the feedback part. Feedback is +very important, and even just a high five or a retweet +is already good feedback. It’s not very complicated.</p></div> +<div class="paragraph"><p>I want to expand a little on code contributions +however. Not long ago I ran across the term "patch bomb" +which means dropping patches and expecting the project +maintainers to merge them and maintain them. I receive +a lot of patches, and often have to refuse them. Causes +for refusal vary. Some patches only benefit the people +who submitted them (or a very small number of people). +Some patches are not refined enough to be included. +Others are out of scope of the project. These are some +of the reasons why I refuse patches. Having limited +time and resources, I have to focus my efforts on the +code used by the larger number of users. I have to +prioritize patches from submitters who are reactive +and address the issues pointed out. And I have to plainly +refuse other patches.</p></div> +<div class="paragraph"><p>I believe this wraps up my thoughts on open source. +Overall I had a great experience, the Erlang community +being nice and understanding of the issues at hand in +general. And if the money problem could be solved soon, +then I would be one of the luckiest and happiest open +source developer on Earth.</p></div> +<div class="paragraph"><p>Think about it the next time you see a donation button +or a request for funds or sponsoring. You can considerably +improve an open source developer’s life with very little +of your company’s money.</p></div> </article> </div> @@ -199,55 +199,107 @@ of your company’s money.</p></div> <h3>More articles</h3> <ul id="articles-nav" class="extra_margin"> - <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.2/">Cowboy 2.0 release candidate 2</a></li> + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.2/">Cowboy 2.0 release candidate 2</a></li> + - <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.1/">Cowboy 2.0 release candidate 1</a></li> + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.1/">Cowboy 2.0 release candidate 1</a></li> + - <li><a href="https://ninenines.eu/articles/the-elephant-in-the-room/">The elephant in the room</a></li> + + <li><a href="https://ninenines.eu/articles/the-elephant-in-the-room/">The elephant in the room</a></li> + - <li><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don't let it crash</a></li> + + <li><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don't let it crash</a></li> + - <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></li> + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></li> + - <li><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></li> + + <li><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></li> + - <li><a href="https://ninenines.eu/articles/ml-archives/">Mailing list archived</a></li> + + <li><a href="https://ninenines.eu/articles/ml-archives/">Mailing list archived</a></li> + - <li><a href="https://ninenines.eu/articles/website-update/">Website update</a></li> + + <li><a href="https://ninenines.eu/articles/website-update/">Website update</a></li> + - <li><a href="https://ninenines.eu/articles/erlanger-playbook-september-2015-update/">The Erlanger Playbook September 2015 Update</a></li> + + <li><a href="https://ninenines.eu/articles/erlanger-playbook-september-2015-update/">The Erlanger Playbook September 2015 Update</a></li> + - <li><a href="https://ninenines.eu/articles/erlanger-playbook/">The Erlanger Playbook</a></li> + + <li><a href="https://ninenines.eu/articles/erlanger-playbook/">The Erlanger Playbook</a></li> + - <li><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></li> + + <li><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></li> + - <li><a href="https://ninenines.eu/articles/on-open-source/">On open source</a></li> + + <li><a href="https://ninenines.eu/articles/on-open-source/">On open source</a></li> + - <li><a href="https://ninenines.eu/articles/the-story-so-far/">The story so far</a></li> + + <li><a href="https://ninenines.eu/articles/the-story-so-far/">The story so far</a></li> + - <li><a href="https://ninenines.eu/articles/cowboy2-qs/">Cowboy 2.0 and query strings</a></li> + + <li><a href="https://ninenines.eu/articles/cowboy2-qs/">Cowboy 2.0 and query strings</a></li> + - <li><a href="https://ninenines.eu/articles/january-2014-status/">January 2014 status</a></li> + + <li><a href="https://ninenines.eu/articles/january-2014-status/">January 2014 status</a></li> + - <li><a href="https://ninenines.eu/articles/farwest-funded/">Farwest got funded!</a></li> + + <li><a href="https://ninenines.eu/articles/farwest-funded/">Farwest got funded!</a></li> + - <li><a href="https://ninenines.eu/articles/erlang.mk-and-relx/">Build Erlang releases with Erlang.mk and Relx</a></li> + + <li><a href="https://ninenines.eu/articles/erlang.mk-and-relx/">Build Erlang releases with Erlang.mk and Relx</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></li> + - <li><a href="https://ninenines.eu/articles/erlang-scalability/">Erlang Scalability</a></li> + + <li><a href="https://ninenines.eu/articles/erlang-scalability/">Erlang Scalability</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.3-atomic-expressions/">Xerl: atomic expressions</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.3-atomic-expressions/">Xerl: atomic expressions</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.2-two-modules/">Xerl: two modules</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.2-two-modules/">Xerl: two modules</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.1-empty-modules/">Xerl: empty modules</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.1-empty-modules/">Xerl: empty modules</a></li> + - <li><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></li> + + <li><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></li> + - <li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li> + + <li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li> + + + </ul> |