thoughts on open source

As an active programmer, its nearly impossible not to encounter the open source community. I often encounter indivuals that vehemently ascribe to open source doctrine - a group that used to include me not so long ago. With time however, I developed different views.

The Truth About Open Source

The truth about open source tools is that they usually emerge via a collaboration between academia, industry, and or goverment(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 univeristy, industry, or goverment 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 implmentations are just better

There are a number of open source tools that are pretty comptetitive 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 stucture 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.
Clang Apple, Berkeley Univeristy
Firefox Netscape, Google
TypeScript Microsoft
Linux Kernel RedHat, IBM, Google
Chromium Google
Android Google
Blender NeoGeo
Apache Hobbyist
MatplotLib Hobbyist
NumPy University Research