Due to the shortage of funds, the full-time developer said: This open source software may have no future!

1b29a76d955635a90f378f233b8c7296.gif

Organize | Su Mi

Listing | CSDN (ID: CSDNnews)

Participating in and contributing to open source, although passionate, there are still not a few developers who give up due to the reality of survival.

On July 4th, the well-known open source JPEG image codec libjpeg-turbo released an announcement, officially announcing the arrival of the open source version of libjpeg-turbo 3.0 (https://sourceforge.net/projects/libjpeg-turbo/files/3.0.0/) . Somewhat regrettably, however, libjpeg-turbo lead developer DRC wrote in the announcement, "There may never be a libjpeg-turbo 3.1...I don't expect to get rich from open source development, but many It's also not fair that businesses are profiting handsomely from my work and I'm expected to do it for free."

1575e453b2640f20e3d9e20d9146deb9.png

Ultimately, due to lack of funds, the DRC issued an early warning that further development of libjpeg-turbo functionality may be hindered.

ad56d3db99233ec87d9ee7cfe9464b33.png

What is libjpeg-turbo?

According to its official website, ibjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, AVX2, Neon, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, Arm, and PowerPC systems compression, and accelerated JPEG compression on x86, x86-64, Arm, and PowerPC systems.

According to its official evaluation, libjpeg-turbo is usually 2-6 times faster than libjpeg on such systems, other things being equal. In many cases, the performance of libjpeg-turbo is comparable to that of proprietary high-speed JPEG codecs.

In part, libjpeg-turbo implements the traditional libjpeg API as well as the less powerful but simpler TurboJPEG API. libjpeg-turbo also has color space extensions that allow it to compress/decompress from 32-bit and pixel buffers (RGBX, XBGR, etc.), and has a full-featured Java interface.

With the open source feature, libjpeg-turbo has achieved great success and has been widely used in the industry. The number of Stars on GitHub is 3.3k. And according to the DRC, billions of people use libjpeg-turbo technology every day through web browsers, operating systems, and image viewers/editors.

8d39860bdf6b2cf1d7230a041dbb4a4c.png

The chief developer DRC personally narrates: the open source experience of tearing down the east wall to make up for the west wall

It is this project with a wide audience. If it is not for the persistence of the developers behind it, the latest libjpeg-turbo 3.0 version may almost "die".

In the original plan, libjpeg-turbo 3.0 should have arrived earlier. However, according to the description of the developer DRC, during the release process, the project encountered many challenges, including that the Windows installer of libjpeg-turbo 3.0. These problems are solved.

However, the DRC cautions that "while I do my best to maintain this project with the highest possible quality standards and using industry best practices, I cannot test every possible usage scenario."

Next, DRC said that he will continue to spend time fixing bugs in libjpeg-turbo and release a fixed version.

However, it also admitted that there may not be a libjpeg-turbo 3.1 release in the future, unless this open source project can get more financial support.

In the announcement, DRC also made an account of the project funds:

Currently, libjpeg-turbo project funds can only provide about 8-10 hours of labor compensation per month.

After completing the 3.0 beta version, the entire budget for the 2023 project was spent.

Subsequent fixes for all 3.0 Beta bugs are expected to consume the entire budget until September 2024.

If money doesn't improve, libjpeg-turbo is effectively in "maintenance mode". This means that no new features (even minor ones) can be considered and technical support will be limited for at least the next 15 months.

For DRC himself, as a full-time open source developer, he mainly makes a living maintaining three open source projects on a daily basis, including the open source program that enables any Linux or Unix remote display software to run OpenGL applications in a fully hardware accelerated manner Packages VirtualGL, TurboVNC and libjpeg-turbo mentioned today.

Compared with the two projects of VirtualGL and TurboVNC, the contribution of DRC to the libjpeg-turbo open source project can be said to make no money and pay a lot of money to it.

DRC said that most of its income mainly comes from the two projects of VirtualGL and TurboVNC, and then he took these income and his own time to invest in libjpeg-turbo development. In fact, libjpeg-turbo cost hundreds of thousands of dollars from 2010 to 2018. Later, when the release of libjpeg-turbo 2.0 in 2018 caused DRC to be heavily in debt, he had to stop throwing money into it.

These open-source projects have saved companies millions of dollars in labor and IT costs, but DRC says his take-home pay is less than that of a budding teacher.

“The money I make through independent open source development is about 20-25% of the value of my skills to corporate employers, and I have turned down countless offers from such employers over the years in order to continue working on these OSS projects full-time. I It's not expected to get rich from open source development, but it's also not fair that a lot of organizations profit handsomely from my work and I'm expected to do it for free," DRC said.

b0b6f510237215f2c71f5896e0fca6ef.png

How should libjpeg-turbo continue in the future?

After DRC went into debt in 2018, the project survived for a few years because libjpeg-turbo received some temporary funding from Cendio AB and Crimson Vista companies, Google, and some temporary contributions from users.

However, the DRC said that current funding is only sufficient to cover maintenance and support costs for the project. For libjpeg-turbo to move forward in any meaningful way, including expanding the coverage of the JPEG specification by the project itself, extending SIMD coverage to new algorithms or instruction sets or CPU architectures, supporting new platforms, improving APIs, hardening Security, increased fuzzer coverage, enhanced build systems, increased automation, etc., all require more general-purpose funding.

In a worst-case scenario (the one we are in now), the DRC believes that current funding is only likely to keep the project alive for more than a year.

The DRC states, "Ironically the most popular/ubiquitous open source project I maintain (is harder to fund than others. Maybe the JPEG codec isn't 'sexy' enough? Maybe people take it for granted, Because its complexity is hidden behind higher-level interfaces and applications? Still, organizations developing these higher-level interfaces and applications should not take libjpeg-turbo for granted, especially when I recently expected a free fix When most issues are security related."

Regarding the future of libjpeg-turbo, DRC didn't think of other ways besides accepting donations. He even thought that if the project could be acquired by an organization that has nothing to do with the operating system and has nothing to do with the CPU (although it is not realistic) , which may make sense for the survival and openness of libjpeg-turbo.

However, when looking back over the past 13 years at the enormous value it has built into libjpeg-turbo—including its reputation, its ubiquity, and its user community—DRC is caught in the middle of a paradox, and he doesn't quite Hope this kind of acquisition happens, after all libjpeg-turbo is obviously not a cash cow.

In desperation, libjpeg-turbo has three paths in the future. One is to develop libjpeg-turbo more comprehensively with sufficient funds; the other is to be acquired or put the project on maintenance in the foreseeable future mode; three is the worst one, based on the current situation continuing, there will be no future.

8d075c8c58e6ccb3e728b6e07e07d337.png

Open source developers who use "love" to generate electricity, how should they go?

Sadly, the experience of DRC is not an accidental event in the open source community.

  • At the end of 2021, a high-risk vulnerability of the Java-based logging tool  Apache Log4j2  swept the Internet, and even pushed the project maintainers behind it to the top of public opinion. Volkan Yazıcı, one of the Log4j2 maintainers, couldn’t bear it anymore and complained on Twitter, “There are only a few Log4j2 maintainers. I was scolded by a bunch of people leaving messages in the warehouse."

161ee287bd5d5c37185aa38ca04ff9fd.png

  • In 2022,  Marak Squires  , the author of the open source libraries "faker. Support Fortune 500 (and other small companies), use this as an opportunity to send me a six-figure annual contract, or fork the project and get other people involved," expressing his grievances.

  • In February 2023, Denis Pushkarev, the author of core-js, published a long article saying that after giving up his high-paying job and engaging in core-js open source development full-time, he found that the foundation of free and open source software had collapsed. It was the biggest mistake of my life."

According to the "2022-2023 Chinese Developer Survey" report, 63% of developers said they had never earned income from open source, and 18% of respondents said they rarely earned income.

d06ab26da11a2db71edd43f55ce6221d.png

For this reason, how to effectively improve the current situation of open source purely relying on "power generation with love"?

In fact, many organizations have also realized the problem and started to take improvement measures. As previously reported by CSDN:

  • Swedish streaming giant Spotify has launched a €100,000 ($105,000) free and open source software fund to support small "independent" project maintainers.

  • Open source backend services startup Appwrite has launched a dedicated fund for open source project maintainers, the Open Source Software Fund, which will pay open source maintainers $50,000 last year.

Of course, although these measures have been implemented, the entire industry and more companies need to act. But for individual developers, what should they do? We also asked ChatGPT about this, and it summarized and shared the following years of proactive advice for reference:

  1. Open source sponsorship platform : Open source projects can obtain financial support through the open source sponsorship platform. Platforms such as GitHub Sponsors and Open Collective provide mechanisms for directly sponsoring open source projects. Open source maintainers can set up sponsorship programs within their projects and offer backers some perks, such as exclusive access, technical support, or special recognition.

  2. Consulting and consulting services : Open source developers can offer consulting and consulting services that turn their expertise in project development and maintenance into a revenue stream. They can provide technical consulting, custom development, training and other services to help other organizations or individuals apply open source technologies in specific fields.

  3. Professional support and maintenance services: Open source projects can provide professional support and maintenance services in order to generate income. This includes providing services such as custom development, upgrades and maintenance for enterprises to ensure that they can use open source software smoothly in production environments.

  4. Product and plug-in development: Open source developers can build their own products or plug-ins based on open source projects and earn income by selling these products. They can develop specific solutions for specific industries or user groups and offer pricing models such as license fees or subscription models.

  5. Participate in employer sponsorship : Open source developers can partner with employers to continue contributing to open source projects during working hours. Some companies encourage employees to participate in open source projects, viewing them as opportunities for technical growth and branding.

  6. Open Source Foundations and Organizations: Join or work with open source foundations and organizations, which often have funding programs designed to fund the development and maintenance of open source projects. These foundations can provide developers with funding, resources, and networking support.

  7. Business partnerships and sponsors: Establish business partnerships with companies, seek sponsorship and cooperation opportunities. Businesses may be interested in areas related to open source projects and offer sponsorships, advertising support, or partnerships to promote their business.

It is important to note that the sustainability and success of an open source project does not depend solely on a single source of income, but requires a combination of approaches and strategies. Open source developers can explore and combine multiple income models suitable for their own projects and communities to ensure the sustainable development of the project and generate income for themselves. In addition, community and industry support is also very important, including various sponsorships, awards and recognition measures to encourage and celebrate the contributions of open source developers.

reference:

https://groups.google.com/g/libjpeg-turbo-announce/c/YZ2wRgB0zIE/m/UOjrm9quBQAJ

https://www.phoronix.com/news/libjpeg-turbo-3.0-Released

6efbd4b5bd981ce788742f720a065e82.png

Guess you like

Origin blog.csdn.net/FL63Zv9Zou86950w/article/details/131606327