The open source model is no simpler than the traditional commercial software model.

Editor’s note: This article is from WeChat public number “CSDN” (ID:CSDNnews) , author | Gu Yu, Editor | Hu Wei.

Many startups are troubled by how to design a business model for open source projects. The following content is the author’s current exploration of this issue, and the right to use it.

Open source license

Since we decided that the “Milvus Vector Search Engine” (the author’s company is open source on GitHub) to open source, the first step is to choose the appropriate open source license. Although RMS, the founder of free software, once advocated the Copyleft concept, Copyleft is also a special kind of Copyright.

So, what is an open source license? Simply put, a license can be called an open source license as long as it is certified by OSI (Open Source Initiative). OSI has a dedicated process to review whether a license is compliant with the Open Source Definition.

For example, MongoDB’s newly designed SSPL (Sever Side Public License), before completing OSI certification, MongoDB can only say that its license is source available, and can’t say that it is open source (of course, this limit It is an industry practice and is not mandatory).

The current mainstream open source license can be found on the OSI website. There are also many articles on the Internet to compare the differences between licenses (please refer to the blog of Teacher Yi Yifeng), I will not repeat them one by one.

This is mainly about the choice of open source licenses in conjunction with our own situation. The open source license is simple, it can be divided into three files:

• Strict, represented by GPL 2.0 license, typical software is MySQL

• Moderate, represented by the Apache 2.0 license, is currently the most widely used

• Loose, represented by BSD, MIT, PostgreSQL license, typical software is PostgreSQL

Friends who are familiar with the database must know about MySQL and PostgreSQL. MySQL is the most popular open source database, but PostgreSQL is the most open source database for derivative projects. Today’s new projects rarely use the GPL 2.0 license, and its contagiousness should be the most worrying place for everyone.

The license for the MIT/BSD class is a good choice for promoting basic technologies. There may be very few people using FreeBSD now. But it is also constantly evolving because of the very loose 2-Clause-BSD license, FreeBSD is used by many vendors to develop their own closed source systems.

For example, Sony’s Play Station 3 and 4 systems are based on FreeBSD, as well as Nintendo’s Swtich consoles.

Redis also uses a loose 3-Clause-BSD license (more restrictions on the use of trademarks than 2-Clause). However, the license for Redis’ entire toolchain is complex.

After Redis switched licenses for some components, it caused a lot of misunderstanding in the industry. Therefore, it is a bit sensitive to tighten the license in the middle.

100 dollars a line of code, open source software to make money?

Redis License Matrix Looks Complicated

If the policy is too urgent, the policy is too slow. Then choose the middle of Apache 2.0. Apache 2.0 is currently the default open source license recommended by the Apache Foundation and the CNCF Foundation.

100 dollars a line of code, open source software to make money?

A brief description of the Apache 2.0 license on the GitHub website

Apache 2.0 does not restrict commercial use like other open source licenses, and patent licenses are included by default. However, Apache 2.0 also specifies the disclaimer of software vendors under this open source license. This is the legal basis for open source software companies to offer subscription value-added services.

But even with the mature open source license of Apache 2.0, everyone still has a concern: public cloud.

Need to protect public cloud vendors?

The relationship between open source software and public cloud has been a bit nervous for the past two years. A popular view is that public cloud intubation is a blood-sucking open source software, and there is not much contribution to the open source community.

Many open source projects are looking for ways to protect themselves in front of the public cloud. After all, the emergence of public clouds has disrupted the original open source business model to some extent. End-users have secured protection from public cloud providers by purchasing cloud services, and open source vendors have been circumvented.

So, Common Clause came into being. Common Clause is an additional clause and open source vendors still need to choose a basic master license. The final form is similar: Apache 2.0 + Common Clause 1.0.

Common Clause is more refined, with only 3 sentences in total.

Common Clause mainly prohibits others from using open source software to profit without increasing the value of open source software. Its limitations are mainly reflected in the following three points:

100 dollars a line of code, open source software to make money?

Assume that a third party builds a complete set of user-oriented applications based on open source software. This new application adds value to the original open source software, so the new application is not subject to any restrictions. This ensures that the relationship between open source vendors and partners will not be affected.

However, Common Clause is not OSI certified, so after adding Common Clause, it is recommended to just say that it is source available. Although it will cause some controversy, the addition of Common Clause to start-up open source projects seems to be being understood by more and more people.

However, our open source project is not intended to add Common Clause. There are two important reasons.

Inspiration from MongoDB

MongoDB is an example of a successful open source project. MongoDB used the AGPL 3.0 license from the start. If the public cloud wants to use MongoDB to provide services, the public cloud vendor needs to publish the source code of the underlying service. So AWS,Azure, Google Cloud and other public clouds in the United States have chosen to develop their own document databases.

And outside the United States, MongoDB has difficulty protecting itself with legal weapons. In October 2018, when MongoDB revised the license for the new version, it again complained about the public cloud vendors’ infringement of MongoDB’s interests, mainly referring to public cloud vendors outside the United States.

Therefore, it is difficult for open source infrastructure software companies around the world to fully protect themselves with a single license.

On the other hand, when AWS has DynamoDB; Azure has Cosmos DB; and Google Cloud has Cloud Firestore, the document database is no longer MongoDB. In the post-mobile Internet wave, MongoDB Mobile on the mobile side did not achieve the expected impact.

