Updated

Exploring the Role of GPL and RMS in the Emergence and Evolution of Open Source

A provocative trip into the history of GPL, its author, and their influence on the world.

  • opensource
  • management
  • programming
One marked source block passing its mark down a chain of derivative blocks, with an unmarked branch stopped short

GPL(RMS being its creator) or a General Public License is a software license that basically tells two things: everything licensed under it should be supplied to a user with source code, so that they could read and change it. And every work on top of the work licensed under GPL should be licensed under GPL, so that no closed source code could use it.

Well, to an untrained eye this may seem like an odd thing to do. And to a trained eye this may seem like a right thing to do. It got me thinking, do we need GPL now and more importantly what if GPL hadn’t existed back then?

As of now GPL is continuously losing its popularity, in turn its place is being taken by the MIT license. It’s a very simple license that basically tells: use my code however you want, but don’t forget to mention me, the author. To understand why things are going the way they are going I suggest you dive into history with me.

Was before

It all started with a PC being too much of a treasure. It all started in the era when software was shipped with hardware and written for each hardware set over and over. When all of that is so expensive, how could an ordinary engineer do opensource? To do opensource they needed an opensource hierarchy of software and some costly hardware to work on. It’s like asking a modern data scientist to do ambitious opensource projects right here and right now: where do they get the requisite, I mean big sets of data? It’s available only to large corporations, which simply don’t want to share it for free. The same was back then with software hierarchies.

Believe it or not, at that time there was no Github, not even git, and not even google :) So the level of organization was pretty low and the interface to the world of opensource software was harder to access. It was harder to get into doing some hierarchy of free opensource products accessible to everyone since the threshold for access was high. It actually needed some magic power to force them into doing opensource, that could help them to build a skeleton of opensource.

And the GPL did just that. It forced them to organize and do some opensource. Prior to that when someone posted an opensource project it was honorable for a company to close its source and develop their own version of a product. With all the power that a large company had at the time it was more than easy to do it faster, better and in a more productive way.

So starting a project under GPL banned companies from using free projects and thus gave an impulse to the development of opensource software from the bottom to the top.

And while it was useful at the time, now GPL doesn’t seem the most popular and evident choice. Why?

Is now

You would be surprised that nowadays companies just don’t do business that way. They even seem useful to the community in a major part. They are treated as, and indeed are, legitimate actors of the whole opensource thing. Here’s how this is possible:

  1. The world has seen the power of opensource communication process. Why ruin it when you can just benefit from free workforce and outsourcing of work? Why rush the project’s master when you can just hold and contribute to it?
  2. Tools standardization. Crossplatform development has grown in availability and there’s no need to rewrite everything over and over. That’s why some opensource standardized projects are very handy in this situation. No need to rewrite for each company and for each architecture — standardization. It’s an ordinary consequence of being a more mature industry. Except that in software it’s gone not into a monopoly of some private company but into public opensource projects, and it’s indeed fascinating.
  3. Ease of access to learning opensource technologies. This goes the other way. It’s easier when your technology is in public space. The developers tend to learn it because it’s more accessible and when it’s time to hire some people the majority of the market is proficient in opensource technologies, take it or leave it.
  4. The amount of side modules in a modern product is so large(hi, frontend development) that it’s just easier when someone else manages them. Ordinary globalization with the exception that the quality of such a globalization is often better because of its openness(I agree it may be worse, if a project is not so popular then it is more likely to be maintained badly).
  5. Google, Git, Github are available now and you should never underestimate the ease of access to both devs and companies.

That’s why the GPL now is not much of a help. When every company is eager to help you on your opensource, when every company is a valid actor on the opensource field why fight with them? Let’s use them :)

Linux and GPL

But there are things which need to be clarified: Linux needed GPL. To be more accurate: have you seen a UNIX diagram?

Diagram

Commercial forks against one shared kernel

        UNIX (Bell Labs, proprietary)
        |-- System III -- System V -- AIX, HP-UX, Solaris …
        |-- BSD -- SunOS, NeXTSTEP, 386BSD …
        `-- Xenix -- SCO UNIX …
            each fork closed, each sold against the others

        Linux (GPL)
        `-- one kernel — every improvement
            legally has to flow back upstream

And UNIX was not an open and free OS at all. What to say about Linux which is free and open to everyone. This commercial competition over Linux would have made it insignificant compared to its competitors.

Yeah, maybe right now it’s possible to have an opensource competition over Linux, but who cares? If a branched system is also opensource then it’s not too much of a harm to the community, it actually proves itself useful(this reminds me of an antifragility concept).

What projects need GPL right now

Big ambitious and innovative ones. Just like Linux at the time.

What would the world without GPL look like?

We would have spent much more time on our way to productive opensource. Lots of developers would be lost, lots of projects would be abandoned. It seems like this license gave us the required critical mass to fly up high into the orbit of opensource software. After this companies turned into helpful actors in the field and developers found a way to an open stack.

What does the world look like now?

As it turned out(explained above), corporations are not much of an enemy of open source right now. That’s to say if you want to have a look at what the real enemy is today, then welcome to the club buddy. Spoiler: it’s our data usage by big enterprises.

It also reminded me of the situation in the field of artificial intelligence. Today big corpo dominate there, because they have all three of the required ingredients:

  1. Brains
  2. High end machine power
  3. Lots of data

And here’s the problem: the last two positions of the list are still not publicly available for making an open source artificial intelligence. Maybe as time passes the machine market will grow in power and prices will fall, as it was with personal computers in the good old 80s–90s. However, only companies have these heaps of data collected over the decades of their services used by billions of people on a daily basis.

Conclusion

That’s it. Congratulations on your reading. Now go and make something useful with that knowledge. Write an article or smth.