The history of free and open source software, including but not limited to GNU and Linux, can be segmented into three distinct generations of programmers and users.
It's 2016, and open source is everywhere you look. The norms, forms and faces of open source have changed so much, in fact, that they seem to signal the rise of a new generation of open source programmers. Here's why.
Lest I ruin anyone's day by appearing to spread falsehoods on the Internet, I will note that the idea of generations is a construct. I realize there is no actual line separating one so-called generation of people from another. I also realize that most of the people who wrote the first free or open source programs several decades ago are still around and coding.
That said, generations are a useful concept for measuring cultural change. If you look at the history of free and open source software from this perspective, I think you can identify three distinct generations.
The first was the Richard Stallman generation, which founded the free software movement in the 1980s. They built GNU and the FSF, which made it possible a decade later for Linux-based operating systems to function. They also tended to view free software as a moral crusade, and they remained relatively marginal within the mainstream technology world.
The second generation was the one that came of age with the Linux kernel. They were the first to have access to free/open source (I know, I am not properly nuancing these terms right now -- sorry) operating systems that actually worked by combining Linus Torvalds's free kernel with GNU utilities.
The second generation was less ideological than the first. Torvalds and his cohorts favored open source primarily for functional, not moral, reasons. They saw it as a more efficient way to code, and a less expensive means of working with computers. But they were still independent, and wary of becoming corporate minions.
The second generation was also the one that brought GNU/Linux mainstream. They wrote the code that made open source operating systems not just functional, but top-tier and competitive with professional closed-source platforms. They also faced bitter battles with Microsoft in the late 1990s and early 2000s, which younger programmers perhaps do not fully appreciate. People who were not active open source programmers or users before the mid-2000s probably take it for granted that they do not have to worry about potentially being sued for using GNU/Linux.
Then there is the third generation of open source programmers. They are the ones who came of age once GNU/Linux was already the defacto operating system for millions of servers, at a time when no one questioned the value of open source code. For this generation, open source is no longer an argument. It's a default.
For that reason, the ideological and functionalist debates have largely disappeared from the scene. Most open source programmers today do not give away code because they think it is the morally right thing to do, or because they deem it more efficient. They do it because there is no real alternative in an increasing number of niches. From the cloud (where OpenStack reigns supreme) to big data (where Hadoop, Spark and a host of NoSQL databases are now conquering the proprietary holdouts) to SDN and NFV, open source dominates. If you want to work in these ecosystems, you have to use open source.
Most open source supporters no doubt see this as a good thing. On the other hand, some may worry that the open source community has lost something by moving beyond the struggles of the first two generations. The trend toward licensing everything under Apache licenses, rather than the GPL, will not please people who think the Apache terms are too liberal.
Similarly, the increasing influence of corporations in the open source space -- heralded most recently by controversy over the Linux Foundation's change to its by-laws -- has caused some tensions within the community.
Last but not least, the open source community's cozying-up to Microsoft in recent years, while seemingly normal to members of the third open source generation, may not sit completely comfortably with people who lived through the struggles of yore.
Has open source really come into a new age, never to go back? And is that a good thing? Those are pretty subjective questions. But I think they are worth pondering, especially as we prepare to commemorate the twenty-fifth anniversary of the Linux kernel.