DEV Community


Posted on • Originally published at

Seven essential qualities of open source

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.

Top comments (6)

dmfay profile image
Dian Fay • Edited

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.

metamn profile image

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.

dmfay profile image
Dian Fay

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.

Thread Thread
metamn profile image

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

codemouse92 profile image
Jason C. McDonald • Edited

<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.

metamn profile image

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.