如果吃白食不付钱,就停止提供支持:Apache PLC4X开源维护者Christofer Dutz - 知乎

Apache PLC4X的创建者声称将停止免费支持,要求其开发工作有回报。

又一位开源软件开发人员厌倦了许多公司这副难看的吃相:享用他帮助维护的代码,却分文不掏来支持该项目。

周二,Apache PLC4X的创建者Christofer Dutz表示,如果企业用户不积极掏钱包,他将停止为软件提供社区支持。

他在GitHub上所发的一篇文章中写道:“这个行业似乎喜欢使用PLC4X和普通的开源软件,但似乎并不愿意支持开发这些软件的人。所以,我将停止为PLC4X提供免费的社区支持。”

Dutz是Apache PLC4X六位公示的维护者之一,这套软件库用于与可编程逻辑控制器进行联系,而可编程逻辑控制器是针对特定行业的设备,用于众多生产制造任务的自动化。他在Apache基金会下提供的支持工作得不到资金支持;他另外开有一家名为c-ware的IT咨询公司,帮助许多公司设计和实施PLC4X软件,以适应客户各自的业务。

C-ware已发起了几项众筹活动,以便针对Python、Rust和TypeScript改动Apache PLC4X,还进行了其他改进,但这些活动几乎没吸引到任何资金支持。

最后,缺乏众筹人气或企业支持促使他寻求退出。

他写道:“这是我最后的尝试了。如果这也无法帮助我付出的辛勤工作获得至少某种形式的资金支持,我将停掉我这份工作,我这边将不再提供任何形式的支持。”

鉴于他声称通过运行Apache PLC4X可获得大量的潜在价值,这种缺乏资金支持的窘境尤其刺眼。他在之前的一篇博文中描述了使用该软件为一个数据收集系统设计原型的案例,该软件为这个未透露姓名的客户省下了2000万欧元。

就在Dutz发出求救呼号声前几天,另一位开源开发人员Marak Squires破坏了他自己的两个项目。九个月前,Squires抱怨使用开源软件的那些人不愿意为此掏钱。

承担费用

一些软件开发人员原先信奉这个想法:为了社区利益,从事几乎没什么报酬的开发工作,但在过去这几年,他们开始质疑自己创造的价值不公平分配以及有人利用他们付出的时间和专长大捞一笔。

所谓的开源可持续性问题已经大范围显露出来,亚马逊之类的公司备受指责,因为它们利用开源项目,扼杀Elasticsearch和MongoDB等较小的竞争对手。不久前,批评人士要求更好的安全性,自己却没有做出任何贡献,其中一位维护者奋力回击,Log4j漏洞此后被披露——这与2014年Heartbleed漏洞重创OpenSSL时发生的情形如出一辙。对于许多不太知名的项目来说,这个问题仍未得到解决。

GitHub的开源项目经理Devon Zuegel在2019年发表了一篇关于该主题的文章,他写道:“开源软件(OSS)无处不在,但它缺乏财力和人力资源。开发人员和公司企业受益于充满活力的OSS生态系统,但他们缺乏相应的激励机制来贡献时间和资金,以创建和维护项目。这极大地限制了OSS的价值,尽管OSS大有潜力。”

GitHub实际上采取了行动,以期解决这个问题:它在2020年12月推出了GitHub Sponsors,早一年前推出了测试版。现在有类似的方案,比如OpenCollective的Funds for Open Source,以及开发人员使用npm来安装软件包时,提示给予资金支持,但这些努力掩盖了酌情支付背地里剥削的性质。

它们比一些公司举办的竞赛好不了多少,一些公司搞比赛,无非是为了获得创意软件作品的所有权,只是向少数参与者支付象征性的金钱奖励,远低于软件作品具有的市场价值。捐款相当于救生用具,扔给所有那些踩水的人当中的少数者,而不是做出惠及所有开发人员的举动。

