Hacker News new | ask | show | jobs
by StuckDuck 1225 days ago
Unfortunately it seems like nowadays with open source being very widespread that many companies or people simply ignore/forget that these libraries that they include in their software aren't just "public domain" because the code is public, but they have a license that should be respected and actually has legal value, so what often ends up happening is that they take advantage of open source software or libraries in their proprietary software without even giving a crap about their authors and their community
1 comments

But the first error is one that you seem to have made also: that there are different types of open source licenses. GPL or other copyleft licenses generally require you to disclose the code (or make a licensing deal in some cases). Things like the MIT license are much less restrictive.
In this particular case, Voice.ai is also violating permissively licensed libraries. For example, libFLAC is included in VoiceAILib.dll:

    reference libFLAC 1.2.1 20070917
The license text: https://github.com/xiph/flac/blob/master/COPYING.Xiph

The license requires Voice.ai to include the license text somewhere in the distribution or documentation, yet they do not.

Okay but that's still quite different from the copyleft licenses and violations which was my point.
Actually, it isn't. It's the same underlying principle.

All software must be paid for, with the exception of countries which have an actual public domain. Some software is paid for with money, some with acknowledgments, and some with source code sharing. Sometimes the developer demands postcards, and sometimes they demand that you not use it for evil purposes. All of these are forms of payment.

If you don't pay for it, you don't have certain rights to it.

That's a very liberal use of the verb "pay". Payment is not the same thing as compensation, payment implies money changing hands.

"Licensing" does not have to involve any sort of payment (or even compensation). There are free software licenses with no compensation requirements at all, yet they are not covering public domain software.

> the first error is one that you seem to have made also

They don't seem to have made such an error though. Their comment was very general, and permissive licenses still have conditions like giving attribution.

Yeah, I guess probably "free software" was a more appropriate term
yes but when you do npm install myfavlibrary it is all the same :)
Only if you distribute the code. You can go take some copyleft code, modify to you liking but only run on you backend servers and that is perfectly fine. Copyright license only triggers on distribution.
This is not correct. The AGPL which is also a copyleft license "triggers" without distribution. This is possible because you as the copyright holder can decide the terms of the license you offer, and these terms do not need to be related to your exclusive rights as a copyright holder.
How does that work? How does a copyright license apply if there is no distribution? What legal mechanism allows that? You can include a TOS in the code, but that isn’t enforceable because there is no agreement forcing function like “click to agree” nor am i required to even read it. And TOS doesn’t have any laws protecting it like copyright.

Edit: Instead of voting me down point out the relevant US law that allows copyright law that applies after the distribution like a TOS to person who didn’t distribute the code.

You can't use copyrighted material without explicit permission from its authors / right holders, fair use aside. Programs are copyrighted material (since 1974 in the US IIRC). The AGPL license is what will give you the permission to use AGPL'd software, but under conditions you need to respect, to the extent permitted by law (in both ways: some uses are illegal, and some restrictions imposed by the licenses could be unenforceable).
> Suppose you develop and release a free program under the ordinary GNU GPL. If developer D modifies the program and releases it, the GPL requires him to distribute his version under the GPL too. Thus, if you get a copy of his version, you are free to incorporate some or all of his changes into your own version.

> But suppose the program is mainly useful on servers. When D modifies the program, he might very likely run it on his own server and never release copies. Then you would never get a copy of the source code of his version, so you would never have the chance to include his changes in your version. You may not like that outcome.

> Using the GNU Affero GPL avoids that outcome. If D runs his version on a server that everyone can use, you too can use it. Assuming he has followed the license requirement to let the server's users download the source code of his version, you can do so, and then you can incorporate his changes into your version. (If he hasn't followed it, you have your lawyer complain to him.)

Copyright law only covers distributed software. It is not a terms of service and cover usage. GNU site has a bunch of articles on what it covers and what it doesn't.

AGPL doesn't cover internal software if you don't expose it outside of the company.

https://www.gnu.org/licenses/why-affero-gpl.html

Copyright grants the following fives rights: 1) reproduction, 2) adaptation, 3) publication, 4) performance, and 5) display. Distribution falls under 3 while creating a derived work falls under 2.
It's a very good point. The GPL is a license you can choose if you wish to do something that would otherwise breach copyright law. The loading and execution of copyrighted code wouldn't normally require a copyright license, so you can choose to disregard the GPL or any other license that will grant you extra powers.

For example both AGPL and GPL3 say

    You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
GPL2 has a similar clause

To me, I get the feeling the drafters of the license believe that modifiying code, even privately, and not distributing it any further than your own laptop, requires acceptance of the license, thus modifying AGPL code would require acceptance of that license.

I'm not convinced that's correct, but maybe courts see it that way. After all I suspect if I modify a copy of close source software (to say bypass some security lock) that I obtain in accordance with copyright law, not making any copies (for the purpose of copyright law) of it, I would be in breach of copyright.

If that's the case, then if you don't modify an AGPL software and just run it, you don't need to agree to the license, but if you do modify it you are in breach of copyright law unless you agree to the license.

If you are running a server connected to the internet, and it exposes an open source function, it is essentially distributing the functions with every request.

Live application runtime bytes streamed vs bytes written to a disk is not a meaningful distinction.

No, the additional clause in the AGPL triggers *only* when a network service is directly accessible to 3rd parties.
So yes, it "triggers" (even) without distribution: the network service being directly accessible is a sufficient condition and the distribution not a necessary one (it is also a sufficient condition though).
Distribution is network protocol which they claim copyright over. It only covers outside distribution and can't cover standardized protocols and formats because they don't own the copyright on those. If postgres was AGPL, they can't claim that ANSI SQL triggers copyright because ANSI SQL is owned by INCITS.
This isn't entirely correct, the trigger is on modification of the source code, the network accessibility is a sub-condition of that trigger.