The Manifesto of a Pragmatic Open Source Developer

This manifesto was originally a post (username / password is / ) to the Tokyo Linux Users Group (TLUG) and a follow-up to it. This thread (username / password is / ) should give you a bit of context. I have edited for presentation and may have edited for clarity (I have not at the time of this writing, but I may yet), and names and email addresses have been obscured to protect the innocent (those things have been made green so that you can see what I am hiding).

I tried to resist entering This thread (username / password is
 / ) since I am fairly non-political when it comes
to Open Source software--I use it simply because it makes me a more
efficient coder.

However, you have touched on one of my pet peeves:

The definition of Open Source software includes the requirement that
software be free as in speech (with various definitions of exactly
what "free as in speech means", which is at the kernel of RMS's
beef with "Open Source" as opposed to "Free Software"; for the
purposes of most sane people, suffice it to whip out a Venn
diagram: [1] [2]

+----------------------------------+
|                                  |
|           Open Source            |
|                                  |
|        +---------------+         |
|        |               |         |
|        | Free Software |         |
|        |               |         |
|        +---------------+         |
|                                  |
+----------------------------------+

meaning that all "Free Software" is "Open Source", but while *some*
"Open Source" is "Free Software", *all* "Open Source" *not*
"Free Software" (*now* I wish I had enabled paren matching in
vim!)).

Not only does the definition of Open Source [3] (or Free Software, [4]
for that matter) not require "free as in beer", many (if not most) Open
Source licences [5] explicitly allow for selling the software (or
profiting in *some* way from the source code). 

So, if you desire software that is "free as in beer", please refrain
from considering yourself an Open Source advocate. Say it simply:
"I prefer not to pay money for software".

I am not in any way making a value judgement here; not wanting to pay
for software is a completely valid point of view. It just happens that
so many people equate Open Source with "free as in beer" that it has
become a significant problem, and a barrier to adoption in enterprise /
corporate environments.

I myself am perfectly willing to pay money for software, Open Source
or otherwise, if it is good software (defined by me as making me
*more* efficient or enabling me to perform a necessary task at
all). I am not willing to pay money to Microsoft, because I feel that
doing so is detrimental to the field of software engineering in which
I am gainfully employed. Neither am I willing to run Windows when I have
a licence key, obtained legally or otherwise, because I feel that the
Windows OS is detrimental to the Internet as a whole, both in terms of
security and in terms of standards adherence.

When I have extra money to spend, I will fund Open Source projects by
buying:

-Shrink-wrapped software: I used to buy every new release of Red Hat
   Linux, even after I stopped actually running it, because I wanted to
   reward Red Hat for their efforts, especially in the area of kernel
   development.
-Swag: after all, one can never have too many T-shirts, coffee mugs,
   etc, featuring Tux, [6] the BSD Daemon, [7] or your favourite
   Linux distro? [8]

Or just doing a straight-up PayPal donation, now that those have caught
on.

However, from the point of view of an Open Source developer, [9] I can
say that the nicest contribution a user can make is an email saying
something along the lines of, "Thanks for writing foo! I find it very
useful for fooing my collection of bars!" He may or may not then go on to
request a feature, report a bug, or attach a patch, but it is just the
simple act of saying "thank you" that makes my day better.

In fact, for me, the main reason that I do Open Source is as a courtesy
to my fellow man. In this, RMS and I are on the same page. I just do not
go so far as to suggest that it is the *moral obligation* of *everyone
else* to do as I do. I think that is *the definition* of egomania! ;)

Editor's note: the original post ends here. I have merged the follow-up in since it is more or less a continuation of my original train of thought; no jokes containing the word "derailed", please. ;)

Quoth Some Guy (Sun 2004-06-06 12:50:28PM -0700):

> Josh Glover <josh@glover.illegal-tld> wrote:
>
> > +----------------------------------+
> > |                                  |
> > |           Open Source            |
> > |                                  |
> > |        +---------------+         |
> > |        |               |         |
> > |        | Free Software |         |
> > |        |               |         |
> > |        +---------------+         |
> > |                                  |
> > +----------------------------------+
> 
> I appreciate your drawing a diagram, they're much more fun to
> read than text.

Like I said in footnote [2]: "Bugger me if the sweet, siren call of
ASCII art isn't nigh irresistible!". (Which, by the way, should *not*
be taken as an invitation--I have already gotten several off-list
replies ;)

> >So, if you desire software that is "free as in beer", please refrain
> >from considering yourself an Open Source advocate. Say it simply:
> >"I prefer not to pay money for software".
> 
> That's silly.  I'm as much as an advocate for Linux as the next person
> who enjoys this newsgroup.

That may be. However, your statement:

Quoth Some Guy (Sun, 6 Jun 2004 10:16:47 -0700):

> Suddenly, the open source (junkie) saw that something costs~!@#?
> Argh!!!

which is what triggered my rant, certainly does not paint you in that
light. Here you are furthering the misconception that Open Source ==
Free (as in beer).

> >I am not in any way making a value judgement here
> 
> Sorry, but yes you are.
> Pet peeves we all exercise from time to time.

Re-read my post. If you still think I am insulting you in any way, you
have missed my point *completely*.

Google defines the phrase "value judgement"[11] as:

"an assessment that reveals more about the values of the person making
 the assessment than about the reality of what is assessed"

My values, as I expressed (rather civilly, I though) in my post, are
that Open Source is:

- something that makes me a more efficient coder
- a way I see for me to do good, given my particular education and
  skillset (were I a brain surgeon, I would do some pro bono work)

And my judgement was simply:

In equating Open Source with "free as in beer", you are doing the Open
Source a disservice (albeit a slight one).

I provided what I consider a logical explanation of how I arrived at my
conclusion.

> >not wanting to pay
> >for software is a completely valid point of view. 
> 
> If I need software, believe me I'll go through hell or highwater to
> hunt it down. And I will pay for it.

Again, not my point. I myself certainly place a much higher priority on
paying for food, shelter, etc than I do software. If I were hungry and
living from paycheque to paycheque, cost would certainly replace
efficiency at the top of my criteria for choosing software.

I do not consider Open Source a moral issue. What I do consider a moral
issue is Software Engineering. In today's highly automated world, bugs
in code *can* extract a high price, [12] even in human life! [13] We
professional coders *and* our management *must* accept more
responsibility for software quality, akin to physical engineers. [14]

> >It just happens that
> >so many people equate Open Source with "free as in beer" that it has
> >become a significant problem, and a barrier to adoption in enterprise /
> >corporate environments.
> 
> It has been at once saddening and good that Open Source has become more
> of an enterprise, I think.  Part of the fun of Open Source for me has
> been that it used to be totally free of corporate environments where the
> profit motive deadened the creativity of software developers such as
> yourself.

Agreed. However, the positive side of this is that some companies [15]
really seem to be getting it, and paying coders to hack on Open Source
(many in a relatively relaxed environment compared to the convention
"wage slave" coder). Some of them are even giving back to the
community! [16]

> >However, from the point of view of an Open Source developer, [19] I can
> >say that the nicest contribution a user can make is an email saying
> >something along the lines of, "Thanks for writing foo! I find it very
> >useful for fooing my collection of bars!" He may or may not then go
> >on to request a feature, report a bug, or attach a patch, but it is
> >just the simple act of saying "thank you" that makes my day better.
> 
> Thank you , Josh.  I wish I could change professions and be an Open
> Source Developer like you.

I will give you the benefit of the doubt and assume that no sarcasm
was meant:

You are welcome. :)

> But I can't.  I get my fix of it by trying to actively stay involved
> in threads  that  I need to gather information on here in the confines
> of tlug!

If you want to give back to the Open Source community, here are some
ideas:

- Monetary donations, as I expressed in my previous post.
- Participating on this and other Open Source-related mailing lists.
  Remember to post your solutions at the end of a thread so that they
  show up in the archives! (Also, as Godwin noted, do fix your
  threading, that will make the archives *a lot* easier to glean
  information from.)
- When you attempt something new on your Unix system, keep a Captain's
  Log [17] and then post it somewhere. I will be happy to post Captain's
  Logs on my site [17] as long as you follow my conventions and use a
  Creative Commons Attribution-ShareAlike License. [18]
- Submit good bug reports [19] and / or feature requests for the Open
  Source tools that you use the most frequently. 15 minutes of your
  time can save untold hours of collective frustration for the
  countless other users of the software.
- Document something. Anything! Submit it to the distribution [20] or
  author of the tool, or post it somewhere. [21]

> Some Guy M.S.

What is the Master of Science degree (hope I am not making a boneheaded
assumption here) in? I ask to segue into my last idea:

- Think of a software tool that would make work in your field of
  expertise easier. Suggest it to your local LUG or Open Source
  developer friend. Even if the people you suggest it to are too busy
  or just not interested, the idea is out there, and I cannot think of
  how many times I have said something like, "This guy Some Guy
  from the TLUG list had a pretty cool idea the other day..." to a
  fellow coder. Sometimes, said coder responds, "Holy shit! [22] That
  *is* a good idea. Hell, [22] it is a *great* idea! I bet I could
  hack something up..." and makes a break for his keyboard, mumbling
  to herself [23] the whole way. :)
    
[1]
Americans: remember those from ~5th grade!? :) [10]
[2]
Bugger me if the sweet, siren call of ASCII art isn't nigh irresistable!
[3]
http://www.opensource.org/docs/definition.php
[4]
http://www.fsf.org/philosophy/free-sw.html
[5]
http://www.opensource.org/licenses/
[6]
http://www.linux.org/about/donate.html#shirt
[7]
http://www.bsdmall.com/dexter.html
[8]
http://store.gentoo.org/product_info.php?cPath=22&products_id=41
[9]
http://www.jmglov.net/opensource/
[10]
No slight intended to non-Americans, I just do not have the frame of reference to determine when you were exposed to Venn diagrams (and ad nauseum at that!)
[11]
http://www.google.com/search?hl=en&lr=&ie=UTF-8&q=define%3A+%22value+judgement%22&btnG=Search
[12]
http://sunnyday.mit.edu/accidents/Ariane5accidentreport.html
[13]
http://www.eweek.com/article2/0,1759,1544236,00.asp http://www.cs.tau.ac.il/~nachumd/horror.html
[14]
http://www.icivilengineer.com/General/Engineering_Ethics/
[15]
http://www.redhat.com/ http://www.transmeta.com/ http://www.ibm.com/ http://www.incogen.com/ http://www.tfcci.com/
[16]
http://www-136.ibm.com/developerworks/
[17]
http://www.jmglov.net/unix/captains-logs/
[18]
http://creativecommons.org/licenses/by-sa/1.0/ http://creativecommons.org/licenses/by-sa/2.0/
[19]
http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
[20]
http://www.gentoo.org/doc/en/doc-tipsntricks.xml
[21]
http://www.qnd-guides.net/
[22]
Yes, all of my coder friends swear a lot. I have no fucking idea why.
[23]
This is my tip o' the hat to political correctness. Consider yourself fortunate. ;)