在其他形式的劳动中,补偿通常通过合同提前加以声明,这通常名为工资。有佣金安排,销售人员理应获得预先声明的销售额提成。而一些行业还有小费或赏钱,因此可以将劳动力成本转移到客户头上。

但是软件开发人员甚至没有稳定的小费,其中许多开发人员现在参与了无偿创建和维护关键代码基础设施的工作;相比之下,由于社会习俗、大方的顾客以及应用程序界面的暗黑模式(dark pattern),餐馆员工和外卖小哥可以合理要求小费。

相反,开源开发人员发现自己掉入了不是撑死就是饿死的模式,Spotify和App Store之类的平台重新定义了数字商品的销售方式。虽说幸运儿每年可以通过GitHub Sponsors等计划进账超过100000美元,但这毕竟是少数。

回报低得惊人

2019年,开发人员André Saltz查看了来自OpenCollective和GitHub的现有的捐款数据。那年他在一篇博文中写道:“我发现结果令人震惊,有两个明显可持续发展的开源项目,但我们通常认为可持续发展的大多数项目(八成以上)实际获得的收入低于行业标准,甚至低于贫困线。”

2020年,Spotify上收入最高的2%之外的音乐艺术家每月来自作品的进账为约12美元至15美元,少得可怜。Spotify创始人Daniel Elk凭借这一招:汇集所有受版权保护的内容,然后将其提供给订户,现在坐拥数十亿美元的净资产。

科幻小说作家William Gibson对未来有过一句著名的言论:未来已经到来,只是分布不是很均匀,事实证明经济补偿方面确实如此。

IT外媒The Register向大名鼎鼎的开源开发人员Feross Aboukhadijeh询问Log4j争论背景下的开源可持续性时,他推测,开源开发人员在寻求补偿方面面临的问题将以替代软件许可证的方式来解决。

也许我们会看到更多的许可证出现,在使用方面限定条件,比如游戏工具开发商Unity提供的许可证:如果你用它来开发每年总收入低于100000美元的游戏,软件可免费使用。如果你的项目到头来赚到更多的钱,就需要支付许可费。

要么是这样,要么仰仗陌生人发善意,因为在监管瘫痪的时期想让政府干预,那无异于痴心妄想;如果真发生这一幕,恐怕也只会让情况变得更糟糕。

Apache PLC4X的创建者Christofer Dutz发布的原文《Your free trial version of “open-source” has expired, please update to a commercial plan》


TL/DR


Working on Apache PLC4X is a huge amount of work and it’s expensive, as it requires purchasing expensive hard- and software. The industry seems to like using PLC4X and open-source in general, but doesn’t seem to be willing to support the people working on it. So, I will stop providing free community support for PLC4X.

You will be able to get commercial consulting, training and support from me via my website at https://c-ware.de and beyond that I have added a crowd-funding-like system for PLC4X feature development. Feel free to have a look at the currently listed initiatives here: https://c-ware.de/en/cf-listing-page/

This is my final attempt. If this also doesn’t help with getting at least some form of financial attribution for my hard work, I will close down my business and there will be no further form of support from my side.

Long version

I started working on what was to become Apache PLC4X about 10 years ago (way before Industry 4.0 was a thing), but I gave up on it after a few months of working really hard on it. At that time I wanted to provide Software for the automation industry, but my plans were to implement my own proprietary software stack for industrial communication, which only I could use to build custom solutions (This being my USP). However, I noticed quickly that this is a huge undertaking - nothing a single person could possibly implement all on his own. I finally decided to take a full employment position and give up on this idea.

About 5 years later all of this "Industry 4.0" was popping up everywhere. I was seeing a big opportunity for making production more efficient, wasting less resources and even making products live longer.

Unfortunately, I was only seeing super expensive solutions provided by the major automation vendors. The price tags of all of these were usually somewhere around 10k€ per user per year. I knew smaller companies wouldn’t be able to participate in the quest for digitizing their production as the license costs for these products would simply be eating up what the improvements could possibly bring them.

