Hacker News new | past | comments | ask | show | jobs | submit login
Apache PLC4X announcing end of community support due to missing funding (github.com/chrisdutz)
290 points by schlotzisk on Jan 12, 2022 | hide | past | favorite | 156 comments



Hi all,

geee ... a friend pointed me here and I have to admit that I'm quite overwhelmed by the wave my post generated. But very happy it seeded some good discussions.

However I should point out that only I said that I would stop providing free community support. I am only one of the contributors. Even if I am probalby one of the most active ones, there are still others probably going to step up and tackle the one or the other issue someone might come up with.

If the project was just me, Apache would probably have already moved the project into the atic, which is far from happening :-)

Now I'll continue reading all of this ... but I had to set this straight first.

Chris


Having dealt with complaining users (of FOSS) for a much smaller project than yours who want free fixes by <date> and angry comments about <not including this feature that was asked for "ages ago"> I can definitely see why you are going the route you are going, best of luck now and in the future! :)


Just curious (not in the industry), and I guess you maybe have already looked into this, but in addition to paid support have you considered paid work for implementing a specific new feature that a company wanted? A previous company I worked for did this for custom requests and made some money out of it.


No one wants to pay for that either.

https://c-ware.de/en/cf-listing-page/


What is up with those fundraising goals? Due to weird scaling, the number of 0s in the goal overflow onto each other, but it looks like you’re asking for hundreds of thousands or millions of euros to port things. Maybe that’s a reasonable sum for the work entailed, but I can’t recall ever seeing numbers that high for any kind of crowdfunded projects or open source support. Is asking for that kind of money realistic?


German-style number delimitors: '.' for thousands and ',' for the fractional part So the highest targets are 20000 EUR, which seems very reasonable. I think it's a bit silly to include the Eurocents though...


The highest was €20k. Your browser was just doing something weird. Anyways, a totally reasonable sum for a couple of months of full time dev work.


I think most of them are in the the €5,000-20,000 range and there’s an issue with rendering the numbers that is duplicating the decimal value after the comma. Seems in line with other projects / compensation sources on the face of things.


I truely feel for the guy.

