SimplifyC++ Article

Clash of Generations... Who Has the Upper Hand? - Open Source Between Serving the Community and Protecting the Creator’s Rights

By Ayman AlherakiReads: 2Today: 2

I entered the world of programming nearly forty years ago and witnessed several generations of its evolution, from a time when programming knowledge was scarce and expensive to an era where millions of lines of source code are available to everyone with a single click.

Recently, I had a discussion with my children, who belong to the new generation of software engineers, about my project. Should I open-source it now on GitHub so that others can contribute and help it spread faster, or should I keep it closed until it matures and its identity and architecture become firmly established?

Their view leans toward open source. Mine is different: Yes to open source, but not necessarily from day one, and not necessarily for everything.

No one can deny the tremendous impact of open source. It has broken monopolies, spread knowledge, accelerated innovation, and enabled millions of programmers to learn and build products that would once have been difficult or expensive to create.

Yet there is another side of the discussion that does not receive enough attention:

Who pays the price of creativity?

Behind every successful project are thousands of hours of work, years of experience, experimentation, failure, sleepless nights, and research. A project may eventually be used by millions of people and become the foundation of highly profitable commercial products, while its original creator remains dependent on a monthly salary.

This is where we must distinguish between sharing knowledge and giving away the economic value of innovation.

A programmer can share knowledge, write articles and books, provide examples and documentation, and support open standards without being required to surrender the core of a project that may represent years of accumulated experience and effort.

Employment Is Not the Problem

A job can be an excellent school, especially early in a programmer's career. It teaches how real systems are built, how professional teams operate, and how difficult problems are solved in production environments.

But when a creative engineer reaches a stage where they possess:

Experience + Idea + Vision + Ability to Execute

then an important question should be asked:

Will I spend my entire career building assets that belong only to others?

Not everyone should leave employment, and not every programmer is suited for entrepreneurship. But someone who has the ability to create valuable technology or a meaningful product should, at some stage, consider investing part of that accumulated experience into something they also own.

Experience is capital. Time is capital. And the years spent learning, experimenting, and building expertise are also capital.

The Choice Is Not Simply Open or Closed

The discussion is often reduced to two extremes: Open Source or Closed Source.

In reality, many models exist between the two.

A project can remain closed during its foundational stage until its architecture and vision stabilize, and selected parts can then be opened later.

For example, a project may open:

  • Programming interfaces and APIs.
  • Integration tools.
  • Plugins and extensions.
  • Examples and documentation.
  • Selected supporting libraries.

At the same time, the technical core that represents the main intellectual and commercial value of the project can remain protected.

There are also models such as Open Core, Dual Licensing, and Source Available, all of which attempt to balance openness, adoption, collaboration, and economic sustainability.

Open source, therefore, should not be treated as an ideology. It is a strategic decision.

Why I Prefer Not to Open a Project Too Early

In the early stages of any serious project, the vision itself is still evolving.

Architecture changes. Interfaces change. Ideas are refined.

At that stage, a large number of contributors can sometimes become a burden rather than an advantage, because the project first needs a clear identity and a coherent technical direction.

Not every Pull Request adds real value, and the number of stars on GitHub is not necessarily a measure of a project's success.

The more important questions are:

  • Does the project solve a real problem?
  • Does it provide meaningful value?
  • Can it remain sustainable over time?

Visibility matters, but sustainability matters more.

Effort Must Have Value

When I say that effort must have a price, I do not mean money alone.

The return can be recognition, proper attribution, respect for licensing terms, sponsorship, financial support, or the purchase of a commercial edition.

What is unfair is a model in which a creator spends years building something valuable, everyone else benefits freely from it, and the creator still has to spend the rest of their life working for others simply to earn a living.

Open source is excellent when it is a conscious and strategic choice.

But when it becomes a kind of moral pressure that makes creators feel guilty for protecting the rights or commercial value of their work, then something has gone wrong.

Between Two Generations

Perhaps this is where the real generational difference appears.

The new generation grew up in a world of GitHub, open libraries, package managers, shared frameworks, and global collaboration. For them, open participation feels natural.

My generation lived through a time when information, books, algorithms, and source code themselves were valuable and difficult-to-obtain assets. This naturally shaped a different understanding of the value of accumulated technical effort.

The younger generation says: Share so that you can grow and spread.

The older generation says: Protect what you have built so that you can benefit from the fruits of your work.

In my view, wisdom does not lie in one side defeating the other. It lies in combining the strengths of both perspectives:

Share what spreads knowledge and strengthens the ecosystem around your project. Open what helps collaboration and adoption, but do not give away, without careful thought, the core value that took years of your life to create.

Open source is a means, not an end.

Employment is a valuable stage, but not necessarily the final destination.

And a truly creative engineer should not spend an entire lifetime creating value only for others. At some stage, they should also try to build value in something of which they retain meaningful ownership.

Actual visitors 35,636
Visitors today 1,671
Total page views 1,658,195
Page views today 4,886
Book downloads 5,532