This is a part of series of my posts related to opensource. See more here.
- Everything licensed under it should be supplied to a user with a source code. So that he could read and change it.
- 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 trained eye this may seem like a right thing to do. It made me thinking, do we need GPL now and more importantly what if GPL wouldn’t existed back then?
As of now GPL is continuously loosing its popularity, in turn its place is being taken by MIT license. It’s a very simple license that basically tells: use my code however you want, but don’t forget to mention me, author. To understand why things are going the way they are going I suggest you to dive into history with me.
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 ordinary engineer do opensource? To do opensource they needed 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 a 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 a git, and not even a 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 large company had at the time it was more than easier 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 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?
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 and indeed they are an legitimate actors of the whole opensource thing. Here’s how this is possible:
- The world has seen the power of opensource communication process. Why ruining 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?
- 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 is 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 to monopoly of some private company but into public opensource projects, and it’s indeed fascinating.
- 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.
- The amount of side modules in modern product is so large(hi, frontend development) that it’s just easier when someone else manages them. Ordinary globalization with exception that 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 probable to be maintained bad).
- Google, Git, Github is available now and you should never underestimate ease of access to both devs and companies.
That’s why the GPL now is not much of a help. When every company eager to help you on your opensource, when every company is 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?
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 made it insignificant comparing to it’s competitors.
Yeah, maybe right now its possible to have an opensource competition over Linux, but who cares? If branched system is also opensource then it’s not too much of a harm to a community, it’s actually proves itself being useful(this reminds me of an antifragility concept).
GPL says nothing about selling the software, this means that Linux can be sold if you want it so, but you should provide source code alongside with binaries. This feature is successfully used by RedHat in its business model.
What projects need GPL right now
Big ambitious and innovative ones. Just like Linux at the time.
What would the world without a 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 on the orbit of opensource software. After this companies turned into helpful actors in the field and developers found a way to open stack.
What does the world looks like now?
As it turned out(explained above), corporations are not much of an enemies of open source right now. That’s to say if you want to have a look at what is the real enemy 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 a required ingredients:
2. High end machine power
3. Lots of data
And here’s the problem: the last two positions of the list are still not available in public for making an open source artificial intelligence. Maybe as time passes machine market will grow in power and prices will fall, as it was with personal computers in old good 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.
So what should we do with this? My suggestion: create GPL for data. It’s obvious, and like with any obvious thing there’s a problem with it: different countries have different data usage policies, so it’s nearly impossible right now. Anyways see this for more.
That’s it. Congratulations on your reading.
Now go and make something useful with that knowledge.
Write an article or smth.