WiringPi – deprecated
wiringpi.com
wiringpi.com
When I read his blog post on his reasoning, I can't help but be reminded of the feud between xscreensaver's author and Debian maintainers. Debian maintainers refused to upgrade the app's version and refused to remove the 'For support contact the author's email' notice. The author's fed up with all the support emails he gets from Debian (outdated) installations' users and put in a message prompt blasting Debian. It was very ugly for both sides.
I think that there can be an extension on GPL that says, if you bundle this library and is not using the latest official version from the author, you are not allowed to include the author's contact information. If you insist on bundling the author's email with your outdated software, then you are in violation of GPL.
As for people stealing his code. Sorry to hear this. I got nothing except to try to contact EFF.
For the curious, the post: https://www.jwz.org/blog/2016/04/i-would-like-debian-to-stop...
And the instigatory thread: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819703
Here is a wayback machine link to avoid the image:
http://web.archive.org/web/20190810115358/https://www.jwz.or...
I don't blame him for having a redirect.
Adding an extension like that to the GPL may be problematic because it has a clause that allows users to ignore restrictive extensions (as opposed to permissive extensions).
author-project-v3@example.com
author-project-2017@example.com
I remember reading about an indie games developer who looked at his proposed user base and decided not to make his game freeware. He wrote there was an attitude of entitlement among people who get the free stuff. People who were prepared to pay, even a very small amount, behaved better.
I saw that happen on the centos forums once or twice. It could attract spectacularly selfish individuals.
As for people not RTFM'ing, I recall a small internal project I did for which I wrote up comprehensive intro, docs etc. I handed it over to the user who told me to explain it to them. I said "I wrote it all up, help and everything, there it is!". She smiled and said "but who reads those?". I came very close to blowing up at her just then.
However, he does have to comply with the legal requirements of the license he uses. Personally, I don't use GPL/LGPL licenses, but if I did, I'd be careful to comply with the provisions of the license.
No, the author doesn't. Not really. The license governs the use of people who don't hold the copyright. That's why the author of a project can just turn around and release under a new license.
Yes, he can release new software under a new license, but any past software he released under a certain license, he has to follow those terms.
If you come to an agreement with another party (like you agree to license a movie, or book to them), you can't just unilaterally cancel that agreement. That's not how contract law works.
He cannot prevent people who obtained a version of the software under a license from doing what they want with it under the terms of that license.
And that includes getting the source code for a binary released under the GPL. That's exactly what was at issue.
The requirement to release source code is placed on those making use of the license, not on the original holder.
> For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
The original licensor receives no freedoms, as the work is theirs to begin with. It doesn't apply to them. "You" refers solely to those accepting the license.
If the original licensor hasn't release the source code with the binary at the time, they are under no obligation to do so. Using the particular license doesn't make sense, but they still aren't obligated.
There is no legal issue here, only a moral one. And as the community didn't give the developer room to breathe, that has evaporated.
Author releases software version A under GPL, source code and a binary.
Anyone can do anything they want with A under the terms of the GPL.
Author releases software version B. People cannot force him to release source code just because A was released under GPL.
Even if he says B falls under GPL but hasn't released the source code (yet), people at most can say he did not comply with the terms of the GPL and refuse to treat/use it as such , which means they cannot use or redistribute it since that is not allowed under normal copyright rules. It cannot be used to force the author to release Bs source code.
I'm saying, if he releases version A under the GPL, he has to comply with the terms of the GPL for that release.
In any case, I'm no fan of the GPL, so it's no sweat off my back. But I don't understand someone releasing a software version under a certain license and then getting upset because someone asks him/her to abide by the terms of that license.
Exactly. If he's the sole contributor or if you've submitted patches and signed a CLA that gives the right to the author to change the license on your contributions they can do whatever the hell they want license-wise.
What kind of obligation do you think GPL/MIT/BSD/Apache could possibly place on the author?
Would any HN lawyers like to chip in? From my understanding of contracts, that interpretation seems contrary to basic legal principles.
The obligation GPL would place on the developer would be to release the source code if the program is released under the GPL. Based on my reading of the blog post, that's exactly what one user was complaining about.
That's every license. You might be thinking of a contract, which is a binding agreement between two parties.
Think of a license as a grant of certain rights to the licensee. There's no binding agreement upon the licenser.
(Not an HN lawyer.)
Nope. I'm thinking of a license, which is a contract (go look it up if you don't believe me). And contracts can be a binding agreement between two or more parties.
I've looked it up, I can't find anything. Apparently in germany GPL is a contract, as in germany contracts don't require consideration. But in the US, GPL is a license, not a contract.
https://scholarship.law.cornell.edu/cgi/viewcontent.cgi?arti...
Here's another from UChicago Law that takes it for granted that the legal reader understands that licenses are legal contracts, since it's full of quotes like "all licenses are vulnerable to the usual attacks that can be leveled against all types of contracts".
https://chicagounbound.uchicago.edu/cgi/viewcontent.cgi?arti...
It is sad that there are people out there who will try to ruin your day if you don't do what they want. Especially considering the work we put into these libraries.
If you ask nicely, argue your situation constructively and the developer still consider the best path isn't what you described, just fork it or pay someone to do the legwork if it's that critical to your mission, jeez..
Your mistake was not completely destroying him. This behavior exists because one side likes to be civil which further encourages the irrational ones to continue.
[1] https://github.com/mackyle/sqlite/blob/3cf493d/src/os.h#L52-...
But here's a contrarian view - I'm not sure why someone offering a project for free in the educational space would expect users to act like paid professional customers. Or expect them to be non-noob experts who can modify and build the project without hand-holding.
Or assume that email would be a viable line of support for a project with literally tens (hundreds?) of thousands of users.
Or even expect them to be adults.
So while I sympathise with the rage quit, I don't think it's realistic to release code and just expect users to understand - never mind accept - the terms you set for its use.
All open source projects comes with politics included. You have to have an understanding of the space you're working in, the kinds of users who inhabit it, and the kinds of relationships they're likely to have with them.
You need to know what your support boundaries and support technologies are. And if you work in a space where some of your users are likely to be assholes, you need to have a plan for that - even if it's just knowing that it's fine to ignore them.
Edit: to be clear, I think this is more of a general open licence problem than the failing of this one specific author. Open licences don't encourage authors to define boundaries, or even to understand that boundaries are necessary and terms need to be defined. So it's not quite a surprise that things like this happen.
I think it's perfectly fine to expect users to understand the terms. They downloaded a piece of code for free from a website with no company or support programme other than "hey I hope this is helpful, if you run into any issues I might be able to help over email". If it turns out that the author can't or won't help, accept your loss and fix it yourself, pay someone to fix it for you or wait for another volunteer to fix it.
Alternatively, they bought some kind of product that included the code. If this product breaks, they must go to the company that makes the product, not the author of some library it uses. It's not like you're going to expect some sparkplug manufacturer to come up with a fix for your car when it breaks down, do you?
People who feel entitled to anything when they get something for free are selfish assholes and should not be defended. They know fully well that they don't have any right for support, but they will make demands regardless, hoping that the other party will break and give in.
I agree that you need to have a plan for people like this, but in most cases, that plan is "I'll just drop the project if it becomes too much of a hassle". And in my opinion, that's a fine plan.
If I'm a baker and sell you a loaf of my bread, I don't expect folks to email me complaining their welsh rarebit didn't come out right from the grill. Learn to cook or, in this perhaps strained analogy, learn to program and then come back and ask a more intelligent question.
> rage quit
And there we go, the automatic assumption that because an author has basically had enough of ignorant twats you paint their actions with these lazy characterisations. I don't think this author rage quit, he's just had enough of people with "contrarian" opinions such as yours. A license !== user entitlement.
There are many different people on the Internet with different cultural backgrounds, experience levels and work ethic and unfortunately it's not realistic to expect each of your users to share the same values as you do. Anecdotally, charging a license fee for your library/tool is a very good way to filter out 90% of the unprofessional behavior.
Also if you rely on your free product to promote your consulting business, I would highly recommend creating a community forum where users can advice each other, and maybe offering paid support on top of that. Also using an open-source helpdesk app to semi-automatically send canned replies to commonly repeating inquiries saves a ton of time and keeps the assholes off your back, as long as the canned replies are reasonable and polite.
I run an email security SaaS business. It's closed source, but the suite is free of charge to use for personal, non-commercial domains.
We get numerous support requests each day of users on the free tier (who are obviously commercial users btw) that DEMAND us to fix all sorts of email problems for them. They regularly threaten that they will write a bad review on $_SOCIAL_NETWORK if we don't fix their email delivery issues for free. It's frustrating and also exhausting to try to stay professional towards these 'customers'.
Interesting observation: This behavior seems to be culture dependent. I'd say about 90% of our over-demanding free-tier users are from the same region on the planet.
From the user POV it can be very frustrating to use open source projects. Gordon's highlighted some real bottom-of-the-barrel end users and it would be hard to invalidate his experience with a straight face. OTOH some projects are incredibly hostile to users. Projects like Elixir/mix, Electron/VSCode, Thunderbird, and GIMP. How are users supposed to react when the sole maintainer packs up and leaves indefinitely? Or when patches are submitted upstream and the maintainers tell the users to pound sand?
Currently I'm working on a car-related Pi project. I'm not a hardware guy though, so I've done some research and discovered a piece of hardware that looks nearly perfect for my use case. They even have the specific version I'm interested in listed on their store. The only catch is that it's listed as 4-6 weeks out (and has been for a while). Their response? Sorry, we've moved on to something more interesting to us at 3x the price. No the store hasn't been updated (same with their blog and forums). I'm ready to fork over money, but with only sporadic signs of life it's difficult.
Answers:
1) fork the project, and do a better job yourself
2) suck it up quietly
They're all open source projects. Sure, I can grab the Gerber files and try my hand at surface mount soldering. But like any open source project where the build system is too archaic it's massively beneficial to start from an already assembled version.
I wonder where this is...?!
Can you eliminate the free tier, or is that part of funneling to paid users?
But, due to the group of over-demanding free tier users we are considering to switch to a limited time free trial.
I don’t like this dog whistle and the rest of your comment was perfectly fine without it.
That said, there are entitled assholes everywhere. I got an email one time asking me for source code for a university project because the guy had found I graduated that course 2 years before him, and he didn’t want to do the work.
It’s not like he called anyone out specifically. If it’s a true observation, what’s wrong with telling us about it? That it’s culture dependant is an interesting note.
Sometimes charging a nominal amount (like $1) filters most aberrant behavior.
If you're selling software for pay, at least there's money in your pocket to compensate you for having to deal with the various types of a*oles in the human race, but without that it can rapidly become a chore to maintain even a small or niche package. That's why lots of software becomes orphaned.
I salute anyone who has ever had the courage to try to write, maintain, or organize development for open source software.
Overall, it's still phrased in a demanding way.
If you need to preface a statement like that, reword it so you're being polite. The bit in question just as easily could have said "Hey, Thanks for releasing this! Do you know when the source code will be available? Thanks for all you're hard work"
I think we can agree that it would not at all be weird to expect that GPL-licensed project would provide the source. Any project with multiple contributors may be legally compelled to do so. Simply asking for it is probably not being a complete ass, even if the author was wrong about the legal ramifications.
At most it could perhaps be "annoying" or a "slight ass". Being a "complete ass" would perhaps be insisting after an initial request was rebuffed or whatever.
Each releases of the software can have different licenses. This means that if the author released a new version of the software binary without the source code nor any copyright notices (like Gorden did) it is not yet released under LGPL. So nobody need to comply LGPL until he releases the source code with the license.
Even if the binary is released under LGPL without the source code, although it is odd, people still can comply the License because it is LGPL - people just need to provide a way how to link the new binary.
If you are releasing work on a (A/L)GPL project you started, but others contributed to without giving you other rights, you can't distribute their contributions without releasing the source.
Not trying to excuse this demand, just pointing out the technicalities. The most important point in my eyes is that with no evidence of intent to keep the source concealed for a significant amount of time, the idea that anyone would pursue a complaint under the GPL in this situation is nonsense.
It should have been "When will a source release for this be available", but the user decided to be an asshole instead and make a demand by invoking the license—even if this was required, it was stupid in context.
I don't know how quickly Gordon put up the deb file he mentioned, but just going on Pi's release I'd call it very quickly. A week or two later is more suited to an enquiry of "Glad to see pi 4 support so fast, any idea when you might get chance to put up source code?" than "hey you're REQUIRED man, get on with it already...". Better still quietly not enquiring already but just quietly checking github over the coming weeks.
This is why any open software I author comes with the express warranty of "Help: No." If no is misunderstood then any reply will be along the lines of FOAD.
Yet another example how ungrateful many people are towards free software.
The only difference to piracy, is that not only do they not give back anything, they feel entitled to all kind of requests.
So the result ends always being the same, moving to something else.
That said, I distinctly remember a number of blog posts over the years where users using obviously pirated versions demanded support, so it seems impossible to avoid entirely haha
I get the frustration, but this looks like a case of improper idiot handling that just escalated...
Step 2. This piece of software becomes widely used, primarily since it's open source licensed
Step 3. (Modern variation) Person A feels cheated for not getting rich and creates some kind of drama.
This doesn't make any sense at all, to me.
Exactly. This and nothing else. I really don't understand why this is so hard to understand.
Of course it doesn't, because that's not what is explained. Read again maybe. If anything, the author asks for respect.
Your comment completely contradicts everything written in the article. It doesn't make sense to you because you don't want it to make sense to you.
Step 1. The author doesn't use GPL.
Step 2. The author clearly intended wiringPi to have a limited audience. He doesn't want it to become widely used. He intentionally limited support to a handful of hardware devices. It was meant to be used by experienced C programmers.
Step 3 isn't about the author being cheated. Fame or money were never mentioned. The author is overwhelmed with work, whether it is caused by the open source project, a new job or caring for his family doesn't matter.
However there is a special situation happening here that generally only applies to open software projects. The vast majority of the bug reports involve problems that have already been solved in newer versions. This means that even if the author had an infinite amount of time, all of it would be wasted on already solved problems. There is no reason to work on the project anymore since the rate of progress has stalled. The project has entered a zombie stage and then one day the maintainer announces that the project will be shutdown.
We all get tired at some point and move on, you don’t owe anyone anything. And thanks for the library!