thoughts on open source

As an active programmer, its nearly impossible not to encounter the open source community. I often encounter individuals that vehemently ascribe to open source doctrine - a group that sometimes includes me. But its important to take a close look at what makes open source work.

Programmers Don't Work for Free...

The truth about open source tools is that they usually emerge via a collaboration between academia, industry, and or government(more often than not defense research projects). Just look at the table at the end of the article. Open source projects started by an individual with no university, industry, or government influence are exceedingly rare. Open source typically doesn't exist in a vacuum. People rarely work for free. And if you trace the most successful open source projects, you will find a long trail of money and funding. The notion of kumbaya open source simply has no basis in reality.

Claims to Fame

Just better - Open source implementations are just better

There are a number of open source tools that are pretty competitive with their proprietary counterparts. Note that this is usually only true for tooling software such as bison, gcc, hugo, apache etc. This is rarely true with software suites such as GIMP or Inkscape - a notable exception being:

Blender vs (3Ds Max or Maya or Houdini etc.) - Blender is a fantastic example of excellent open source software. I used to do much animation and video editing in Blender and its physics engine, rendering engine, hair engine, Python frontend API, GUI, and file structure are light years ahead of the competition.

Saves needless reimplmentation of common software needs which effectively results in standardization. - GNU LibC, NewlibC

1000 minds at once Just look at how many contributors the Linux Kernel has

Freedom in all senses - (free speech, accessibility etc.) Imagine if you had to wait for your license to activate before you could compile your first program.

Security - a symptom of accessibility - a large userbase means bugs don't get to linger around for long Fix it yourself - found a bug - fix it yourself

Things that should remain closed source

Mainly things that are core to a company's business model - things that make a company competitive such as:

MacOS windows manager - arguably the best I've ever used. I have no use for the source code, ie: I don't have a reason to port it the MacOS WM to another system, the WM has virtually no bugs, it does what I want 95% of the time.

MSWord - I haven't used Word in ages(mostly LaTeX and MDown). But I don't think anyone is interested in Word's source. I also don't see a huge community lining up to make contributions to Word. If extensibility is the concern, developers can already add extensions to Word. And that's that.

Reference Table

Project Roots
Verilator DEC.
BSD Unix Berkeley
Clang Apple, Berkeley University
Clang Berkeley
Chisel Berkeley
R Berkeley
Berkeley Sockets Berkeley
GCC MIT
Xorg MIT
Bluespec MIT
MIPS Stanford
ROS Stanford
Theano University of Montreal
Firefox Netscape, Google
TypeScript Microsoft
Linux Kernel RedHat, IBM, Google
Chromium Google
Android Google
Blender NeoGeo
Apache Hobbyist
MatplotLib Hobbyist