Reading the blog it seems like the age old story of having a superior product (drastically cut cost, better performance, etc.). However getting managers at customers to stick their neck out for it is hard. Because they know (and to a degree I can't say I blame them) changing such a critical piece of core infrastructure is going to be stressful. And what's in it for them if the company saves some money it is currently happy to spend? If it fails they sure do know what's in it for them... So big chance they'll just stick with the properietary solution they already have.

EDIT: I should add I think there is also another dimension to this. Things that currently work and "only" cost money are a problem solved for a company. If they have to change it they have to spend their "intelectual budget" on it. Meaning resources like technical people which are probably already scarce and working on other project need to be assigned to it.


Proprietary solution never cost "only" money. You generally have to negotiate licensing, then you have to renegotiate licensing when you need to make a change (or when you current terms expire). You have to invest effort into understanding your license (Open Source licenses are usually at least somewhat standardized and usually a lot short than proprietary licenses). Finally, the big kicker is vendor lock-in. If the vendor doesn't want to or can't support you business anymore, you have no choice but to replace their software. If the vendor want to change their terms, you can't find some one else to support you. If a vendor changes the product, you can't fork it to continue using it the way you need to.

I have never seen a proprietary software product that "only" cost money.


I think this misses the point, though-- no matter how true it is.

The costs associated with procuring the existing, proprietary solution are understood and accepted. If it goes wrong, it's a risk that the organization has collectively selected together.

Advocating for doing something cheaper doesn't gain any individual person that much necessarily, and incurs outsized risk. It also incurs a lot of explicit, poorly-understood costs outside of those already accepted and recurring costs.


Selling any sort of change to any company is usually very hard. It has nothing to do with proprietary versus open source. Open Source is a major selling point, and the Open Source community can/needs to do better explaining the value proposition of Open Source. That is why companies that wish to sell change employ salespeople.


Right. I don't think anyone else in this thread really said that it had something to do with proprietary vs. open source or even very much to do with free-as-in-beer vs. costly.


Companies choosing a piece of software is more than the quality of the software. A superior piece of software isn't enough.

For example, many companies want (and sometimes require) the ability to have a support contract with developers for things this critical. The people making these decisions may not even be technical and close to the system within the management structure.

Companies also may have rules and requirements that govern who they can pay and how. For example, just donating money to a developer some developers in their company like or use the software of isn't going to fly. In some countries it may not even be legal. Sometimes you need to run things as a business and jump through some hoops to make it all work financially and without burn out.

Some of this is just how the business world works. With so many businesses in so many different legal jurisdictions there's almost no way to change the system.

Skilled trades people who strike out on their own have to learn enough business to operate. It's not just about doing their skill. There's a fair amount of mentoring that happens to help people learn that stuff. Maybe we need more of that in software.


>>>> Things that currently work and "only" cost money are a problem solved for a company. If they have to change it they have to spend their "intelectual budget" on it. Meaning resources like technical people which are probably already scarce and working on other project need to be assigned to it.

This is on the mark. This is why "upgrading" anything is hard. Stuff already implemented and being used has an inertia, which is very hard to overcome.


Developments like this one and the faker.js and colors.js fiasco from last week have made me rethink my position about licensing.

Now it seems to me that releasing code you wrote for free under a permissive open-source license is somewhere between ill-advised and unethical. On one hand it will not benefit you in any way, on the other, it will be incorporated in a company's proprietary project thus lowering the expenses necessary to develop it. In the end, you've contributed to closed source and on top of that you got nothing in return... And that is the best case, as we saw with log4j, you can be held responsible in the court of public opinion in case the project you developed and maintain for free (with no warranty or liability as per license) causes an issue...


No one except the most credulous buffoons really believed the "MIT is more free" nonsense about the GPL, it is, was, and always will be a push to move away from "Free as in Freedom" to "Free as in Free Tech Support".

Large Corps won't use your code if its AGPL? Thats a feature, code away without worrying about breaking anything!


It's so funny that if you say that actually the GPL is good because random corporations can't freely utilize it with zero consequence and make money off your labor, you'll get a bunch of bedbugs come out of nowhere saying uhhhhhhhhmmmm, actually you're the one hurting "free" software, somehow, for being so difficult, so cruel, because how dare you prevent others from writing even more computer programs, can't you understand N+1 programs in the world is better than N? And that you are the one who stopped it, you selfish selfish person? And that someone else could have even made money off that? You've practically robbed them pre-emptively with intent. And you wouldn't want to scare away the 9-figure corporation by being mean... would you?

Sorry but I don't consider letting Lucy set up the football and giving it a solid go to be kind and equitable. It's called "being a mark."


Having a license where "network use is distribution" seems to be a must these days.

I also recently found the European Union Public License (EUPL, e.g. [0]), which seems similar to the AGPL. Might be interesting to Europeans. The translations being available in multiple languages is really nice. It being a less often used license could also be a feature.

[0] https://choosealicense.com/licenses/eupl-1.2/


EUPL is severable, unlike GPL family. GPL is explicitly non-severable.


Unfortunately it's compatibility clause means it's only as strong as GPL...


I don't have any problem releasing stuff under permissive licenses like MIT.

What you shouldn't do is have unrealistic expectations about the software you release. If you give stuff away for free, expect that you're giving it away for free. If people ask for free support, and you don't want to give it, be prepared to tell them so. Also, don't expect that there is any unwritten expectation for anything in return.

Your license is your agreement with your users. If it doesn't outline what you want, you picked the wrong one.

I'd use GPL if I wanted to expend the effort trying to force people to contribute to my projects. But that isn't always the case.


It takes a lot of effort and money to enforce copyleft open source licenses, a lot of companies just violate them regardless. Some companies even violate permissive licenses, for eg my router violates the microhttpd BSD license.

The latest GPL lawsuit I saw was only possible due to a large grant from amateur radio hobbyists.

https://sfconservancy.org/copyleft-compliance/vizio.html https://sfconservancy.org/press/qanda.html


Damages.

Offer two licenses. One GPL and the other commercial. Make the commercial license as costly as possible, even Oracle grade by charging per core. Include language stating that the licensing agreement falls back to the commercial license if the GPL is violated and the violation is not remedied according to the provisions set in the GPL.

Any licensing fees collected get poured back into the open source project.

If another company is stupid enough to ignore these terms, I'm sure you can find someone willing to sue on your behalf for a fraction of the damages owed to you.


Is there an easy way of providing commercial licences? Has anybody had experiences with this?

I've seen Super Source (https://supso.org/), which I think used to be called Supported Source (https://supportedsource.org). It seems to make providing commercial licenses easy. But their website is pretty bare. Do people usually just roll their own with Square or Stripe? I've found it hard to get search results on this at all.


If somebody is going to be paying you more than $1000, they'll contact you about it. You don't need to automate the license payments; you just need to check your email.


From my experience, RLM is one option that is widely used for this. FlexLM is another one.

https://en.wikipedia.org/wiki/Reprise_License_Manager

https://en.wikipedia.org/wiki/FlexNet_Publisher


Most GPL projects aim for a diverse copyright holder base, with the code solely licensed under the GPL, so that no one entity can escape their GPL obligations by paying money. In that scenario it becomes harder to enforce the GPL, unless you have a principled copyright holder base with deep pockets. Hopefully the Software Freedom Conservancy lawsuit mentioned upthread will change that, they aim to set the precedent that anyone who receives GPL violating binaries can file GPL violation lawsuits.


Do you have a real-world example of what a license like this looks like?


Even so, I'd assume that a company that knowingly infringes on the GPL is much less likely to demand free support, lest they draw attention to their violation. So at the very least it should free maintainers from having to deal with bug reports/feature requests/entitled demands from corporate entities that refuse to give back.


None of the Apache PLC4X users asking for free support on behalf of their companies mentioned the company name nor used a company email address. I expect it would be pretty easy to keep the gratis support requests and GPL violations fairly separate.


Not GP, but I hadn't thought of this! That would be a great side effect of using the GPL now that I think about it.


It's not unethical, it's more like being a "fellow traveler" or in clearer terms, a useful idiot.

People with money (corporations) were always the ones to benefit most from permissive open source, they're best placed for it.

Permissive open source only really makes sense as charity[1], or for libraries you as a developer want to be able to use at future companies[2] or as a component for a corporation's grand strategy.

[1] "Here, have this, I built it and I want to share it so that it doesn't go to waste sitting on my storage."

[2] Only the case if you accept outside contributions with no copyright assignment, since otherwise you have the power to relicense your own code.


> It's not unethical, it's more like being a "fellow traveler" or in clearer terms, a useful idiot.

I mean, the line between a useful idiot and a scab is so thin it barely exists.

> Permissive open source only really makes sense as charity[1], or for libraries you as a developer want to be able to use at future companies[2] or as a component for a corporation's grand strategy.

Edit: nah, I think "as charity" it's bad (takes away from others, corporations don't need your charity), case 2 is at best misguided (just charge them, don't do this for free, please), and only 3 makes sense, as in "language bindings for our product are permissive."


I don't see where it is not ethical.

At any point you can decide to pursue or stop maintaining the code and anyone can decide to fork and take over. It is just naive to think you will always find fun in working on it or pretend you might make a living out of it unless you have a strong business plan.


> I don't see where it is not ethical.

And that's the problem.

Many people like the idea of 'helping' other people for free, even if these users never 'give something back' (because they can't program, don't have the time to translate something, ...). But helping other people (companies) make money for free that already have not only enough but way more than you, and you even do the less rewarding work like fixing bugs is not what moste people thought of when making OSS.


To explain it a different way, I think, is that releasing code under a permissive license where the end user is a large corp, doesn't make the world a better place, it just reduces the labor needed to achieve an end.

OSS saves on headcount.


At my company, a huge bank, where we use a ton of open source code, we were explicitly told that working on (contributing to) open source was a terminal offense.


Name and shame them.


I don't think it's fair to expect this user to do that. (However, if somebody else knows of a bank like that…)


I mean throwaway accounts just pop up all over. I would never expect GP to answer and put themselves at risk ;).


