GNU, Licensing and a Fateful Choice

By پشتیبان هوشمند

To understand part two of this story, we have to go back eight years. On 27 September 1983, a programmer at MIT named Richard Stallman posted an announcement to Usenet groups describing an ambitious plan: to build a complete operating system that anyone could freely use, study, change and share. The project was called GNU.

Stallman's motive was different from Torvalds'. Torvalds was curious and wanted to understand his machine; Stallman was worried about freedom. He had watched software being closed off piece by piece, with users losing the right to see and fix their own tools. To him this was not just a technical issue but an ethical one.

Ready pieces, a missing piece

Through the 1980s, the GNU project and its volunteers built many parts of an operating system: a compiler that turns code into machine language, a text editor, a command shell and dozens of other tools. But one key piece was not ready: the kernel. GNU's own kernel was under way, but it was taking time.

This is where the two stories met. Torvalds' kernel was built with GNU tools and worked with them. Together they formed, for the first time, a complete free operating system. The Free Software Foundation still argues that the right name for the combination is "GNU/Linux", and that naming debate continues among fans today.

A licence with conditions

The first versions of Torvalds' kernel came with a simple licence that had one important restriction: nobody could distribute it for money. That sounded fair at first, but it caused problems. People who wanted to copy the kernel onto physical disks and charge just for the disks and postage were technically not allowed to.

Years earlier, Stallman had designed a different answer for GNU: the GNU General Public License, or GPL, whose second version appeared in June 1991. Its logic is simple and clever. Anyone may use, modify and even sell the software; but if they distribute a modified version, they must share its source code under the same terms. The idea became known as copyleft: instead of using copyright to close software, it uses copyright to keep it open.

A note in version 0.12

In the release notes for kernel version 0.12, in early 1992, Torvalds wrote a section headed "COPYRIGHT". He explained that he had had requests to make the licence compatible with the GNU copyleft, removing the "you may not distribute it for money" condition, and added: "I agree." He proposed that the GNU copyleft take effect from the first of February, pending approval from the people who had helped write the code, and asked anyone with objections to email him.

That small detail matters. Even to change the licence, Torvalds asked his contributors. The spirit we saw in part one carried on here.

The turning point

With the GPL, every contributor received a clear promise: no company could take the collective work, close it and sell it as its own exclusive product. Every published improvement would flow back to the community. That certainty let individuals, and later companies, invest time and money in the kernel with confidence. And because selling was no longer forbidden, the door opened for business.

Lesson for businesses

Set the rules of the game on day one. Contributors, whether volunteers, employees or business partners, invest when they know what will happen to the results of their work.

Second, sometimes the best tool has already been built by someone else. Torvalds did not invent his own licence; he adopted a proven one. Companies don't have to build everything from scratch either.

Third, change shared rules through consultation. When you change rules that affect a community, asking stakeholders costs little and builds a lot of trust.

Next: once freedom and free distribution were settled, a new question arose. If the software is free, who makes money from it? The answer came from companies nobody expected.

منابع / Sources

Reconnecting

The connection to the server was interrupted. Joining again.

Reconnecting

The previous attempt failed. Waiting to try again.

0s · 1 / 30

Could not reconnect

Reload the page to start a new session, or retry the connection.

Session ended

This session is no longer available. Reload the page to continue.

Session paused

The server paused this session. Resume to continue.

Could not resume

Reload the page to start a new session, or retry resume.