However, I knew open-source had all the tools needed for digitizing automation processes - If there only was a way to access the data on the production machinery.

Industrial automation was and still is using a huge number of specialized protocols for which only for some there were at least a few badly licensed open-source libraries (from a business perspective) or commercial libraries available. The commercial ones having average price-tags of 4k€ per node running a driver. This was when I remembered what I had been working on 5 years before. However, this time I didn’t want to do it all on my own, I wanted to do it the open-source way.

Luckily my former employer: codecentric believed in my vision of enabling companies to digitize their processes using open-source, and I was allowed to work fulltime on Apache PLC4X for about 3,5 years. It was the general idea to earn money with training and consulting in this area, based on the open-source expertise that was available in the company (Industrial connectivity, big-data, machine-learning, augmented-/virtual-reality, digitization in general).

In Christian Glomb’s talk (Siemens) at 2021s EclipseCon, he stated that over 50% of each industrial IoT projects costs were data-integration costs. This huge block is what Apache PLC4X aims at reducing drastically. So generally this hope was justified.

Like with typical Machine-Learning and AI projects, the job of the data-engineer is the least fun part and everyone wants to be a data-scientist, that works with a magically curated data-lake. This is the same with industrial data-integration. Most focus goes onto the projects that allow you to do great things with industrial data, however almost nobody is willing to work on the part of actually getting the data.

Unfortunately, we couldn’t have imagined how hard it is to grab hold in the automation industry market. Every POC we did was a huge success. Here I’m not talking about simply achieving the customer’s goal, it was more: drastically exceeding these expectations: Like being able to save 20.000.000€ in license costs compared to the commercial solution, being 130 times more performant than the commercial solution, or providing extremely secure unlimited real-time data for machine learning where the fastest industrial solution cost 100.000€ and more per machine in license costs and allowed only 10k data-points with a latency of a few minutes. (See: the success-stories post for details)

Believe it, or not. We still failed at getting customers to go beyond our incredibly successful POCs. I’ll write a separate article on this. What we were told off the record was, in every case things didn’t proceed due to politics and not our performance.

To make things worse, due to the NDA’s we had to sign everywhere, we couldn’t even openly talk about our success. Everything in the automation industry is considered top-secret, even simply telling the world that you’re using a given product seems to be impossible. But on the other side, "Who uses your stuff?" was the most important question we were asked during every pitch we did. Answering with: "Quite a lot, but I’m not allowed to tell you who and how" doesn’t really help.

I took every opportunity to talk at conferences, publish articles in magazines or write blog posts. I think in the pre-pandemic times I had an average of 26 talks per year at different national and international conferences and meetups. During pandemic times, the talks were less frequent, but I took every chance at talking at meetups and conferences I wouldn’t have been able to talk at otherwise. IT folks were definitely picking up on the stuff I was talking about.

We still failed miserably: On the one side there’s no point in convincing the IT folks that what you’ve got to offer is awesome, if the OT folks don’t know about it. The OT folks are the ones doing the decisions. Everything in the OT world is pay-to-play. You’ll never get an article posted in an OT magazine, if you don’t pay for it. In the OT world there are also almost no conferences, like in the IT world. Everything is about industrial fairs with extremely expensive booths. The budgets the big players have at their disposal are simply unbelievable. As an open-source project you have no chance of being noticed at all.

Ironically most requests for help on our mailing-list were like: “Thank you for providing this awesome PLC4X. It’s making our lives so much easier. So we’re using it in one of our countries biggest {steel melting plants}/{aerospace companies}/{car manufacturers}/{pharmazeutical companies}/… and have this problem … “ sent from email addresses like: john.doe@aol.com. They all wanted help. Help for free and didn’t even have the decency of mentioning what company they were working for.

