this post was submitted on 14 Jul 2023
15 points (100.0% liked)

Open Source

30349 readers
2335 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

Hello, I work on Pharo, an open source derivative of Smalltalk. Pharo is licensed under MIT hence most of my work needs to be licensed also under MIT.

However, time to time I have some projects in my free time that I made for my personal usage or for friends, and in those cases I am not OK with my work being used by for-profit project not giving anything back. I would very much prefer to use GPLv3 on those cases, but my understanding of licensing is very poor and I have been told there is a "virus" behavior on GPLv3 that may prevent people to use at all what I do, and that's not my intention.

Do you have any advice how to handle this?

you are viewing a single comment's thread
view the rest of the comments
[–] breadsmasher@lemmy.world 5 points 1 year ago* (last edited 1 year ago) (2 children)

Not 100% sure on the “virus” thing you mentioned but I can make an assumption.

One license type (I think its GPL3) requires any software which includes GPL3 code must also be licensed as GPL3 and thus all sources made public. You can’t take the open code, use it and then close off your own source. If I am remembering correctly

This would mean commercial applications which want to remain closed source wouldn’t be able to use that licensed code unless they were to then opensource their own code as well. So it wouldn’t prevent other open sourced, same licensed software being able to use it

[–] duncesplayed@lemmy.one 3 points 1 year ago (1 children)

Sort of. And this "viral" nature applies to all copylefted licences (GPL1, GPL2, GPL3, AGPL, CC-SA).

You can take GPL3 code, use it, and then close off your own source, as long as it's for private purposes. What you can't do is then distribute it under different terms. The GPL says that if you take GPL code, modify it (make a "derivative work"), and then redistribute it, you must redistribute it under the same terms that you got the original code from. So your users must have the same rights that you had when you got the original code.

[–] breadsmasher@lemmy.world 1 points 1 year ago

Thanks for the additional clarification!

[–] estebanlm@lemmy.ml 2 points 1 year ago (2 children)

this is the "virus" thing explained (by chatgpt, heh, but this is exactly what I heard) : Inheritance and Derivative Works: In object-oriented programming, inheritance allows you to create new classes based on existing classes, inheriting their attributes and behaviors. When using GPL-licensed code, whether GPLv3 or LGPLv3, any derived classes or subclasses created within your project will be considered derivative works. As a result, if you choose to distribute or publicly release these derivative works, they must comply with the licensing terms of the original GPL-licensed code.

[–] duncesplayed@lemmy.one 3 points 1 year ago

That's not really a good explanation. The concept of a "derivative work" in copyright law is unrelated to object-oriented technology, and the GPL is mainly applied to non-OO code anyway.

[–] breadsmasher@lemmy.world 0 points 1 year ago

Yeah I did make the right assumption then. I feel virus has a negative connotation though