"Follow" and "Star" us,
Receives each day on the Amazon cloud technology latest information !
The extraordinary 2021 has quietly gone away: the still-spreading epidemic has continued until Log4j's blockbuster at the end of the year. Basically, every major factory is renovating systems overnight to fill security loopholes. Log4j is currently used on millions of machines: it silently records system logs, helps developers find the cause of errors, and is basically an indispensable tool.
However, as a bag with such a large amount of use, only 3 people really support it. Maintenance is basically done by community students working overtime in their spare time. You might be wondering, why is open source software still unfunded if so many people use it? What is the current ecology of the open source environment? From the perspective of the enterprise, we will deeply analyze the following two questions:
- Why do companies open source programs?
- Why enterprises should continue to invest in open source and the dilemma of development**
All software development in the enterprise is carried out with the fundamental goal of making a profit, whether it is open source or not.
Many incomprehensible behaviors and outcomes make sense from this point of view.
Why do companies open source programs?
first reason for 161ed43494c7b6 is that there is no one to maintain it, and at the same time, it feels that there is not much sense in continuing to invest, so I simply throw it out to benefit the community. example, the famous Hadoop had too many bugs and couldn't do it any more, so I just handed it over to the community to see if there are big guys who can fix it and then everyone can use it together. Then it became the foundation of modern distributed computing in the hands of a group of developers. The advantage of this is that it can reduce maintenance costs for the enterprise, and it can also give the company a good reputation for open source innovation.
The second reason is to reduce maintenance costs. and the first reason is that companies have not given up on the software. This kind of software is relatively mature in development and has been widely used in enterprises, but because there is not much room for development, the community is simply asked to maintain it and find bugs together. This is also the model that many companies have chosen at present, but most of them are still large factories. It can help the company develop an ecosystem, so that more developers agree with the company's philosophy, and even become a belief.
third reason is to quickly occupy the market and take advantage of the free advantages of open source software to develop business. This is very common in big factories and startups. First, they quickly enter the market with the advantage of free, and expand the usage of users. In the later stage, a paid version will be launched with its own architecture and platform to help users reduce development and maintenance costs. This kind of software is often still under development, and it can be a win-win to grow the community and reduce development costs at the same time. But this road itself is not very easy, because the immaturity of the program itself brings higher learning and development costs. If you can stick to it, you can achieve long-term profits.
fourth reason is that the open source software itself also serves a certain business of the company. launched an official use kit to help users reduce development costs: by integrating various software and codes, it is convenient for customers to build their own business logic. Strictly speaking, this is not really open source software, although the code is fully public, it actually serves a series of services that companies can make money from. The most common ones are various tutorial code repo, and tool interface repo.
Why should enterprises continue to invest in open source?
In fact, before there was no github, everyone made programs generally made the experience version and the paid version. For example, WinRAR, there is a difference between a paid version and a trial version. Today, there are still many software that choose this path. Later, the company found that made the software open source, everyone could not only use the content of the trial version, but also help to fix bugs together. So why not do it? Many startups have chosen this path to continuously improve their products through open source. At the same time, a relatively mature branch line is developed to improve its own paid version.
The reason why many big companies invest in open source software is that it can help companies make money. If they don't invest in manpower, their own services will also be affected. an open source project, and many companies are actively investing in it. After all, there are paying users who are constantly using it. But the problem is that the company that opened the source didn't make most of the profit itself. Profits have been taken away by platforms with their own traffic.
do open source software is to be able to divert users to its own ecosystem. When Red Hat announced that it would no longer provide a free version of the system, various major manufacturers jumped out and said that they could also provide a free version. The biggest advantage of this is that reduce users' future migration costs, and at the same time, you can add components that are beneficial to your own ecology. example, after a user has been using the Linux OS launched by a major manufacturer for a long time, if he considers going to the cloud in the future, he will definitely choose the major manufacturer that supports the Linux system best: because he does not need to change any configuration, he can simply open an instance and complete it. .
When using TensorFlow, when you are running training and inference tasks, there will be logs suggesting that you use related services in GCP to achieve acceleration. For example, some hardware manufacturers have launched their own open source deep learning frameworks and systems to allow users to enter their own ecosystem. In this way, through a series of operations, users can gradually purchase corresponding charging services and products in the process of using open source software.
The Dilemma of Open Source
Open source is always a double-edged sword. open source is the ability to expand usage and quickly occupy the market. But it will allow peers to quickly enter the market and achieve leadership.
Although some licenses can be used to restrict the company's commercial rights, there is still no way to fundamentally restrict the company's use of it. If the distance between the paid version and the open source version is not large, many small companies often find it difficult to obtain a large profit in this process. But not being able to get a lot of profit does not mean that there is no profit. After all, there are a lot of users, and some customers will choose the paid version to reduce their maintenance costs.
to make an open source software stronger. company itself can serve as an ecological booster. Other companies can also spend a lot of advertising and publicity for their open source products, spending money on events, teaching and buying SEO to attract people. You can even try to join some well-known communities to develop your own ecology, such as the Apache Software Foundation, and participate in the development through the popularity of the community and enterprise connections. Some students may think that wine is not afraid of deep alleys, and really powerful software should be able to catch fire on its own without publicity.
But the reality is, if there is no group behind to invest manpower and publicity, it is really difficult for a software to enter thousands of households. After all, no company is willing to use some software without a huge user base, and have not even heard of this software.
Many excellent open source softwares have stopped in their infancy due to various reasons. For example, the broken capital chain caused by the lack of investor confidence and the departure of core members will destroy the team.
In a large factory, how to define the investment of an open source software is actually very simple: if the ultimate goal is to make money and build an enterprise ecosystem, then the usage is the core KPI.
Like ONNX, if the number of customers using it internally keeps growing, the company has a reason to keep maintaining it. But companies often hope to get a large return on a large investment in a short period of time, that is, to make exponential growth.
In fact, everything has a learning process. Some software has a low learning threshold and can be used quickly, so it can indeed become a software that everyone is using in a short time.
Some software itself is used as a middleware or tool, so it is difficult to accumulate a large number of users in a short period of time. But over time, the increase in the number of users will gradually subtly accelerate the usage of the product. Another pain point in this process comes, how to know how many users use it? The only way to know who is using it is by the developer who came to ask the question. But if the software is doing too well, no user will ask questions.
In this case, there is no way for big manufacturers to make an accurate judgment as to whether the software is successful or not. Of course, if you count the internal users of the company, after all, there are still some ways to confirm whether someone is using it within the company. But if the company's internal usage is not included in the KPI, in fact, the open source development team will really have a very difficult time: the project is likely to cut off funding.
At present, there are not a few software like Log4j. As a leader in open source software, the amount is terrifying, but few people are really willing to invest money to support the development of the project itself. They are often not outstanding by themselves, and cannot be a service or front-end on their own. But it is used in various software and systems. In many cases, it is only the developers of this software who are constantly maintaining it with their own feelings, but how long can this last?
Some software developers have spoken out before, saying that they cannot support themselves by making open source products, and they can only find jobs to support themselves. Fortunately, GitHub now has a reward mechanism, so open source developers still have some ways to get support and income.
open source level
Open source also has levels, and the easiest way to distinguish open source levels is to look at its license.
GPL level: The GPL certificate was initiated by the GNU community and is currently the most extreme open source. The general meaning is that the user can use the software, but the user's own software must also be open source, and all other software that comes with this software must also be open source. In this case, basically everyone has to make the code public. General commercial software tends to avoid open source software involving GPL because it is too extreme. Of course, there have also been cases where it was used secretly and was later reported to be required to disclose the source code.
Apache 2.0 level: Apache 2.0 is a new generation certificate proposed by ASF, and this level is similar to BSD and MIT series. The basic definition is that you can use it casually, and you can also use it for commercial use, but the certificate of the accompanying software is required to be publicized in the software you distribute. compared to GPL. The Apache series of certificates are relatively mild and are also used by mainstream open source software. Nor does it force developers to open source their code.
Company's own certificate level: Each company will also have its own certificate to inform users of the scope of use. For example, you need to pay for the company when you use it, or you can use it for academic development but not for commercial use... This is often just publicizing the code, but it does not mean that you can use it at will. In this case, you need to carefully study the content and terms to ensure that users are Use this software in a reasonable and legal way.
Other types of certificates: When the developer publishes some content such as atlas, works, audio and video, there will also be corresponding certificates to limit the use.
epilogue
The development and expansion of open source software often means a lot of investment, whether it is money or experience. If you want to make an open source product well, you need a team with perseverance and persistence.
For every open source developer, this is destined to be an extraordinary experience: when developers watch the process of users from 0 to 1, from 1 to 10, and from 10 to 50, the joy in their hearts naturally needs no words. Imagine a customer sending a thank you note on GitHub on the occasion of the new year, thanking your software for helping him a lot. There are school research teams who have done a lot of interesting research with your products and shared the articles with you. Someone used your software to successfully make a living for themselves.
Aside from various environmental factors, this may be the source of motivation for an open source developer to be willing to do it selflessly.
about the author
Lan Qing, Amazon Cloud Technology Algorithm Engineer, graduated from Columbia University with a master's degree and a bachelor's degree from the University of Liverpool, UK. Lan Qing is one of the authors of the DJL deep learning framework and a member of the Apache MXNet PPMC. He is proficient in deep learning framework architecture and Java development, and is committed to researching and solving the problems encountered by users in machine learning inference and training.
Leading the way, reshaping the future
2021 Amazon Cloud Technology re:Invent Global Conference
Frontier Trends of Cloud Computing
One stop!
Frontier Trends of Cloud Computing
Scan the QR code below
View full playback
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。