8

Feedback on open source royalty license?

I'm about to release a library, and do not want to use a normal free license like the MIT, Apache, or the GPL. I want to keep the license simple and easy to understand. It also would be considered a non-free license, as it requires a royalty payment. Though, the royalty would not be directly to this library, but open source repositories in general. This is what I had considered so far.


  • 5% of generated income (per profit generating product) paid as royalty yearly to "approved open source repositories" if income is above $1,000,000/year. It's free if income is below that amount. The goal is to be similar to Unreal's license.
  • All repostiories on GitHub.com that meet these requirements are "approved open source repositories"
    • They have more than or equal to 1000 stars
      • I'm aware that stars can be purchased, but this is against GitHub's TOS and the case for fraud is more obvious. Intentionally purchasing stars with the intent of not paying royalty is similar to just not paying the royalty
    • The royalty must be paid between at least 10 repositories, with no more than 10% to a single repository
      • I might provide some lists with easy methods for averaged mass payments to like 100s or 1000s of repositories, but if they want to use discretion, it's allowed. They are just prevented from contributing everything to 1 repository.
    • They cannot be the same repository or project that is paying a royalty, but the same organization is approved as long the individual repository meets the requirements
      • The intent is to partially reward companies with many highly starred open source contributions, but their use level is on their own PR. I also dislike the idea of verifying and tracking identities of different library authors, as I like to create repositories without them being associated with my name. Though, I do think that it makes sense for stars. (The developers providing stars would technically be voting on who should be elgible for financial contributions)
  • After 5 years, the license transitions automatically into MIT or public domain for the version used. Though, new versions could still be under the same license.
  • License is automatically compatible with licenses that use the same wording.
    • No extra royalty if another dependency also uses this license
    • If the other license raises or lowers the royalty rate, it's still compatible, with the royalty rate being the higher of the two.
    • It's also compatible if the amount of repositories is raised above 10 by limiting percentages more.
    • And, also compatible if the star threshold is raised.
  • If GitHub removes stars, the existing approved repositories at the time of removal will persist as royalty options, but no new options will be automatically defined. (As the copyright holder, I still maintain the right to increase approved repostiories at anytime by issuing under a new license)
  • No liability. The liability is still similar to MIT, Apache, GPL, etc.
  • Royalty is paid by taxable year, follows tax season for US.
    • Chosen repositories by the payer must be listed on the license
      • Inclusion must link GitHub URL, payment amount, year
    • The license must be distributed in the same location as all other distributed licenses in their application
  • Just like the MIT or Apache license, the license cannot be revoked unless the licensed company decides to break the law, sue the license issuer, etc. No expectation of support, etc.
  • The source can be modified. Usage of it does not need to stay open source.
  • (Maybe, if possible) - Provide GitHub the ability to sue companies in noncompliance for a 10% reward of the settlement after lawyer fees.
  • (Maybe) - Include Codeberg too. Though, I'm concerned other developers will be less likely to use a license of this type if they don't recognize the organization.

The motivation is just that I believe it's possible for a license like this to work. Tech companies frequently use a similar income model for their products and do not have issues paying Apple their 30% tax. There's often a expectation that companies contribute back to open source repositories, so I view 5% as an easy amount to meet. (Companies should already be contributing back at a level to where this license is viewed as free) Though, I don't expect any large company to move fast on a license of this type.

I've considered a license like this in the past, but thought about it again when Microsoft requested support for FFmpeg when their engineer hadn't read documentation. When requesting a support contract, Microsoft offered $2000. This was viewed as insulting to the FFmpeg developers as Microsoft generates billions of dollars in income every year while using their software in their products.

Large companies, like Microsoft and Google, pay Apple 30% to list their products. (30% of a billion is 300 million, 150,000x more than $2k) I don't think spending the money is the issue, they just frequently refuse until they are without options.

I haven't consulted a lawyer for it. I'm just interested in understanding how it is perceived. I also am willing to consider significant changes, but I haven't had better ideas for creating a license for funding open source.

As for my library

  • It's unimportant, in a niche, and blockchain related
  • I wrote it for personal use
  • It won't bother me if the license just completely fails or is impossible to enforce. (Though, Unreal Engine uses a 5% royalty license that seems successful)
  • It also won't be elgible for part of the royalty until it meets the same requirements.
  • I expect developers who might use it will not be generating above $1m, so they won't care that it's not under MIT, Apache, GPL, etc.

Any suggested changes if I decide to do something like this? As an example, larger/lower star requirement? (I was concerned of excluding really high quality software that just hasn't received notice by other developers) I also like the idea of changing the maximum contribution to 1% per repository as I think it could become difficult for companies to exploit. (Though, I was concerned that companies acting in good faith would be encouraged to not support really good projects that badly need financial contributions) I also think same organization contributions seem bad to approve, but my opinion for allowing it is because developers are rating these repositories as highly appreciated. (They're contributing really high quality open source software) Is this a bad idea or seem too complicated?