In the case of industrial control, database tech, and other high cost fields it would be dubious to pitch an open source product and then abandon it.

Getting a high adoption OSS project takes more than putting a repo on GitHub. In some cases like this one, it’s possible that the underlying cost of these activities is much closer to the licensed proprietary software than the OSS variant (aka free)


> In the case of industrial control, database tech, and other high cost fields it would be dubious to pitch an open source product and then abandon it.

Why? Open source projects are released with "NO WARRANTY", which includes the possibility of dropping maintenance at any time. If you want continued support you either fork the project and DIY, or pay someone to support you.


And that is not something the companies using the software are interested in.

This isn’t like a software company taking over some abandonware tool that they rely on. Building and maintaining software is not in the wheelhouse of these companies. They’d rather spend more or have fewer features in exchange for lowering risk.


It is the ethical problem of those companies, not of the people writing the original code.


So Google liberated kubernetes under the Apache License 2.0. Many companies are now relying on it for their workload and we see contribution from other big companies as well.

Are you saying that it would be unethical if Google find out they'd now rather work on something newer/better, and stop having engineers contributing to it?


The guy has been working on this almost 25 years. That's not pitching and abandoning.


The unethical part is that you've contributed (for free!) to the development of closed-source proprietary software.


What is unethical about contributing (for free!) to the development of closed-source software?

And if you’ve decided that making open-source software inherently contributes to the development of closed-source software, what’s your recommendation?

If it’s unethical to work on closed-source and open-source, do we all just go home and stop writing code?


When I started to work on PLC4X I was hoping people would be using it to build commercial applications and either making money with it, saving money or building better products. That's why I stronly believe in the Apache License and am not a GPL advocate.

However I would never have expected that allmost nothing is returned by anyone.

I mean, I'm an IT consultant and I was doing consulting with other projects that I work on and I'm fine with that. I love doing that, I love giving training, mentoring people and companies to become open-source contributors. I saw that the effort-to-improvement-ratio open-source could bring to the automation industry was just incredible 5 years ago. That's why I put so much work into the project and I continue doing so ... just differently ;-)


We're getting into technicalities here, but in my opinion the ethical thing to do is to share your code freely for everyone else to use, however at the same time use a license that requires them to do the same with any code they derive from yours. This is absolutely nothing new, ref. the GPL.


It’s clear that your preference is that people do that. What’s not clear is why the MIT license and closed source software are unethical.

Not everything we dislike is a violation of ethics.


> What’s not clear is why the MIT license and closed source software are unethical.

Is it ethical to allow unethical behavior?


I feel like we’re in a loop. Are you saying that making software under MIT or closed source licenses allows unethical behavior in a way that makes creation of that software unethical? If so, can you back that up instead of asking rhetorical questions?

I write software personally, which I license under the MIT license. I write software professionally, which is closed source. I don’t believe either of those things is inherently unethical. There are obviously examples of any kind of software that are unethical, and there are ways that closed source licenses enable unethical behavior, but I’m not following the expansion of that to the license choice itself.


MIT licenses enable closed source software that would otherwise have to be open source, is the point.


“Would otherwise” assumes a default state where the original software was GPL, presumably. But the fact that the MIT license allows for use in closed source software isn’t in dispute.

Do you (and the other commenters in this thread) believe that closed source software is unethical? And if so, why?

And do you believe that MIT-licensed software is also unethical, because it allows for closed source usage? If so, why?


