DEV Community

Fabrizio Cafolla
Fabrizio Cafolla

Posted on • Updated on

Open source is mainstream, and a new era is on the horizon!

Open source is mainstream, and a new era is on the horizon!

Overview

The open source world is mainstream! It has more than two decades behind it now; it came to life in 1998 with the Open Source Initiative (OSI), but back in the mid-1980s the Free Software Foundation (FSF) started the revolution: of software freedom (1).

The term open source may have multiple definitions, but it has constants; it must be:

  • Accessible both source code and compiled
  • Derviable, meaning it can be modified and redistributed (under the same conditions as the original licenses)
  • Nondiscriminatory

As I read and combed through articles and publications, it became clear how the market has changed and is currently in a Renaissance phase.
To make a long story short we can group the phases of software into (2):

  1. Custom software, each company and university developed its software as needed
  2. Commercial off the shelf (COTS), companies created proprietary software protected by license
  3. Software as a Service (Saas), software moved to the cloud, and companies offering it as a service to their customers
  4. Commercial open source software (COSS), is the latest evolution of software, where projects are developed open source but the company also offers cloud solutions (Saas or Pass) for a fee, support, and training (3).

image

Market

The open source market is growing year by year. More companies are creating their business around open source, and more and more investors are investing capital in open companies.

The business of an open company can be different from each other, some companies make money on support, others on a hosted service (SaaS or PaaS), still others use restrictive licenses for commercial use, and finally some offer their core business in open mode but put additional features for a fee (4)

In recent years there has been an increase of companies with an open approach to increasingly increase the interest of investors (5), the list of companies that have raised funds or have made IPOs is long, we can mention Red Hat which can be considered the progenitor. We can name HashiCorp, MongoDB, Gitlab, Docker which completely revolutionized the tech world, CoreOS, Mozilla, Apache. I could go on for a long time, but the point is that everyday companies whether they are giants or startups are producing open source software.

It is wrong to think that open source means free!

Unfortunately, there is still the idea that open is synonymous with free and that companies that base their business on open source are crazy, but there is no more wrong in thinking that way. An open source project can also be a business project (6), like any project that aims to sell it has to answer specific questions and requirements:

  • What is your community?
  • Who are your users?
  • Who are your buyers?
  • How does your software offer a solution by solving the problem?

Once you have answered these questions you need to focus on three key aspects:

  1. Adaptation to the community, interaction from developers to the project must be moderated and solicited. It is assessed by the number of stars, pr, issues, etc...
  2. Adaptation to the product market, adoption by users whether they are tech or not, the product must solve needs and adapt to demands. It can be assessed by downloads or uses
  3. Adaptation to market value, the creation of value based on buyers' interests. It is measured by revenue

image

Pro e Contro

The open source approach benefits everyone, without having to repeat the usual things, open code is more maintainable, it is more secure, it is more scalable, and above all, it is useful to the community which in my opinion is the most important thing.

The philosophy of freedom of use is what is allowing information science to evolve day by day.

The mere fact that millions of people are working on a single project producing secure and reliable software suggests that this approach is the right one.
If we think about PyTorch which a few weeks ago was donated to the Linux Foundation by Meta to make it independent of the corporate vision so that the project can be carried on in total transparency by the community.

Of course, there are downsides to this as well, to make a project open it is not enough to just throw the code on GitHub, that is the first step! To make a project open -in my opinion- you need a vision of the problem the project is going to solve, once you have a clear idea, you need to publish the code of course, but with caveats:

  • Need a user guide for the use
  • Need a guideline and/or procedures for development
  • Need to outline the rules for the integration of code (Pull Request / Merge Request) by the community
  • Need a code of conduct
  • Need to choose the right license for the project and the business idea you want to pursue

These are the first mandatory steps to consider an "open source" project, then there are other aspects and difficulties in running an open project:

  • Coordinating implementations and tasks efficiently, while managing to maintain a balance between business and community needs
  • Managing pr/mr by carefully reviewing code and running automated tests for errors
  • Transparency, you need to engage the community by giving a clear view of the development and release timeline
  • Pay close attention to security issues not only of the code itself but also of installed dependencies
  • Use libraries that are compatible with your license

The open source world is the present and the future for software, it is all very well, but it has its difficulties that one must pay attention to.

Project

With the Italia Opensource project, we are trying to shake up the Italian tech ecosystem, our goal can be divided into two:

  • The first is to give visibility to open source projects developed by Italian companies and/or developers.
  • The second is to give 360-degree visibility to the Italian tech world through open data that provides information about companies, startups, scale-up, incubators, accelerators, events, and more.

The Italy Opensource project is on GitHub and everyone can contribute to add data and information through pr, we are still at the beginning but it is the community response has been strong and in a few weeks we already have many contributors.

https://github.com/italia-opensource

Considerations

I have not spoken to you with numbers, those you can very well find in the resources listed below, mine is meant to be an article to start a debate, spark a discussion, and make it clear that the tech world is going in that direction.

It will surely evolve further in the future, maybe there will be a way to reward open library creators according to usage, maybe ads will be introduced, or maybe there will be a way to reward contributors according to their contributions.

I want to leave you with provocation. We complain that the Italian and European tech ecosystem lags behind the American one, which is true if we consider the degree of digital illiteracy and technologies used (by tech and non-tech companies).
So I ask you how many tech companies in Italy and Europe base their business on the open model?
How many companies contribute to open source projects?

I have my answers, I leave yours to you (in case let me know in the comments).

Ref

  1. Difference between Free software and Open source software
  2. Software Evolution
  3. COSS
  4. COSS Market
  5. VC Investment
  6. OSS Commercialization
  7. OSS Trends

Resources

https://pimcore.com/en/why-open-source

https://www.zdnet.com/article/its-an-open-source-world-78-percent-of-companies-run-open-source-software/

https://www.codemag.com/Article/2009041/When-Open-Source-Came-to-Microsoft

https://linuxfoundation.org/wp-content/uploads/LFResearch_Harvard_Census_II.pdf

https://www.linuxfoundation.org/wp-content/uploads/2020FOSSContributorSurveyReport_121020.pdf

https://www.synopsys.com/content/dam/synopsys/sig-assets/reports/rep-ossra-2022.pdf

Top comments (0)