you are viewing a single comment's thread
view the rest of the comments
[-] ericjmorey@programming.dev 2 points 6 months ago

In that case, probably not worth spending more time on licensing terms until later.

Good luck!

Terms are important for determining if developers will use the license.

[-] ericjmorey@programming.dev 2 points 6 months ago

Oh. I thought "it" was your software project.

I see what you're saying now. I would not use this simply because profit is an unreliable measurement. A revenue based test makes more sense. Possibly adding an investment valuation test as well. Since many VCs encourage no initial revenue when they fund startups.

[-] CapitalistSusScrofa@lemmynsfw.com 1 points 6 months ago* (last edited 6 months ago)

I think revenue seems easier to enforce too. Just revenue didn't really make sense in the context of what I was doing, as people are writing contracts that handle millions of dollars and collecting like less than half of a percent. It's just confusing. It does make sense when the business is creating iOS or Android Apps and selling digital items, etc. I think the license could be restricted to business category, it's just more to consider, and a lawyer would probably really understand it.

I'm not exactly sure what is meant by investment valuation tests. As an example, is the investment valuation supposed to be something like "the financial contribution to this repository cannot be more than 5x the estimated cost to contract the entire source code by a reputable institution?"

Oh. I thought “it” was your software project.

Yes, I want to use a custom license for my project.

I've also wanted for a while to create some type of distributed royalty license, but the level of effort I want to put into that is just dependent upon how much potential there is for it to be successful. I haven't decided on what I will do yet for my own project. I think the main issue is it's just difficult to find terms that are not hard to understand and people readily support.

[-] ericjmorey@programming.dev 1 points 6 months ago

I’m not exactly sure what is meant by investment valuation tests. As an example, is the investment valuation supposed to be something like “the financial contribution to this repository cannot be more than 5x the estimated cost to contract the entire source code by a reputable institution?”

I mean a test for the latest round of funding of the company establishes a value of the company and if that value is over $x, the terms apply. Fir publicly traded companies, you could just use market capitalization.

[-] CapitalistSusScrofa@lemmynsfw.com 2 points 6 months ago* (last edited 6 months ago)

This seems like a really good alternative too.

I responded here to @onlinepersona@programming.dev detailing how I might try to continue finding terms that are highly approved. I think what I've thought about so far isn't very carefully considered, so before I try to choose a specific license, I want to take some time to think about more options.

[-] ericjmorey@programming.dev 1 points 6 months ago

I'm not sure that it's a matter of video vs text as much as it was the presentation style.

Making a video about your ideas probably wouldn't hurt.

Good luck!

[-] CapitalistSusScrofa@lemmynsfw.com 2 points 6 months ago* (last edited 6 months ago)

I really like text. I sometimes read documentation multiple times over before considering asking a question. I don't assume I am correct, and try to verify that I'm not wrong before finally asking a question. Though, other times, I'm guilty of skipping or skimming over text.

The problem I felt like I was having was that I was attempting to describe many complicated rules with as few words as possible. I felt like if I didn't try to limit words, other people would not read it. Even with all of this, it felt like many people who were responding were still not really reading it. In a survey, I might try to cover multiple contract styles, in text, it could be lots of words. The concern is that the importance of the topic will be missed to someone completing a survey.

Maybe a combination of both would be better? Like provide as much text as I want, and also a video with it. I still have to think about it.

[-] ericjmorey@programming.dev 1 points 6 months ago* (last edited 6 months ago)

A text post on opensource@programming.dev is going to have people skim. A link post on opensource@programming.dev to a blog or webpage with a summary of intention posted in the body of the link post would get people in a better mindset to read the detail at the linked blog post.

I think you told a story from your perspective rather than introducing your idea from the perspective of trying to get the attention of a potentially interested audience that is in a casual browsing mindset. As a result, people were trying to skip past your story and get to the meat of the idea which wasn't presented concisely.

[-] CapitalistSusScrofa@lemmynsfw.com 2 points 6 months ago* (last edited 6 months ago)

I also don't think I entered with clear goals. Am I designing a license or trying to find a license to use?

I've seen language design blog posts here and on reddit. These are usually long, but with the intent of creating a discussion. I don't think I was even intending to create a discussion or reach an audience. I just was looking for approval of the idea. I think there's always going to be some amount of people that will skim, but stating that text is the issue is wrong, text does not stop productive conversations or creating something.

I think there's also the difference between law and software (outside of machine learning) in that there's also some level of interpretation when the subject is about a spectrum. Like when does yellow become green? I felt like I was stating lots of information that loosely goes together, and it was not concrete or solid in understanding.

[-] ericjmorey@programming.dev 1 points 6 months ago

I agree with all of that.

this post was submitted on 28 Apr 2024
8 points (78.6% liked)

Opensource

1384 readers
66 users here now

A community for discussion about open source software! Ask questions, share knowledge, share news, or post interesting stuff related to it!

CreditsIcon base by Lorc under CC BY 3.0 with modifications to add a gradient



founded 1 year ago
MODERATORS