After all, the mobile document database such as Realm can be directly synchronized with multiple public cloud document databases, which greatly facilitates mobile developers. In April 2019, MongoDB acquired Realm for $39 million.

It is worthwhile to prevent others from affecting their own development space. Is it worth it? The answer varies from person to person, and open source projects need to make a choice based on their own situation.

The new strategy of Siye

According to consulting firm Gartner, Google Cloud accounted for 4.0% of the public cloud IaaS market in 2018, ranking fourth in the world. Still not a fraction of the boss’s AWS market share (47.8%). Google Cloud wants to catch up, what should he do?

At this year’s Google Cloud Next conference, the newly appointed Google Cloud CEO invited Redis Lab CEO and MongoDB CEO to help the platform.

At the conference, Google Cloud launched Redis’ hosting service, and MongoDB went to Google Cloud Marketplace. Subsequent MongoDB’s Atlas cloud service also worked with Google Cloud.

Redis and MongoDB have significant technical influence in the open source world and the Internet industry. And they are two of the open source circles that have more guns for public cloud vendors.

They recently revised their licenses for public cloud vendors. thereforeThe information conveyed at the Google Cloud Next conference is very interesting.

Working with mature open source vendors seems like a new strategy for Google Cloud. This road is worth a try. After all, the fourth is probably difficult to use the boss’s method to defeat the boss.

Qi Baishi once said, “Learning my life, like my death.” Google Cloud first wanted to understand. I believe that more and more public cloud vendors will want to understand this issue and choose to cooperate with mature open source vendors. Therefore, for open source basic software, the most urgent task is to improve its maturity, and the prevention can be temporarily put aside.

Commercial Design

in In the previous article, , we mentioned that “the Apache Foundation has 190 million lines of code. According to the COCOMO II model, the development cost of these codes exceeds $20 billion (2019 annual report).” So every line of code The development cost is over $100. So don’t feel that open source software should be free to use.

Typical open source business model

The current mature open source software business models are as follows:

•Subscription Services: Open source licenses remove vendor responsibility for software quality and software defect fixes. These are all necessary for enterprise applications. Therefore, the most natural business model is to provide software subscription services to provide users with production-level service support responses and hotfix fixes.

•Advanced features: like Redis. The components of the core are open source. But tool-based software, advanced features (such as multi-tenancy, shared-nothing distributed architecture, etc.) are all charged.

•Cloud services: such as Databricks. Spark is open source, but the paid version only provides cloud services on Azure and AWS.

•Ecological benefits (only oversizedSource vendors: For example, Wall Street analysts estimate that Google pays nearly $10 billion a year to Apple for the default search engine entry on the iPhone. Think about how much money Android saves for Google?

There are two major challenges in the software world: one is project management for large software systems (the myth of man and moon), and the other is software pricing.

About project management, there has been a lot of research and practice, and everyone has a reference. There are no mature formulas and models for software pricing.

But at least for the pricing of open source software, avoid the following two pits:

•Set a high price and make a 1% discount

•Do not use subscription mode

These are models of traditional commercial software. Traditional commercial software is provided to customers by assets, and open source software is provided to users.

What if a large user asks for a buyout of the software? Large users tend to pay for one-time, not that they like to buy a bunch of software assets. The reason behind this is the hardware and software procurement process within large users, which requires the involvement of procurement personnel and IT technicians.

The purchase is not the job of the technician, nor the audit after the event. Therefore, technicians prefer a one-time buyout to save future troubles. Please remind them that open source software provides services, services can not be bought out, should go more convenient service procurement process.

Learn from AWS

The commercialization of basic software is a very challenging thing. Fortunately, there are many mature companies for our reference. If Oracle is a traditional commercial software company that must be studied, then AWS is undoubtedly a cloud service company that must learn well.

I just said that there are no mature formulas and models for software pricing? In fact, AWS has helped everyone explore the pricing of a public cloud software.

The AWS Aurora database is said to be the fastest growing and most profitable cloud service on AWS. Aurora is a very innovative cloud native database that brings out a lot of followers. According to official promotion:

Amazon Aurora is up to five times faster than the standard MySQL database and three times the standard PostgreSQL database.

It can achieve the security, availability and reliability of commercial databases at a cost of only 1/10 of the commercial database. (quoted from https://aws.amazon.com/cn/rds/aurora/ )

So such a technology is so advanced on the cloudHow is the database priced? The following compares the pricing between all optional instance specifications of Aurora MySQL and RDS MySQL:

100 dollars a line of code, open source software to make money?

Of course, the technical implementation of Aurora MySQL and RDS MySQL is not the same, and the hardware required for the same instance specification cannot be simply equated.

However, given the size of AWS itself, the cost of hardware differences between the two should be minimal. Approximately 20% of the premium can be thought of as coming from Aurora MySQL software.

How to price the public cloud market on the basic software, there is finally a reference.

Postscript

Although I wrote two articles, it only covered a small part of open source. The open source model is no simpler than the traditional commercial software model.

The key community operations and developer ecosystems are still being explored. One day we will form our own methods and styles, and we will share them with you. I hope that the domestic basic software peers can make progress together.

The cover image is from pexels