I question whether allowing unethical behavior is, in itself, unethical, when you have the option of not allowing it at all. I didn't mention software licenses anywhere in the question.

To use a situation common these days, knowing people wearing masks are less likely to pass COVID to others wearing masks, is it ethical to have a restaurant that allows clients not to wear masks? Is it ethical to operate a whore house that doesn't mandate regular AIDS tests?


This is a thread about software licensing. If you’re looking to have a theoretical debate about whether in general unethical behavior is unethical to support, I guess that’s a fun debate, but it’s not really relevant to this post or comment tree.


If it is unethical to support unethical behavior in a general context, why would it be different within the narrow contexts of software licensing?


I’ll copy my questions from above:

Do you (and the other commenters in this thread) believe that closed source software is unethical? And if so, why?

And do you believe that MIT-licensed software is also unethical, because it allows for closed source usage? If so, why?

You just keep repeating that it’s unethical to support unethical things. Since that’s amazingly general and you’re commenting on a thread about software licensing, I assumed you were attempting to comment on the ethics of closed source and/or MIT licensed things. If you don’t think those things are unethical, just repeating overarching premises about ethics seems irrelevant. If you do think the things being discussed here are unethical, it would make for a much more engaging conversation if you’d say so and elaborate on why, vs just driving circles around the discussion repeating the kind of slogan I’d read on a picket sign at a philosophers march.


Stupid it may be but it is not unethical. We live in supposedly free world and one has full right to decide how their work is to be used. Don't like it, just use GPL or whatever license you might want to concoct to prevent / limit corporate use.


as usual when it's about free software licenses, https://www.reddit.com/r/stallmanwasright

> In the end, you've contributed to closed source

yes, that's exactly what using the GPL is supposed to prevent


> it will be incorporated in a company's proprietary project thus lowering the expenses necessary to develop it

Without necessarily taking a position on the ethics, I would point to macOS and its derivatives as a clear example of this. Apple invested significant resources into a successor to System 7 called Copland, abandoning it in 1996. While the purchase of NeXT in 1997 hugely influenced the design of OS X, look at all of the free and open source projects that accelerated its development: Mach, Clang/LLVM (and GCC before it), KHTML, KJS, CUPS, much of the BSD and GNU userland, and the list goes on.

macOS, and by extension iOS, would not be where it is today without its open source core. Put a little spit and polish on it (no small thing, of course), add a kernel extension named Don't Steal Mac OS X.kext, and voila: new O/S.


The flip side (of this specific example) is that several of those projects were either started or nearly exclusively funded by Apple.

- Mach's primary architect, Avie Tevanian, was hired by NeXT to productize it, and he continued that work at Apple with XNU and the OS X strategy to replace the classic MacOS

- Apple hired Chris Lattner after he finished his PhD (where LLVM was started) and then created Clang and open-sourced it, as well as other LLVM tools like libcxx

- Apple hired Michael Sweet (creator and maintainer of CUPS) and paid him to maintain it for several years

As you say, Apple's software wouldn't be where it is today without open source. But major open source projects either wouldn't exist at all (e.g., Clang) or would have needed someone else to pay for their maintenance (e.g., CUPS) without Apple.


>code you wrote for free

>for free

How much open source code is actually written by hobbyists working for free? Most of the Linux code is written by paid engineers employed by big tech companies.


Yes, it's because of GPL restrictions: if you use my code, then I can use your (to some extent), so proprietary developers are forced to cooperate, which everyone job easier.

Linux is used by whole planet, but it's not a burden for Linus Torvalds.

Same for KHTML -> WebKit/WebCore -> Blink (LGPL), which is used even by such GPL haters as Apple and M$.


Same for Postgres and multitude of other liberally-licensed software.


> How much open source code is actually written by hobbyists working for free?

Initially, almost all of it.

> Most of the Linux code is written by paid engineers employed by big tech companies.

Nowadays. It didn't start this way.


What's wrong with lowering the time it takes to develop closed source software? Closed source software solves people's problems. By making it easier to make, more of people's problems can be solved. There can be less time spent where multiple people remake the same exact thing over and over again.


Maybe. Or maybe you are just helping the rich get richer and the poor get poorer. Whether proprietary software is a force for good or just another mechanism of exploitation is a matter of opinion, and the GP might not share yours.


As a child starting from $0 I built up almost all of the money I have now doing contract work by making closed source software using open source software. Being able to quickly make things without even having to spend any money is great for someone with no money. It didn't make me poorer as someone with $0, it made me much richer. I know my software was a positive to the lives of many people even if it is closed source.


Are you giving back to the people who enabled you to do so?


Honestly, no. They released their software for free, so that's what I will pay.


If you are making money using open source software, it's always nice to support the creators of the software you use.


There are 10s of thousands of open source projects out there going smoothly, please don't make any drastic decisions based on anecdotal evidence.


There's quite a bit of OPC UA bashing across this project. So let me chime in to keep the "balance in the universe".

OPC UA is a protocol to interact with an object-oriented information model. Basically CORBA done right to use object-oriented principles and reuse software components in industrial automation.

Since OPC UA is a protocol, its performance depends mostly on the implementation. Some PLCs may be crappy. But that doesn't translate into bad performance overall. My experience goes to the exact contrary.

