Seven essential qualities of open source

github logo 惻1 min read

Matthew ButĀ­tĀ­erĀ­ick of Practical Typography nails it:

  1. Open source arises from a spirit of capĀ­iĀ­talĀ­ist competition.
  2. Open-source deĀ­velĀ­opĀ­ers are paid.
  3. Open source reĀ­deĀ­fines what is valuable.
  4. Open source reĀ­lies on meritocracies.
  5. Open source reĀ­lies on benevĀ­oĀ­lent dictators.
  6. An open-source project reĀ­quires mulĀ­tiĀ­ple developers.
  7. Open source is part of the projectā€™s DNA or itā€™s not.

If these are not met, he says, itā€™s not open source it's just file sharing.

twitter logo DISCUSS (6)
markdown guide
 

He's on point insofar as "open source" is considered in opposition to "free software". And, to be fair, that's been the idea all along: Tim O'Reilly and Eric Raymond, among others, specifically cultivated "open source" as a capitalist-friendly antidote to the viral copyleft licenses of the free software movement. They have largely succeeded in supplanting it in the minds of application developers (the FSM is far too well entrenched in operating systems to suffer the same fate there, for which we should all be thankful), but "open source" is not the sum of what open source developers are participating in. It's a single ideological tendency within the broader politics of software development, and a successful one, but that's all it is.

There's some good stuff in there, points 3, 6, and 7 in particular. But a lot of it is heavily shaded by his own subjective experience and ideological leanings, so it's important to read him critically. When he says, for example, that "Most of the successful open-source projects are intended as substitutes for successful proprietary software products", this says more about how he personally defines success than anything else, and the statement as a whole is completely unquantifiable. I might just as easily point to the exciting stuff coming out of the Apache Foundation or the state of web frameworks and data access libraries to illustrate that "most" open source development fulfills needs that are inherently difficult or impossible to monetize directly, and it'd be exactly as defensible.

 

To be a bit more broad, my interest in open source spiked due to:

  1. The React license controversy.
  2. The Clojure open source controversy
  3. The startups / open source controversy: lately more and more startups come up with products and services where the only and unique key selling point is "we are open source"
  4. The hijacking of open source node packages / repositories
  5. The need for a new open source licence which does not enable repackaging an open source product as a private SAAS business.
  6. Some open source companies are considering a more closed approach.
  7. RedHat got sold for $34bn. The open source contributors got $0.

And so on. The list is endless.

These issues made me think:

  • There is a hype around open source lately in the sense of many trying to take an advantage of it by exploiting.
  • The concept of open source is not fully bullet proof and is understood only by few.
  • It might work for some but it is clearly not working for everyone (see 2. in the original post)

In other words I'm very curious about the story of the open source.

 

The history is there for the reading; the Wikipedia entry for the FSM is a good starting point, especially the "subgroups and schisms" section.

But the bottom line is that open source is meant to be exploited. The FSM's practice of viral copyleft licensing prevents companies from profiting directly off of "free software"; you couldn't, for example, fork Mutt and productize it without releasing your own changes and extensions to its codebase, which largely makes productizing it pointless. You're allowed to make money on packaging or support, which is how Red Hat got where it is today, but it makes commercial software development a nonstarter.

There's a particular provision of the GNU copyleft license that makes it especially toxic to commercial interests:

You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.

This means that if I were to release a useful library under the GPL, you couldn't link or depend on it in your own projects without releasing your own source code under the same license. That's the "viral" part, and it's why I had to sign a statement affirming that I won't introduce GPL or other copyleft-licensed code into my current employer's software ecosystem.

Open source licenses, meanwhile, contain no such provision, which allows companies to build and sell products on top of other people's code without having to do anything in return or pay anything forward. It's been great for those companies, and the ability to download and use ready-made wheels instead of laboriously reinventing your own each and every time has worked wonders for the entire software development landscape; but at the same time, it encourages a distribution of profit and power that flows more readily to corporations who build on freely available resources than to the individual developers responsible for those resources' availability.

Thanks Dian, exploited is the keyword I was missing on open source!

 

<snark>I get paid!? Wow, nice to know. If you hadn't told me, I'd have kept on thinking I was doing this for free.</snark>

Reading Butterick's article, I think he has a lot of misconceptions about the open source landscape. Yes, there are a lot of monetarily successful open source projects with paid developers. That's especially true with a lot of the big ones. Still, the truth is that the lion's share of open source software is maintained (and often even run) by volunteers in their spare time.

Also, not all open source projects are run by benevolent dictators. Some are run by formally defined teams or more traditional management structures, and yet are highly successful. For example, Mozilla doesn't have a BDFL, it has formal managers. Yet Firefox is not only Open Source, it is one of the first Open Source projects to ever exist!

Open Source does have a formal "One True Definition", and it's here. Officially, if a project fits those criteria, it is Open Source; if it doesn't, it's not. No further criteria actually exist.

Eric Raymond, who founded the open source movement with his watershed essay (and later, book), "The Cathedral and the Bazaar," does a superb job of further defining how a successful open source project functions; his observations go into a depth that Butterick's statements fail to consider. You can read that entire book on his website.

 

Frankly I'm not expert in Open Source. I use many OS software but never contribute. Instead I give back with lots of writing and hopefully teaching.

I found this idea / definition both interesting and thought provoking.

Classic DEV Post from Oct 9 '18

What are your favorite VueJS libraries?

As my career has progressed I have filling a number of roles; backend(LEMP), th...

metamn profile image
design and code