this post was submitted on 27 Oct 2023
53 points (94.9% liked)

Linux

48153 readers
620 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hey fellow Linux enthusiasts.

I'm inching closer to releasing my program for Linux. I'll go into details on what the program is when I release it, as it's not really relevant to this question (IMHO).

Anyway, here are my prerequisites:

  • the program will be free. I will accept donations, but the program will be free to download and use.
  • open source.
  • I'm happy for others to use my code, as long as I'm credited.
  • I do not wish to allow others to use my code in commercial applications (as there will be mobile versions later, and I don't want clones selling it for money, as the mobile versions will also be free.

I'm looking for advice on the best code license to choose, based on my requirements. I'd also like it if my choice of license didn't prohibit my program from potentially being included in package managers.

I'm grateful for any advice. Thank you.

Edit

Thanks for the replies everyone. I've decided to not let my concerns overcome the most important thing of releasing the project as fully open source.

Just going to go with GPLv3 and not worry about the clones that will happen regardless of the license type, if the program becomes popular.

Thank you all for your insight and for helping me come to what I believe to be the best option.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (3 children)

Thanks. To be honest, I couldn't care less if people use parts of my code in commercial programs.

The only thing I'm trying to prevent is someone taking the entire project, changing some strings and icons and releasing a paid Android version based on my work. Especially as I will be releasing mobile versions myself after the desktop versions for free.

[–] [email protected] 4 points 1 year ago

You shouldn't worry about that. It's going to happen anyway. Probably 5 minutes after you publish the source code. Open means open.

The most lazy example I saw of this recently is where they took advantage that InnerTune was not on Play Store and published a verbatim copy with the same app id and everything, just the name changed to Max Music Player. It's free too so it wouldn't break a no commercial license.

So if it's a mobile application you need to come to terms with this now, before you publish.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

Hi, the user https://lemmy.comfysnug.space/u/Spectacle8011 posted an answer that you probably will not see:

Original text by spectacle8011:

Zion isn't going to see my comment because I'm from an instance that lemmy.world blocks. If somebody thinks my comment might be useful to Zion, please pass it on in my stead by reposting it.

The only thing I’m trying to prevent is someone taking the entire project, changing some strings and icons and releasing a paid Android version based on my work.

If you released your program under an open source license, they wouldn't even need to change anything. They could simply republish your program unmodified for a price. Open source is fundamentally incompatible with restricting commercial use because it means surrendering your monopoly over commercial exploitation.

One way you could restrict this is by trademarking the name you publish your program under. This way, no one will be able to publish a version of your program with the same name, as they would be violating your trademark. The good thing about this is that trademarks have nothing to do with copyright and so are fully compatible with open source licenses. The bad news is that someone could always republish your program under a different name. If you're primarily concerned about users confusing another program with yours, though, trademarks are a great option. You should register a trademark for the name anyway...before someone else does.

I don't have a particular license to recommend that prevents commercial redistribution, but you appear to be looking for a "source-available" license. You might need something custom...every program I've heard of that is source-available has their own custom license (Futo Temporary License, the TrueCrypt license, Microsoft Shared Source Initiative, etc.) The closest thing I could find was the Commons Clause. I know very little about it, though.

[–] [email protected] 4 points 1 year ago (1 children)

Zion isn't going to see my comment because I'm from an instance that lemmy.world blocks. If somebody thinks my comment might be useful to Zion, please pass it on in my stead by reposting it.

The only thing I’m trying to prevent is someone taking the entire project, changing some strings and icons and releasing a paid Android version based on my work.

If you released your program under an open source license, they wouldn't even need to change anything. They could simply republish your program unmodified for a price. Open source is fundamentally incompatible with restricting commercial use because it means surrendering your monopoly over commercial exploitation.

One way you could restrict this is by trademarking the name you publish your program under. This way, no one will be able to publish a version of your program with the same name, as they would be violating your trademark. The good thing about this is that trademarks have nothing to do with copyright and so are fully compatible with open source licenses. The bad news is that someone could always republish your program under a different name. If you're primarily concerned about users confusing another program with yours, though, trademarks are a great option. You should register a trademark for the name anyway...before someone else does.

I don't have a particular license to recommend that prevents commercial redistribution, but you appear to be looking for a "source-available" license. You might need something custom...every program I've heard of that is source-available has their own custom license (Futo Temporary License, the TrueCrypt license, Microsoft Shared Source Initiative, etc.) The closest thing I could find was the Commons Clause. I know very little about it, though.

[–] [email protected] 3 points 1 year ago (1 children)
[–] [email protected] 3 points 1 year ago