Full disclosure, I lead-develop and maintain an open source OPC UA implementation that sees quite a bit of use by the big guys in the automation domain. We use C for performance. And we do have funding from the industry.

https://github.com/open62541/open62541

But yes, it is hard to break into this world. Especially since solutions have to be maintained for 20+ years. A solo developer usually cannot ensure that this will still be usable some years down the line.


First, a bit of off-topic, but do you know we keep #open62541 open for you on Libera.Chat? :D

I think the biggest issue I encountered with OPC-UA is the rather random nature of implementations from vendors.

For example, I had S7-1500 PLC deployed on a project, and we used OPC-UA to talk to it as well as to expose internals of the program that was talking to it.

We also had WinCC HMI, and while it could do basic read-write access to OPC-UA, we couldn't attempt to go for Method Calls, which would have considerably simplified a bunch of things for us.

Meanwhile, FreeOPC-UA (python) turned out to be a bit buggy ;)

It's a quite nice system, and I really like the object-oriented nature of it and support for modeling instead of random soup of PLC tags that appears to be the norm. Standard industry models for various components help extra there.

Currently I'm looking into implementing a wrapper around open62541 for Common Lisp and Ada, and possibly a CORBA & DDS translator for it. Originally I missed PLC4X completely, and we needed to talk to S7-1500 as soon as possible and kinda got stuck with Python, now I wish I could do it in Lisp or Ada and get it done probably much faster :)


> First, a bit of off-topic, but do you know we keep #open62541 open for you on Libera.Chat? :D

Ahh, that's you! I came in to say hi on the channel whn you announced. But the channel was rather unresponsive. Will do that again with a bouncer to keep the connection open over night.

Ada and Lisp are both really nice languages. Much success with that!


I have observed two common reactions in companies not willing to sponsor open-source:

1. "Do you mean we will pay money to develop software for our competitors? Murder!"

2. The OSS donations are not seen as business expense but as charity. "We don't do charity."