So, in 2020 (I know … this was a pretty “sub-optimal” year all together) I had to decide. Either give up on PLC4X or give up my Job at codecentric. I didn’t really have to think and gave up the job and was planning on living from consulting gigs for industrial open-source, which I still strongly believed in. Things didn’t look that bad in Q2 and Q3 of 2020. Luckily in that year, I was also able to get financing from NLNet from European research funds to continue working on PLC4X from March till Oktober 2020.

Unfortunately, Covid didn’t go away and after a few months of positive numbers the next wave hit the world and all companies that were starting to open their purses, instantly closed them again.

Luckily for the both of us, at that time Shaun from Mapped approached me, as he was looking for folks able to help communicate with building automation systems. I was happy to join, however I insisted on being able to continue running my business as a side-thing (as long as it has no impact on my work for Mapped). Because I knew: If there’s no place a company could get commercial support or consulting from, I could probably just bury the project.

So since then, I have been working hard on the parts of PLC4X, which we needed for our work at Mapped. These were mainly porting PLC4X to Go and working on drivers and auto-discovery used in building automation systems, but not really much on things considered baseline project-work.

At Apache, we know community is the hardest but also the most important part. So, after working times, on weekends and even on most of my holidays, I kept on pushing the open-source project, writing reports, doing releases, mentoring people do their first contributions, submitting and performing talks, providing fee community support, addressing security issues, doing normal project housekeeping. In general: Keeping the lights on.

To make things worse, in 2020 another problem came to the pre-existing ones: In Germany a company needs to be profitable. If you run your business at a deficit for too long, you get your business closed, and then you usually even have to pay back a lot of taxes.

As I have been focusing on PLC4X without getting many paid gigs, but I needed to pay a lot for purchasing automation hard- and software, I have been running my (side-) business at a deficit for way too long now. I managed to convince the tax officials to give me a bit more time to become profitable (after all that’s my goal).

I think this year I even managed to at least stay out of the red numbers, solely thanks to the Spanish company Zylk and the only paid gig I did in 2021. They hired me for implementing an open-source Profinet driver as part of the Apache PLC4X project. In addition, I kept investments at an absolute minimum at the same time.

However, at the end of this year, one thing is different: I’m sick of fighting. I’m sick of investing my precious free time till I feel I’m burning up and not really getting anything back. Just as with the folks currently working in healthcare: Even if you think kind words and clapping is enough … believe me: It’s not. I’m sick of how everything in the OT is pay-to-play and especially how everything in the OT is clearly communicating on a post-fact way. While in the past it was considered good to back your claims by facts, now it’s just about spreading what the author wants to be true. The one being loudest, with the biggest marketing budget, is going to be the winner. I’m not willing to play that game.

So if things don’t change in 2022 I have planned to shut down my business myself. Sadly this is also the year this business would have reached its 25-year anniversary.

As a last attempt to keep the lights on, I am switching the mode I am providing support for PLC4X: I am no longer implementing features users might need, I am no longer instantly fixing bugs for free. Especially I will not invest my private money to buy expensive hardware in order to implement or fix stuff I am then giving away for free.

I will continue help others fix and build stuff themselves and if I personally need something for my work at Mapped or just for fun or want to try something out, I’ll continue doing this. However, I will no longer port PLC4X to new languages, port drivers to new languages, implement new drivers or integration modules and most definitely not help companies with free consulting, training and support.

For this, I have always offered commercial support, consulting and training and will continue to do so. Beyond that, I have even set up a new section on my website, in which I list various PLC4X features that have been asked for a lot of times in the past. This list can be extended on request. Each of these tasks has a price-tag assigned to it. Companies liking to see one of these initiatives become a reality are free to back the campaigns in a crowdfunding-like fashion. As soon as the funding goal is reached, I will start working on it, not before. You can also contact me if you want to fund a campaign differently.

If the industry doesn’t support the people behind open-source, I at least will from now on stop blindly supporting them for free.

Even if you might not be able to directly help, you still could help me. You would do me a great favor, if you could share this with people you know who you think should read it.

Thank you for having taken the time to read this.


原网址: 访问
创建于: 2023-01-09 10:51:08
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论