A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
Innovation in China's IT industry
China is a global IT industry leader, and we shoulder the historical heavy duty of fighting for the survival, development, and improvement of China's IT industry. Taking the path of independent innovation will be the key to winning the competition.
Integrated circuits and software are two pillars of the IT industry. In recent years, China has made innovations in these two pillar industries:
In terms of integrated circuits, the domestic independent development of low-end general microprocessor (CPU), Chip integrated system (SOC), digital signal processor (DSP) and other chips, although the integration of these chips is still relatively low, it is about an order of magnitude worse than the international high level (for example, the Dragon Core II is equivalent to the Pentium IV middle-end, and its integration is about 10 of the 7th power transistor, the international level is 10 to the power of a transistor), but after all, from nothing, we have completed the whole process of the above series of chip development and innovation, that is, completed the scientific research and innovation, design innovation, and the whole process of tool innovation, technological innovation and engineering innovation (it must be pointed out that engineering innovation is much more difficult than scientific research innovation, some people predict that the difficulty of technological innovation is about 10 times that of design innovation. However, after all, we have taken a step in the whole process of innovation, breaking through the strict control of foreign technology, has accumulated valuable engineering experience. The innovation of integrated circuits has started well.
What about domestic software innovation?
System software is the most basic, core, and difficult to innovate. I think it can be represented by software innovation. System software is generally used for operating systems, databases, compilers and tools, programming environments, middleware, etc. the operating system is also in the leading position in system software.
It is difficult for China to develop its own operating system or system software. it must take the path of open-source software innovation and seek opportunities to break through from open-source software innovation; to innovate open-source software, system innovation must be implemented.
At present, although several Linux operating system release versions have been launched in China, their innovative technologies are not high, and they are still in the process of learning and imitating, which lacks in-depth R & D capabilities. In the pilot community development and innovation ("collective development" and "cooperative innovation") stage, some people in China submitted such information to the international open-source community as "Linux Virtual Server (LVS) "," Intrusion Detection System (IDS) "and other modified software packages, but as a social or corporate volunteer to contribute to the international open source community is still very rare; in the subsequent stages of enterprise development and innovation (I .e. "independent development" and "independent innovation"), Chinese enterprises have little engineering experience and have yet to grasp the engineering implementation technology. Some people say that "the development and innovation of system software in China is facing a dilemma." such an estimate seems too pessimistic. I believe that open-source system software in China should move from imitation to innovation, and expand "independent innovation" based on "cooperative innovation ".
To realize the development and innovation of open-source software, you must understand the unique innovative methods of open-source software.
Two symbiotic technologies
People often fall into a misunderstanding: "Open-source software is developed by volunteers from around the world. it complies with the open-source license agreement. all its source code is open and can be freely obtained by anyone ", "The opening of all source code also means that all of its technologies are open." They do not understand that open-source software can no longer be left in its early "ideal kingdom of Freedom", and can only be used as "playings" by "hackers" and "players "; to achieve continuous development of open-source software, you must explore and form your own business model. only open-source software with a business model is mature, and the following contradictions can be handled: it neither discloses all source code in violation of the open-source license agreement, nor discloses its own proprietary technology to keep its own trade secrets. In fact, the technical innovation of open-source software with a business model is not completely manifested in the scientific research and design innovation with the free and open features, that is, it is not completely manifested in the open source code, it is also manifested in technological innovation and engineering innovation that are not open to the public, that is, engineering implementation technology that is irrelevant to source code (that is, proprietary technology and trade secrets. That is to say, all open-source software technologies are composed of open-source technology, which is characterized by open-source code, and open-source engineering technology; or the symbiotic technology of open source software composed of these two technologies. The so-called engineering technology serves productization or commercial applications on the basis that open-source software has completed the development process of its open-source technology (that is, all source code or all technical performance, subsequent technologies that need to be addressed mainly focus on improving operational stability, optimizing computing efficiency, enhancing flexible scalability, improving product quality, and catalytic product maturity. Engineering technology is an implementation technology, optimization technology, implicit technology, mainly manifested as Know-How or Skill) engineering experience, understanding of the underlying technology of the system, and other tacit knowledge.
The engineering technology of open-source software consists of two parts: (1) some implicit design technologies related to design ideas, principles, implementation mechanisms (including algorithms) during development; implementation technologies (including implementation details) related to coordination, coupling, and calls between software modules; open-source Enterprises (service providers) the degree of deviation between the source code of the "kernel branch" release and the source code of the "kernel main line" version of the Official (Official) "Linus Torvalds is responsible for development and monitoring. IT critic Matt Asay pointed out that people can get all the source code of the Red Hat Enterprise Linux release, but IT directly delivers the binary version used by users (the so-called "ready to go" version) these are not the results of source code compilation, but there are some differences (the key is to grasp the degree of difference). This is the trade secret. (2) in the product or application process, to enhance the value-added effect of open-source software, package, configure, and integrate software modules, and analyze and improve the corresponding software system (Profile) the implicit technology involved.
For example, Ubuntu, a foreign open-source software, is one of the 386 Linux releases (including the desktop and server versions. The development and innovation mechanisms of Alibaba Cloud are extremely rapid and popular. Why is Ubuntu so fast and outstanding? I think one of the important reasons is that Ubuntu uses the talents and resources of Debian, the world's largest open-source community. Some people say that "Ubuntu is a Debian-based version" and "Ubuntu is a by-product of Debian. However, Ubuntu believes that "Debian is too broad and complex", which is tailored, transplanted, and innovated on Debian resources to achieve the goal of "less refined. Now with the development of Ubuntu, it does not want to be compatible with Debian or participate in Debian consortium.
Ubuntu has recently recognized that the released version of Ubuntu still needs to be improved in terms of product stability and other performance. it has not yet passed user authentication. This reminds me that the development and innovation mechanism of Ubuntu may still have some problems. they may have more than enough open technology capabilities for collective development, while the engineering technology capabilities for independent development may be insufficient. In February this year, I pointed out these problems to Mark Shuttleworth, the founder of Ubuntu, and won Mark's approval.
Many open-source software that implements the dual-authorization protocol mode may embed a certain level of closed-source software in its hierarchy (Stack), or may append some closed-source component modules, these closed-source software is actually private software, and all technologies of private software are not open, and they will be completely dependent on independent development and innovation.
Dual innovation model
Unlike the proprietary software innovation model of general enterprises, open-source software first adopts a new model of "collective development" and "cooperative innovation" by volunteers, this innovation mode implements "open source code" and "open technology". However, this mode alone is not enough to develop all the symbiotic technologies of open source software (that is, it cannot develop non-open engineering technologies ), it is not enough to launch high-quality and efficient open-source software products with stable operations, more mature technologies, and more competitive power to the market. In fact, open-source software also needs to follow up and supplement the innovative modes of "independent development", "independent innovation", and "having independent intellectual property rights" for development engineering technologies. The dual innovation model of open-source software, the "collective development", "cooperative innovation", "independent development", and "independent innovation" modes are complementary, interconnected, and inseparable; it can also be seen as two stages in the process of open-source software development and innovation.
In recent years, Chinese enterprises have developed and launched a batch of open-source software products to the market, making great strides. However, some enterprises still follow the old closed development model and mechanism, they cut, transplant, or make simple modifications on the "Community Edition". there are not many achievements in independent development and innovation, and they are basically in the learning and imitation stages, they are basically the integration and release vendors of open-source software, not developers. they basically lack in-depth development capabilities. The international open-source community has repeatedly reported that Chinese people submit their own modified and innovative source code lines (to be absorbed) to the community during the "collective development" and "cooperative innovation" activities of open-source software) the contribution to the open-source community Preemption algorithm is still small, so some people think that Chinese people have not yet entered the core circle of this development and innovation model, in addition, there is still a small gap between Chinese people, according to the statistical data on measuring the qualification level of development and innovation personnel.
Two development mechanisms
To accelerate the development of open-source software in China, we need to establish an open-source community to form two mutually supportive and complementary development mechanisms: Community Development and Enterprise Development. community development mainly involves scientific research and innovation, enterprise development is mainly engineering implementation.
In open-source communities, an innovative system featuring "collective development", "cooperative innovation", and "technology openness" is built on a free and open Internet platform, many of the ideas come from bottom-up volunteers. In this innovation system, it can widely absorb the wisdom of the vast majority of volunteers around the world, and often produces a large number of thinking collisions, and often hits a lot of dazzling ideological sparks, often with innovative ideas, there are some breakthroughs in technology, but they are often accompanied by the phenomenon of insufficient system, stability, and maturity. Innovation activities in open-source communities are focused on scientific research, and on scientific research and design innovation. innovation activities in open-source communities must be supported by open-source leaders (or Masters) and a group of core backbone, they are responsible for the software packages submitted by volunteers in the community, further carrying out "package selection, packaging, integration, testing" cycle innovation activities and implementing resource management. In addition to the open-source community innovation system, a follow-up enterprise innovation system is also required to complement each other, the enterprise innovation system is characterized by "independent development", "independent innovation", and "independent intellectual property rights" (technology is not open, it is built on internal enterprise development departments or enterprise LAN platforms. its innovative task is to launch products to the market to meet user needs. The plan is usually top-down, and developers are professional technical teams of enterprises, the innovation activities of enterprises require the support of experienced senior persons (including system architects) and a group of core backbone engineers (it is best to have the experience of participating in community development and innovation and maintain a good interaction interface with them ). Based on the innovative achievements of open-source communities, they focus on engineering, productization, systemization, perfection, stability, and performance optimization, and independently innovate engineering technologies. The innovation activities of enterprises focus on engineering and technological and engineering innovation. In the field of open-source system software, engineering is much more difficult than scientific research. Engineering mainly relies on accumulated experience, proprietary technology (technical know-how), and the wisdom of senior technical backbone (implicit technology ), as well as continuous testing of configuration, integration, and debugging in the test version, from which errors are constantly found and corrected, which is entirely triggered and changed, it is impossible to come up with or write it out.
Product platform and ecosystem
For open-source software, it is not enough to develop or launch a product (release version) in an isolated manner. it is necessary to form an ecosystem around the product platform, that is, to put a large number of software (especially application software) transplanted to this product platform; the product must be pre-installed in some necessary hardware architecture; it must be able to match with many peripheral devices. Transplantation, pre-installation, and matching require a lot of testing, modification, and "re-development" work, involving hundreds of thousands of enterprises working collaboratively, which requires a lot of manpower, material resources, financial resources, and time. To achieve this, we must first develop products that can enter the "mainstream" in the world. Otherwise, it is impossible to attract the support of enterprises and communities around the world to create an ecosystem together. Of course, in the process of creating an ecosystem, we cannot look at this issue from a purely technical point of view. when we strive for support from a wide range of enterprises and communities, in particular, we need to seek support from multinational corporations with rich resources and influences. Therefore, we need to coordinate our work well.
It must also be pointed out that "distributed low-level repetition" makes it difficult for the developed open-source software to occupy the "mainstream products" in the world, to this end, it is very important to strengthen domestic and international cooperation.
Open-source architecture and open-source and closed-source product chain
Open source software LAMP architecture (L-Linux operating system, A-Apache open source server or other open source middleware, M-MySQL or Postgre open source database, P-PHP or Perl, Python scripting language) with simplicity, low cost, and execution flexibility, the success of the "online transaction process (OLTP)" solution in the LAMP architecture has effectively promoted the development of this architecture. The rise of LAMP architecture forms a three-pronged competition with the J2EE architecture (Java programming language) and. Net architecture (C # programming language.
For various information application solutions, open-source product chains formed on the open-source software LAMP architecture need to be integrated, tested, and optimized for development and innovation activities; starting from actual needs, sometimes we also need to launch a product chain for mixed production of open-source and closed-source products. before such a product chain is launched, we also need to carry out corresponding development and innovation activities.
Li Guojie comments:
After reading Lu's masterpiece, I strongly agree with Lu's point of view and hope to publicize Lu's point of view at the media and relevant meetings.
Public opinions in China often oppose open source code and independent innovation, which is a misunderstanding. During the s, China should strengthen independent innovation on the basis of open source code, so that China's software industry has a great leapfrog development like a chip.
Start building with 50+ products and up to 12 months usage for Elastic Compute Service