What we found effective so far is an OSS project, a consulting company and a consulting arrangement where any modifications to the core project will be upstreamed. This way, the company pays money to solve their problem (and not competitors') and it's not seen as charity (it's consulting), while an OSS project goes on. Moreover, the OSS project is itself used as a selling point for the consulting services, as a proof that we will not lock the customer in with some proprietary framework.


As a peon, I push for open source because I'm tired of doing the same thing at multiple jobs that have nothing to do with our competitive advantage. That goes for a lot of industry collaboration. So much money is quietly wasted on labor that could be saved by standards and open source projects existing.


So true! I don't understand why the government does not provide grants to open source projects that help the most people. Things are changing (i.e. Sweden & France using Matrix), but I see some projects like public infrastructure (roads, sewage, power lines.) If they are good and strong enough, a business can piggyback on it and be more efficient.


Call me cynical, but I believe more government adoption of open source will occur only when those projects can match the political kickbacks being paid by the proprietary vendors. Corruption is globally endemic, and there is too much money sloshing around to keep politicians honest and working in the interests of The People they purportedly serve.


I like Debian's approach; there are volunteers and contributors paid to work on the project by external organisations. There are community based gratis support services as well as a long list of consultants around the world offering services, those range from individuals to well known open companies.


Who is "we"? Projects such as VLC tried the consulting approach, but didn't get the outcomes that they'd hoped for.


In case you're wondering what PLC4X is, it's a way of gluing different industrial IoC things together. https://plc4x.apache.org/


Just quoting this snippet from the landing page:

"No license costs, no restrictive licenses. Being open source, PLC4X is free of charge. Start experimenting without worrying about license costs or shady license agreements. The Apache 2.0 is one of the worlds most trusted and adopted open source licenses out there."

Big companies need to grow up and start contributing with serious amounts. I wonder how this could get regulated with a law, for example that any company with more than x in revenue must pay y percent to an open software foundation. Maybe one needs to be created, one which monitors the space and ranks the projects on some metric like pull requests or issues closed. Then the rank is a ratio of the amount they get.


Some solutions:

1. "Regulate". Create an official body that charges a flat fee for any use of any OSS and then pays a % to developers based on some obscure metric. This would likely lead to corruption within the newly created body

2. "Ads". Display ads on every platform that distributes software. Then, pay part of the revenue to each software based on # of downloads/etc (this is similar to how Youtube pays content creators). This would require cooperation from distributors (Github, NPM, etc). In my opinion, it would be good for both devs and platforms, as devs would prefer platforms that pay fairly over platforms that make them give stuff up for free. But it will never happen because it would hurt capital and the platforms are controlled by capital

3. "Become unionized". Collectively remove content from traditional platforms and move it to a cooperative platform that charges $ and fairly distributes it

I think #3 is the most realistic one. There is a "museum of the working class" (forget the name now) in Manchester where they have the banners of the first industrial revolution secret guilds and societies. The new tradesmen were being abused by capital so they organised under secret oaths such as "never help a tradesman that doesn't belong to the society" or "never undercut a fellow's price". Capital will always try to make workers work for less, the only way to stop this is to get organised


Taxes. You invented taxes.


At least in Germany taxes aren't bound to a specific purpose, they're not allowed to be. They get thrown into a big pot and then distributed as needed. Then you'd have these OSS developers (whoever represents them) fighting against other recipients.

It would be better to have the FAANGs of the world being forced to pay into a bucket which gets distributed specifically to OSS projects.


Government grants for open source software would probably be a good thing though, now that this is mentioned. Just like the arts get public funding due to public good, open source software would make sense as well. Even better than most of these things, because by definition, open source is free for the public, whereas grants for arts and even things like research are often locked behind a paywall of sorts.


The EU already does this. I'm sympathetic, but once you have witnessed how their research grants program works, or what the results are when bureaucrats fund "art", you might not be as excited. These things have a way of becoming something different than what was originally envisioned.


Somewhat agreed.

I started a poll [1] asking if devs could get their employers to pay. Almost nobody answered. I'm not sure it would be possible to get companies to pay without regulation, as you say.

[1]: https://news.ycombinator.com/item?id=29893520


"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."

To me, this seems like the inconvenient truth of this latest ML wave. There's lots of activity around using various ML libraies and tools, but they all assume you have input in the right format, that someone is collecting the data you need in the first place, etc.


Just like how everybody wants to be a game designer, so they can dictate to the engineers and artists how to implement all their glorious intricate designs they dreamed up while lounging in their leather armchair, without getting their own hands dirty doing any dull repetitive shit work in Unity3D or Photoshop, then complain bitterly when their minions didn't implement their vision properly to their exacting standards.

Real jobs like that simply don't exist. Not that there aren't thousands of bootcamps and trade schools that will take your money to train you for imaginary low-effort high-prestige fantasy jobs that you'll never actually find.


Knowing how to design a system is important even if you never get the chance to use that directly. Indirectly, it is useful when you need to call out a manager or colleague on their own bad designs.


This is dangerously close to being off-topic but it would be good to hear from people interested in PLC4X:

I would really like to see home appliance manufacturers extend their products with a simple 2.n IO pin interface at the back. Absolutely minimal. For example: a kettle could have an input pin to turn it on/off and an output pin that just writes whether it is on or not. A simple 4-pin interface on the back in this case. An ice-machine that has three size options and an on/off switch. The classic case of the bean-to-cup coffee machine.

Does anyone know if there is a standard (for manufactures) for this sort of thing? If this was a standard that added a dollar or 3 to appliances one could plug-in some IOT board that allows for Home-assistant or similar integration.

Of course I've completely ignored the question of whether or not a market exists.


The industry equivalents are probably something like MODBUS or CAN. But a kettle which has enough electronics in it to support an isolated waterproof low-voltage control connection instead of the cheap mechanical system would be significantly more expensive.

Also, nobody wants a wiring loom for their kitchen. If you have to do it, do it over zigbee or something.


A lot is being done on Zigbee/Z-wave plus MQTT


Adding physical connectors to mains voltage devices operated near water has significant costs. Wireless has managed to cater for this segment though still severely lacking standardization.


The standard you probably want is IO-Link, or close to it. It was meant to bring a bit of smarts to the standard 3-wire sensors and basic actuation pins, with 100% backwards compatibility.

So you have a standard analog temperature sensor that outputs 4-20ma on its pins. With IO-Link, it still does that, but if you hook it up to an io-link master, you can just read the temperature directly in C/F on the same pins. Or adjust the calibration. Or …

It's not a perfect match, mind you, but i think it's pretty close.


I am interested in that, but my approach is more of a modchip on top of the existing board. It's not that difficult to intercept SPI and I2C in-circuit and thus enable IoT capability for legacy appliances.


There is a sort of this thing for demand response - ie. the electricity company urgently needs to reduce load and are willing to pay you for it. Of course, the appliance manufacturers have to provide a way for electricity companies that use different communication protocols to have this control.

Enter AS/NZS 4755 which uses a RJ-45 connector - if you pull the DRM1 pin to ground, the device turns off.


This is a level or two up the stack and I think it's more "meet in the cloud", but the Home Connectivity Alliance was just kicked off at CES to make appliances more interoperable:

https://staceyoniot.com/will-a-new-standard-for-smart-applia...


The sad consequence of OSS is that the cost of software is fast approaching $0. Only SaaS barely manages to turn in a profit these days and I think that's simply because server-side is the only software still seen as costly. And even then, a common response from customers will be "why do I need to register". People are happy to marry a giant and sign up with Apple/Google/etc. Everyone else is expected to give their work for free and even support it. The world would be a better place if devs collectively stopped this


> The sad consequence of OSS is that the value of software is fast approaching $0.

You are confusing cost and value. The cost of software might approach 0, but the value of software depends only on how useful it is to its users. One could even argue that a consequence of OSS is increasing the value of software in general, due to an ever growing collection of easily-obtainable useful software.


Yes, you are correct. I meant cost, of course (edited)


Glad he gave up. This is the kind of project industries should be funding. It seems like a bunch of factories got his labor for free. I love open source but its better if its something that scratches you own itch, or someone funds it.


Industry funded TR-069. It is a lovecraftian nightmare, not even open-source efforts could salvage anything useful.

Another industry funded FIX. It is just a bit less of the same.


A good compromise for this kinds of things is usually dual licensing:

    - If you're big enough to make real money and you need my attention then pay me this much please 
    - If you're some rando with a toy project, then we have a github issue tracker
 
A project this size and age should always have a lawyer at hand just in case, and they should be able to walk the maintainers through the process of dual-licensing everything.


What you suggest is not really dual licensing though. It's a source-available license with a free tier.

Dual licensing means that there are two licenses that the user can choose from at their discretion. This is why GPL may work together with a commercial license but not MIT, as businesses have reasons to avoid GPL.


I understood the parent post to suggest dual licensing where the commercial license also gives you paid support. I.e. if you expect support pay up by buying a commercial license. Though I see no reason to conflate the two things. I would suggest in this case not even having a public issue tracker, and make your open source offering a take it or leave it proposition.


It sounds like otrahuevada is describing the same thing, doesnt it? Choose a commercial license if you want support, or the open source license if you don’t. That is how I understood it.


What otrahuevada is describing is a situation in which the software developer determines under what terms a particular user may use the software, not a situation where the user makes this choice. Only the latter situation is (can be) dual licensing. The difference may seem subtle, but it's actually huge.

There was a discussion about this with someone else just yesterday. I'll find the link.

Edit: https://news.ycombinator.com/item?id=29871302#29873586


I think this developer fails to address a major concern - companies looking for industrial control software want support. From the page, it looks like your support options are two guys, one in Germany and one in Poland. That would be an immediate non-starter for our company.

The alternative would be to hire one or two developers on our own for support, and then the cost savings would be out the door. Maybe this library is more performant, but it's a (relatively) small piece of the industrial control scheme. A massive shift like this is just not something companies will take a risk on.


There’s a reason why the majority of costs in running a tech business are often in the non-technical parts.

Don’t open source unless you can afford to. Invest in non-technical bits of your organisation. Avoid making choices and then hating the consequences.


The title is misleading -- one developer (a major one, mind you) is stepping back from offering free community support. This is not "Apache PLC4X" announcing an end of community support, it is one of the core developers announcing he will be doing so.


To be fair, it seems there is just about ~5 developers who have contributed more than 100 commits(https://github.com/apache/plc4x/graphs/contributors), with only three of them working on it for longer than one year. So it seems Christofer is just about the "core development team".

Looking around at the website and the GitHub repository, I can't find a single place to get community support either, it seems to only be commercial support now, so it seems Apache PLC4X is indeed no longer offering community support.


An important Open Source lesson: it isn't really a business model in and of itself. It's worth it if you're scratching your own itch: running it on hardware that you have anyway, to do things that you want done. Doing it purely for others is not sustainable.


> 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.

This is a key lesson. Open Source has not won in this part of the technology world, and it's a HUGE walled garden.


I'm assuming [1] didn't work very well then:

[1]: https://plc4x.apache.org/users/commercial-support.html


Maybe I missed something, but I had to search for the repo : https://github.com/apache/plc4x


I thought this blog post ironic since it said stuff like "free trial of open source" and "Industry 4.0."

I also think it's crazy that the government forces businesses to be profitable.


In a sense, the US government does the same thing. In the US tax code, you can can deduct business expenses to reduce taxes — ie, subtract expenses for a corporation you control from your personal income. This has been known be abused, as folks deduct their personal car, house, travel… as a result, if you have a business that goes long enough without a profit, the IRS will look really hard at it to make sure it’s not really leisure.

https://www.irs.gov/pub/irs-utl/irc183activitiesnotengagedin...


> if you have a business that goes long enough without a profit, the IRS will look really hard at it to make sure it’s not really leisure.

Uber lost 20 billion dollars in the last decade. Where's IRS?


I have mixed feeling - almost all vendor-specific stuff in this space is a mess. Definitely "yesterday's technology, tomorrow", done in a way that is often very hard to use. This is a space that mainly wants stuff that has worked and will work for 20-30 years. Monitoring/etc is often still an optional feature.


Too bad. There's not too many PLC projects out there.

There's Inxton, TcOpen and few guys doing it in Beckhoff TwinCAT3 space.


If I am ever rich enough to engage in philanthropy for open source projects, I’ll let an admittedly petty pet peeve drive some of my decisions about which projects to shower cash onto: If you define your acronyms and tell me up front what tf your project does without making me google it, I’ll support you.


I think building the stuff YOU (or your company) need for free, and offering paid support to build stuff other need is exactly how open source should work. If no one has interest in paying the paid support, I guess there is no business opportunity, and it's better to focus on something else.


This is not really as much about open source as it is a larger issue: people are sheep. That includes developers and especially managers and executives. Few people are capable or willing to make decisions based on technical merit. They generally follow trends mindlessly or make decisions about tools based on political expediency or following whatever their local hers leader is doing.

This has caused me quite a lot of frustration over the years because I like to make tools and solve problems. But often building a tool or coming up with a framework for solving a problem, even if it's technically really challenging, is only a fraction of the battle. It's getting any of the sheep to pay attention, notice, or decide your solution can benefit them in their sheep power struggles that is actually the biggest challenge.


> 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.

What is this about? The government forcibly closes companies that lose money?


It's mostly the same also in Italy. A company is considered "under systematic losses" (translating directly from Italian) after 5 years of losses. It's not closed, but it's considered, basically, a vector for something that's "not business", so it gets a minimum of taxes to pay, loses some fiscal advantages, and pays more additional taxes. Startups (as in "formally registered to the startup register") are not subject to this rule, but they have other limitations (and benefits)


The IRS has something similar, hobby vs business, though doesn't seem to be as aggressive.

https://www.irs.gov/newsroom/earning-side-income-is-it-a-hob...


This applies in America as well, at least for the IRS. One can only run a money-losing business for a few years before they stop considering you a business and instead a hobbyist.


Is this only applicable to small businesses? As Uber certainly isn't considered a hobby.


I think part of the equation is whether you are earning and spending money designed to eventually make money (supposedly), or whether you have a consulting business with nearly zero revenue and (say) $5000/year in expenses, ie, you have a fake consulting company with one employee, yourself, so you can deduct your hobby expenses.

If you have 10 people working for you, customers paying you every month, a loan for a building or equipment, etc., my guess is that the IRS will let your business run at a loss much longer.


It's to prevent people from registering their hobby projects as a businesses to deduct expenses from their taxes.


I think (but I maybe wrong) it is a "protection" against selling product under it's price.


This strikes me weird. This software seems to be under the "Apache" umbrella. But this guys last plea for support is on his own blog. Beyond the "how do we fund open source" thing in the piece, I'm left with too many "what's going on" questions around this. Does Apache support it? Why or why not?

Getting back to the blog, he says the comms piece is his unique selling point. OK, so people don't want to support the open part but yet it's missing a rather important piece. Is that correct? The whole thing just left me a bit confused.


> Note that the ASF does not pay for software development on any Apache projects; we rely on volunteers for all of our project coding work. The ASF focuses on providing the technical, legal, and community infrastructure for like-minded communities; we trust that healthy project communities will build their own software products.

https://www.apache.org/foundation/governance/


If you read my article carefully: I started the first steps on this 10 years ago ... then I was trying to build something proprietary, but gave up on it as it was an insane amount of work for one person financing himself.

After that I started really getting involved with Apache and all sorts of projects.

5 years after my first attempt I started a new attempt, this time open-source and that worked from a project perspective.

I wrote it in my own blog, because I am stopping free commmunity support for myself. It's not the project stoping this. Apache is a non-profit charity and it's dangerous for it to be accused of having monetary interests in what it does.

In order to separate what I had to say from the project I published it on my blog and not even on the mailinglist (I sent a link though explaining why I'll be less active).

Hope that explains things. The title of this thread however was a bit mis-leading.


It seems like something that should be backed by an industry consortium; member companies pay money to the foundation and that employs the author and other folks to work on the code etc.


I'm probably missing something but why would the industry back this? This makes it easier to combine and switch between manufacturers while they probably prefer vendor lock-in. Once a factory starts using your PLC it will continue buying replacements and upgrades forever.

I only had brief exposure to this domain years ago, working on a single Siemens PLC control project. The whole software stack was utter garbage (GUI only tooling, binary blobs that don't work well with version control, weird custom subset of VB for the computer UI scripting, ...) that made me wish for some interface like PLC4X so I could just bypass all of it.


I'm probably missing something but why would the industry back this?

The device manufacturer side of the industry probably wouldn't back it. The people who do the integration work would though. They're the ones who actually benefit from it.


I remember listening to a podcast with the Braintree founder and he had mentioned how they worked with the other payment providers out there to create some shared, common standards. This type of competition / co-opetition does happen from time to time (also see Lyft and Uber also co-lobbying governments together).

No idea how this would work for this industry though


> I'm probably missing something but why would the industry back this?

One possible reason: to "commoditize your complement" (https://www.gwern.net/Complement). These industries make hardware, making the software side better makes that hardware more useful.


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.

Sorry to hear it didn't work out, Chris - looking forward to your article. PLC4X was definitely one of the more interesting projects at codecentric.


It's not surprising that people and especially companies are not going out of their way to pay for a free product.

Instead of being hurt by how ungrateful the world is, maybe it would be better to find a way to make the rich pay and let the poor (like me) still get the software for free.

It's not like it's unheard of in the open source world.


The branding of the PLC4X project really doesn't match others in the industry. Maybe update the website to look similar to the big companies.


open source is a great code license scheme, but a horrible business model.

Shame it's not worked out for him, but when it's voluntary most businesses hear "free tool"


While I don't personally interface many PLC, I believe many could use this if the knew about it. Sounds like an awesome project.


… and this what reasonable people expect when maintainers walk away from a project, instead of purposely breaking other people’s stuff.


[flagged]


Sorry, I don't understand the implication here.



The main page does say "C (not ready for usage)", though.


If you don't want people to rip you off without giving back, then use GPL and not Apache license.

People in favor of the Apache license are people who like to "pay you in exposure".

Turns out you can't eat exposure.

Well you wrote that code, you want people to use it, right? Then attach no strings!

Turns out I also need to pay rent and and buy food.


Guys this is just beggining, I am working in cyber security since 2013, After the discovery of log4shell, almost whole internet is at risk of supply-chain attacks, Hackers are continuously targeting open-source packages because it's really easy way to hack big organization. We literally track 100's of attack on daily basis. Services like vulert.com can play a vital role, let me know what do you think.

Best




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: