from Hacker News

Mold linker may switch to a source-available license

by MForster on 11/13/22, 4:37 PM with 206 comments

  • by smoldesu on 11/13/22, 4:58 PM

    > The new license would be something like individuals can use it for free but corporate users have to pay. mold started as my personal project, and I've been working on this full time for two years so far. I thought that I could earn a comfortable income if mold become popular, but unfortunately, I'm still losing my money. I think I need to take an action to make the project sustainable long term.

    This seems totally reasonable to me, honestly. Guess what, companies building your product on top of high-quality FOSS software? Turnabout is fair play. If we're going to rot our software infrastructure to it's soul by adding endless SaaS subscriptions to everything, then why shouldn't FOSS developers get in on the fun? This is the software dystopia we've created, where marginal-utility products get built on the backbreaking work of unpaid contributors. If they don't like it, they can fork the AGPL version or use a different linker.

    It's a very dog-eat-dog play, but realistically this is what our software industry has turned into. IMO, it's honorable to defend both your individual users and FOSS community while also charging your corporate users for the support they expect.

  • by fefe23 on 11/13/22, 6:33 PM

    I love mold and wish the author all the best, but I don't think this will work.

    First of all, the usual suspects who rip off high quality open source projects have been known to just create a fork if the license changes (see Amazon and Elasticsearch). If you do this, you have to have the right license from the start.

    Second I'm not sure the value proposition is great enough to warrant corporate payments. As awesome as mold and its performance savings are, I don't think they even register on the dashboard of corporations. Maybe a few companies selling build pipeline services could be persuaded, like Github and Gitlab, But for those I think it would make more sense to talk to them and get them to give money voluntarily.

    In my experience companies don't just give you money. They do it if they are acutely aware of a problem, like when OpenSSL turned out to be massively underfunded and lots of corporations realized they are dependent on it. I don't think any company is dependent enough on mold yet.

    I think the author should talk to the Linux foundation or the LLVM foundation and should get them to pay him a stipend or something. With this move he'll probably not help the situation much.

    Also AGPL is already pretty restrictive. Are you sure there are corporations ripping you off? Could it be that they just never even heard of mold?

  • by hedora on 11/13/22, 6:41 PM

    As a corporate open source developer, we would be forced to switch off mold immediately if we were using it, for at least two reasons:

    1) Whether or not we could get finance to pay for a license, we would not be willing to force the rest of our community to pay.

    2) What is a "user"? A developer seat? What if CI / CD has a public facing github queue? Are people submitting PRs users? Do end users of our service count?

    I'd strongly suggest a "call for pricing" model until you have good answers to the above. (Good == what the market will bear; figuring out will require you to initiate run ~ 100 customer calls).

    Also, why revert to GPL, not AGPL3 or Apache? GPL is a weird middle ground these days. "Some users get Freedom, but unlike with AGPL, Google, AWS and *aaS users get to pound sand. Also, unlike Apache, maybe we will patent troll you later."

    This stuff is hard. Good luck!

  • by rectang on 11/13/22, 5:21 PM

    Is the maintainer is the only copyright holder? If not, and other authors have contributed under the AGPL, the maintainer can't switch the license.

    EDIT: I found this in the linked blog post:

    > I can change the license (or sublicense) because I wrote almost all the code myself, and all remaining patches to mold are licensed under the dual license of MIT/AGPL.

  • by nu11ptr on 11/13/22, 5:53 PM

    I think this is fine. The author has the right to do whatever they want with their own product. Bummer for me as I like this linker, but probably wouldn't use it if this change is made, as my small one person company wouldn't be able to pay.

    That said, I personally don't see it being successful if this is done, and my suspicion is it might even be forked so an open source version could remain. It sucks that they aren't making any money, but I don't think this type of project works in any model except open source anymore. I could be wrong and hope for the sake of the author that I am.

  • by syrrim on 11/13/22, 7:57 PM

    A better link might the google doc explaining in detail:

    https://docs.google.com/document/d/1kiW9qmNlJ9oQZM6r5o4_N54s...

    >A major obstacle in getting financial support is most companies don't have an internal process to start funding an open-source project. If they need to buy a license, that's fine, that's part of their usual business. But supporting (or giving money away to) "free" software is almost impossible. It raises too many questions at every level of management. What is the accounting item it should be categorized to? Is there any legal implication? Who can approve it in the first place? And last but not least, why do they have to do it if it's available for free?

    I would think you could work around many of these problems without going source-available. You could simply sell licenses to people despite already handing out an open source license for free (the sqlite approach iirc). Since the project is apparently otherwise AGPL licensed, I would think businesses would be quite open to receiving a normal commercial license instead. To sweeten the deal further, you could come up with some list of enterprise features that would be uniquely available in the commercial variant.

    As a risk of using the BSL, I would cite the danger of the project becoming less popular among average developers, an effect that might compound in the long term ultimately killing the project. I don't personally use mold, so I don't know how strong this effect would be.

  • by trurl on 11/13/22, 6:19 PM

    I think one thing that would definitely help the mold project is to have a clearer price and licensing model. The only thing I can find is https://opencollective.com/mold-linker.

    It would be much easier to be able to go to my manager with that kind of information. Right now the conversation goes:

    "Hey, this linker could save us quite a bit of time on our enormous executable." "Okay, how much will it cost us?" "Well, there is this site where you can donate on a regular basis."

  • by iLoveOncall on 11/13/22, 5:43 PM

    I feel for the maintainer, but looking at the performance chart in the readme, I think any engineer will have a hard time getting their company to approve paying a license for such a small improvement over LLVM ld.

    My big-tech company and my team don't care that build time for a small part of our application is 5 minutes (not a clean build, that would be an hour), so I know they wouldn't pay to save 10 seconds. And linking is not even all of the time to build your application.

    From a financial point of view, the fact that the author is in Singapore and has a goal of $10K a month doesn't help.

  • by eikenberry on 11/13/22, 7:25 PM

    Given the horrible performance of the LLVM compiler and linker I'd think Apple or one of the other LLVM backers would jump at hiring/funding this guy. Making the LLVM compiler/linker faster should be a top priority given how important it is to developer UX and productivity.
  • by dang on 11/13/22, 7:23 PM

  • by jeffbee on 11/13/22, 6:31 PM

    I think there is a prima facie case that nobody* cares about linker speed. bfd is a terrible linker written by weirdos and it's still the default linker on every mainstream Linux. You'd think that an organization like Canonical would benefit from faster builds, but they still use bfd. Not even gold, which has been available for 16 years. Definitely not lld, which has been around for 5 years. The amount of performance they are already leaving on the table is huge, so who would expect them to be suddenly interested in build performance?

    * for values of "nobody" excluding Google.

  • by svnpenn on 11/13/22, 6:10 PM

    I support this. I use this with some of my projects:

    https://polyformproject.org/licenses/noncommercial/1.0.0

  • by bloudermilk on 11/13/22, 5:03 PM

    Are there any examples of popular OSS projects using a non-commercial-only license?
  • by adrr on 11/13/22, 6:35 PM

    So is this a copyright agreement or a EULA? Copyright agreements only cover distribution and if you something internally, it doesn’t cover your usage. Only if you distribute the code does it come into play.
  • by D13Fd on 11/13/22, 5:42 PM

    I think this is totally fine, but they will need a better definition of what is and is not permissible. “Corporate” is a word that has many meanings. What about other entity types-sole proprietorships, partnerships? How about for-profit vs non-profit? Educational use? By students vs. schools themselves and faculty? Etc.

    If you start restricting things by type of use, you need an exceptionally thorough and clear license or you are going to wind up precluding many more people than you intend to.

  • by devit on 11/13/22, 10:55 PM

    They could make only the OSX version proprietary, which would not be a big issue since OSX users have already opted in to slavery.
  • by doorman2 on 11/13/22, 6:21 PM

    Are there any out-of-the-box non-commercial licenses? I’ve wanted to do this too, but I’m too lazy to find an appropriate license.
  • by layer8 on 11/13/22, 9:27 PM

    More projects should do this, if only for everyone to get a better picture about if and when this is viable.
  • by steeve on 11/13/22, 7:06 PM

    We (Zenly) would have absolutely paid for mold (should we have lived). Linking the app was 40s on a M1 Pro.
  • by Kukumber on 11/13/22, 7:42 PM

    Very disappointing, that's a slap in the face to everyone who contributed

    If you wanted to monetize your project, you should have done it from the beginning with the proper license

    Getting exposure and contributions only just to change the terms is just disgusting

  • by mkoubaa on 11/13/22, 5:49 PM

    Have they considered funding from a software foundation?
  • by secondcoming on 11/13/22, 8:22 PM

    He could try putting ASCII-art adverts in the output
  • by ksec on 11/14/22, 11:25 AM

    I am wondering if the author is still open to sell Mold to change its license to MIT for a few million.
  • by bb88 on 11/13/22, 9:42 PM

        "It's even a bit ironic that I had been asked by
         several big-name companies when mold/macOS would
         become available, since they wanted to use it for their
         multi-billion-dollar businesses. But none of them gave
         me financial support."
    
    He's giving it away for free and then expects multi-billion dollar companies to pay for it. When they don't because they have no legal requirement, he feels gypped.

    This is kind of a dumb way to run your business.