Jump to content

Dev of FOSS Core-JS, ran on 85 of the top 100 sites, needs money (or a job) or it's over.

rcmaehl

Summary

Core-JS's developer, which is found on 85 of the top 100 sites, and 54% of the top 10,000 sites is considering calling it quits due to financial issues.

 

Media

xkcd

 

Quotes

Quote

The primary maintainer of an open source project, core-js that is on hundreds of millions of websites... (from Paypal to Pornhub) says he may walk away from the project after maintaining it for years with minimal reward. In a deeply frustrated, 11,000-word screed... Denis Pushkarev said his... donations had been largely cut off owing to western financial firms not dealing with payments to Russia, but even before that the “community” had been little support., saying that ..."The result was… $57 / month.” Now the core-js maintainer says for the next release he is considering changing it to closed source. core-js a modular standard library for JavaScript that provides...  “polyfills”, or ways of implementing modern browser features. Over 13 million developers are... using it...  and it gets downloaded more than 43 million times every week via npm.  He is considering various options for the future “depending on your feedback” he said. These options include “appropriate financial backing”; being hired by a company that pays him to work on open source and web standards; making it closed source and commercial; or a “slow death”. “The free version will be significantly limited”, if he takes the license changing approach. “All extra functionality will be paid for. core-js will continue to evolve appropriately and, in the scope of this project, will be created many new tools for ensuring web compatibility. Sure, it will significantly reduce the spread of core-js and will cause problems for many developers, however, even some paying customers could be enough and my family will have money for paying bills.”

 

My thoughts

FOSS development is pretty thankless, coming from someone who has a project with nearly 5 million downloads (and HOPEFULLY IS OVER. MICROSOFT PLEASE DO NOT RELEASE WINDOWS 12). The guy is making ~$12,000/yr from this project which is pennies compared to even a junior dev at a corporation. Perhaps, FOSS funding should trickle down if your repo is a dependency in other FOSS repos. Perhaps, large corporations should make donations to FOSS software if they use it for profit. Who knows what the true answer to this situation is.

 

Sources

Kode24 (Norwegian) 

The Stack (quote source)

GitHub Announcement

 

Edited by rcmaehl
Add news sources

PLEASE QUOTE ME IF YOU ARE REPLYING TO ME

Desktop Build: Ryzen 7 2700X @ 4.0GHz, AsRock Fatal1ty X370 Professional Gaming, 48GB Corsair DDR4 @ 3000MHz, RX5700 XT 8GB Sapphire Nitro+, Benq XL2730 1440p 144Hz FS

Retro Build: Intel Pentium III @ 500 MHz, Dell Optiplex G1 Full AT Tower, 768MB SDRAM @ 133MHz, Integrated Graphics, Generic 1024x768 60Hz Monitor


 

Link to comment
Share on other sites

Link to post
Share on other sites

57 minutes ago, TempestCatto said:

What does this mean for normies like me?

Short term? (Weeks/a few months) Not a ton. This library is a polyfill, meaning that it implements new javascript/web browser features in older versions of javascript. (With some hard limits on what is possible, and usually a performance hit compared to the new, native implementations.)

 

However, over the longer term: If this project falls to the wayside and is not picked up by a team or replaced by something else in the same space, users who won't or can't run the absolute latest platform updates and updated browsers will see fewer and fewer websites that function properly for them. This will be a gradual thing. Not all of the sites that use the polyfill are using all of the features that it supports, and the existing support isn't just going to vanish. (until the specific web dev team just can't do what they want with what is supported, and they refactor and just say "You need XYZ emcascript support to view this site.")

Link to comment
Share on other sites

Link to post
Share on other sites

I mean...unfortunate, sure, but I don't buy it being the general public's fault, or even really the companies using it. If he wanted to make money from it, he should have found a better way. It's like having a lemonade stand, charging $0.05 per glass, and then mentioning the fact you're not making much money. 

 

Is the current system open source? At least someone can just take it over and carry on. It's not the end of the world. 

CPU: Ryzen 9 5900 Cooler: EVGA CLC280 Motherboard: Gigabyte B550i Pro AX RAM: Kingston Hyper X 32GB 3200mhz

Storage: WD 750 SE 500GB, WD 730 SE 1TB GPU: EVGA RTX 3070 Ti PSU: Corsair SF750 Case: Streacom DA2

Monitor: LG 27GL83B Mouse: Razer Basilisk V2 Keyboard: G.Skill KM780 Cherry MX Red Speakers: Mackie CR5BT

 

MiniPC - Sold for $100 Profit

Spoiler

CPU: Intel i3 4160 Cooler: Integrated Motherboard: Integrated

RAM: G.Skill RipJaws 16GB DDR3 Storage: Transcend MSA370 128GB GPU: Intel 4400 Graphics

PSU: Integrated Case: Shuttle XPC Slim

Monitor: LG 29WK500 Mouse: G.Skill MX780 Keyboard: G.Skill KM780 Cherry MX Red

 

Budget Rig 1 - Sold For $750 Profit

Spoiler

CPU: Intel i5 7600k Cooler: CryOrig H7 Motherboard: MSI Z270 M5

RAM: Crucial LPX 16GB DDR4 Storage: Intel S3510 800GB GPU: Nvidia GTX 980

PSU: Corsair CX650M Case: EVGA DG73

Monitor: LG 29WK500 Mouse: G.Skill MX780 Keyboard: G.Skill KM780 Cherry MX Red

 

OG Gaming Rig - Gone

Spoiler

 

CPU: Intel i5 4690k Cooler: Corsair H100i V2 Motherboard: MSI Z97i AC ITX

RAM: Crucial Ballistix 16GB DDR3 Storage: Kingston Fury 240GB GPU: Asus Strix GTX 970

PSU: Thermaltake TR2 Case: Phanteks Enthoo Evolv ITX

Monitor: Dell P2214H x2 Mouse: Logitech MX Master Keyboard: G.Skill KM780 Cherry MX Red

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, dizmo said:

I mean...unfortunate, sure, but I don't buy it being the general public's fault, or even really the companies using it. If he wanted to make money from it, he should have found a better way. It's like having a lemonade stand, charging $0.05 per glass, and then mentioning the fact you're not making much money. 

 

Is the current system open source? At least someone can just take it over and carry on. It's not the end of the world. 

When one of the maintainer of Babel mentions how it would take too much from even them to maintain it, I don't think it will be very easy to do...

 

I would recommend you read his side of the story before continuing. It is very touching as it expresses quite well the passion that pushes open source devs to continue in the face of angry users and thankless work. 99.99% of us devs would have called it quits a looooong time ago but it shows his love for his project.

 

To end on a good note, his bitcoin wallet received a 20k donation thanks to this situation going viral on programming forums and some senior programmers have sent him job recommendations at good companies.

 

https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md

image.png

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/13/2023 at 3:21 PM, rcmaehl said:

 

FOSS development is pretty thankless, coming from someone who has a project with nearly 5 million downloads

The number of downloads is meaningless. Lots of javascripts are run directly off CDN services, or old versions run directly on the sites.

 

On 2/13/2023 at 3:21 PM, rcmaehl said:

Perhaps, FOSS funding should trickle down if your repo is a dependency in other FOSS repos. Perhaps, large corporations should make donations to FOSS software if they use it for profit. Who knows what the true answer to this situation is.

 

 

This is a catch-22. Remember this?

https://www.businessinsider.com/developer-sabotages-open-source-github-code-libraries-protest-corporations-2022-1

Quote

A programmer who authored a pair of widely used open-source code libraries reportedly sabotaged their own work in an act of protest against large companies using the work for free.

 

As a result, some users of the modified code saw their projects crash or print screens of gibberish, the tech news site Bleeping Computer first reported.

 

Both libraries were hosted on GitHub's open-source repository, NPM, which appears to have suspended the programmer's account. GitHub is the Microsoft-owned software development platform that many major companies use to organize and share computer code.

Here's my take on this. There is no objectively correct answer.

 

The first problem is that if you're a developer for ANY project that is not your own vanity project (eg a fan game, a customized fork of some project, etc) you should be being paid by someone to develop it. It's your own damn fault if you licensed it as GPL or BSD and big corpo's use it in their own projects. 

 

The ideal situation is that you develop something "useful" while employed at X, and thus it's really X's property, but licensed GPL or BSD. If the corpo will not accept that tool/script/library is being licensed as such, then it should not be used by X in the first place. Many employment contracts state that ANYTHING invented/written/developed while employed by X, are property of X, regardless of any attempted claim of ownership or license. If you are employed as a developer, for X, then you get no say in the license.

 

If you leave X, X will have a problem if you were the sole developer of X and you didn't license that tool/script/library/program to them immune from any subsequent license.  X doesn't want to be extorted into paying to maintain that thing, and as soon as you leave, X should be looking to replace any tools you wrote that you didn't leave the source code to.

 

Every company I've been employed by, either directly or indirectly, I've written code for, but almost none of them I was hired to write that code. I wrote it of my own volition because the company lacks tools, or the tools they use were ancient. Two of these companies are the biggest companies in their market. I would be surprised if either of them still had employees still using either code. In the case of the auction site, that company has a long history of harvesting code written by it's staff, but also unwilling to license anything, hell when I worked there, they were using a VERY old version of Macro Express, and they refused to update it because it would cost money. Yet lots of customer support tools were written to use it.

 

You don't want to be put in the position of a big corpo using your free tool or library because you didn't expect it to become popular, because you will be fielding all the support costs of the users of the software.

 

When I was doing work for the engineering company, in a position to decide what software was loaded on computers, I made a similar observation where there were some several-years-old software used instead of newer programs if it wasn't required, hell a lot of employees continued to use 10+ year old CAD and PDF tools. Adobe makes a lot of stink about licensing, but you'd be amazed at how many companies will go out of their way to avoid paying Adobe. At this company, some penny-pinchers decided that a freeware version of PDF-Express would replace all paid versions of Adobe Acrobat, without even asking the staff. So what kept happening? Everyone asked for Acrobat, (not Acrobat reader) back.

 

The second problem is when a program/tool/script was developed for your own purposes, but you licensed it improperly, and everyone took advantage of it.

 

There only correct license for an OSS library is BSD-like. If you make a library GPL, nobody will use it, because that will require them to open source their own stuff, so that makes it untenable. If you are writing an entire program that uses no third-party libraries, then GPL your heart out, but don't complain that nobody pays for development.

 

In either case, if you want to benefit directly from producing a library, then do not make the script GPL or BSD-like. Take the Redhat route and release the source code under a license that stipulates that enterprise customers must pay an on-going support fee. Just be aware that this creates a liability that you might never be able to afford to fight should you have to go after a company for violating the license, or vice versa.

 

This is why the correct license is always BSD-like. Use at your own risk, no warranty. GPL is a political license that says "you are not allowed to use it, without sharing your work." No enterprise company would be so stupid enough to agree to a GPL license on a library. 

 

Yet you routinely find commercial software out there is just a GUI wrapper or skin over a GPL tool, and usually an OLD version of the tool to boot (FFMPEG is the most common tool who's license is violated by being packaged in commercial software.) 

 

If you want to be PAID, then do not release something as open source under GPL or BSD. Release it under a dual license, where "integration in a commercial product, (including a website) requires an annual fee, and the product must always ship the latest version of this library" is one option, and the other is "free to use, if the product integrated is under a BSD-like license"

 

But I'll say this bluntly. If you don't release your code/library as BSD-like, someone else who finds that functionality useful, will go through the effort to re-implement the library under a more favorable license. We've seen this happen a few times (most notably Java.) 

 

The library in question core-js is a BSD-like (MIT license) so there is no way for the developer to go "oh, I'm just gonna make it private now", because everyone who has it already will just continue to use the last MIT-license version, and reject any changed license. The developer is also Russian, which complicates things further.

 

But the other problem is really how useful this library is. I'd say that polyfill libraries have expiry dates. It might be used on 80 of the top 100 sites, but I bet if you asked anyone who worked there, they would not know what core-js is. It's very likely that core-js was pulled in due to the nature of node development which pulls in lot of dependences because some idiot developer just includes "everything including the kitchen sink that they MIGHT use." Thus polyfills get put in to ensure that the functionality the library MIGHT have will work. I'm sure if you asked Paypal and Spotify to remove core-js, they would rip it out and see what breaks. If nothing breaks, it's gone.

 

Personally, as someone who has does javascript work, I hateeeeeeeee NPM. Turning Javascript into a Python-like development hell was a bad idea.

 

So if you're a javascript dev, and you have a popular library for some reason, and you want to be paid for that effort, as the sole developer you can just make it a commercial/dual license at any time. 

 

Alternatively abandon it. If it's really that useful, someone will fork it.

 

Link to comment
Share on other sites

Link to post
Share on other sites

42 minutes ago, Kisai said:

there is no way for the developer to go "oh, I'm just gonna make it private now", because everyone who has it already will just continue to use the last MIT-license version, and reject any changed license.

It's even less possible than that. The OD has accepted contributions from other developers, so unless there was an assignment of copyright/ownership signed as part of the PR process he doesn't even own the copyright to the entire codebase. If he tried to publish the next release under a more restrictive license, he would be violating the license terms himself.

 

51 minutes ago, Kisai said:

"integration in a commercial product, (including a website) requires an annual fee, and the product must always ship the latest version of this library" is one option, and the other is "free to use, if the product integrated is under a BSD-like license"

Have you ever come across a well-structured, well defined license setup for this type of use? One of the advantages to the "standard" open source licenses such as MIT, BSD-3, and yes, GPL(whatever variant you chose) is that they have been extensively reviewed by copyright lawyers, and in some cases have been evolved based on feedback from those same lawyers. This means we have a pretty good idea of exactly what these licenses would mean if cited in a court proceeding.

 

The dual-clauseing that you are suggesting would need similar levels of scrutiny to be workable.

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, sailsman63 said:

It's even less possible than that. The OD has accepted contributions from other developers, so unless there was an assignment of copyright/ownership signed as part of the PR process he doesn't even own the copyright to the entire codebase. If he tried to publish the next release under a more restrictive license, he would be violating the license terms himself.

MIT/BSD lets you do this.

 

3 minutes ago, sailsman63 said:

Have you ever come across a well-structured, well defined license setup for this type of use? One of the advantages to the "standard" open source licenses such as MIT, BSD-3, and yes, GPL(whatever variant you chose) is that they have been extensively reviewed by copyright lawyers, and in some cases have been evolved based on feedback from those same lawyers. This means we have a pretty good idea of exactly what these licenses would mean if cited in a court proceeding.

 

The dual-clauseing that you are suggesting would need similar levels of scrutiny to be workable.

My point here is that the developer clearly didn't have a plan on how to be paid to develop this project.

 

Some US-based developers have gone the patreon route. Source code is on github, bleeding edge builds are on Patreon. Clearly that won't work for libraries, but that can be done for ready-to-run software.

 

My opinion, is that this developer just wants to be paid, and is backed into a corner for multiple reasons (look at the core-js git) where he probably should have stopped developing it the minute IE11 was removed form Windows (which is today)

 

https://www.bleepingcomputer.com/news/microsoft/microsoft-edge-update-will-disable-internet-explorer-in-february/

 

With the removal of MSIE11, there should be no more need for a JS polyfill. 

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, Kisai said:

MIT/BSD lets you do this.

Pardon? Under either, I can:

  1. Release a proprietary application or library that uses the FOSS as a component library. I need to make it clear to the end user (at least if they actually chose to read the license terms) what terms the FOSS library is under.
  2. Fork and modify the code, releasing my changes under the same/compatible license.

What I cannot legally do is:

  • Take the FOSS software and make some changes, then release the modified version under my own proprietary license.

Both MIT and BSD have language along the lines of "Redistributions with or without changes must retain this set of license terms" specifically to prevent this case.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, sailsman63 said:

Pardon? Under either, I can:

  1. Release a proprietary application or library that uses the FOSS as a component library. I need to make it clear to the end user (at least if they actually chose to read the license terms) what terms the FOSS library is under.
  2. Fork and modify the code, releasing my changes under the same/compatible license.

What I cannot legally do is:

  • Take the FOSS software and make some changes, then release the modified version under my own proprietary license.

Both MIT and BSD have language along the lines of "Redistributions with or without changes must retain this set of license terms" specifically to prevent this case.

Maybe you don't understand what the purpose of the BSD-like license is. It's basically Public Domain without releasing the copyright authorship. Do whatever you want with it as long as you don't claim authorship over it. You know who is a huge beneficiary of BSD licensed software? Microsoft and Apple. Fork it, take it private, just don't pretend your wrote it first. 

 

BSD is the functionally correct license choice for software that is intended to be integrated into other works, such as websites and applications. GPL/LGPL licenses are incompatible with this, because of the requirement to release the source code and license everything as GPL "or later". So nobody in their right mind would ever release software as GPL if it wasn't intended to be part of a complete package (such as an OS, or an application.) The political goals of the GPL is incompatible with wanting to make money (from sales of the software.) BSD is not.

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/16/2023 at 5:10 AM, sailsman63 said:

Pardon? Under either, I can:

  1. Release a proprietary application or library that uses the FOSS as a component library. I need to make it clear to the end user (at least if they actually chose to read the license terms) what terms the FOSS library is under.
  2. Fork and modify the code, releasing my changes under the same/compatible license.

What I cannot legally do is:

  • Take the FOSS software and make some changes, then release the modified version under my own proprietary license.

Both MIT and BSD have language along the lines of "Redistributions with or without changes must retain this set of license terms" specifically to prevent this case.

They both actually don't.

 

They would be GPL style "viral" copyleft licenses if they did.

 

The whole point of MIT/BSD licenses is not to require sharing code modifications or even the original source code.

Quote

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

 

When it refers to notices, it means effectively the license text. So, if you distribute the source code "as is" (i.e. a copy) it needs to contain the license text. If you modify the source code you don't have to include the license text if you don't share the modified source code.

 

Or substantial portions means for example: copying the text of the license text in every code file as a code comment.

 

Usual open source license caveats apply:

  • Branding/naming is not covered by the license. You can't call your modified code the same as the OG project's name. - E.g. Streamlabs OBS is in violation of OBS's copyright because the name is taken from OBS or implies an authorised use of the name by OBS. No authorisation by OBS was given.
  • This also applies to logos or iconography. You can't use the OG project's images without consent unless the images are open source as well.

 

I am not a lawyer. This is not legal advise.

Judge a product on its own merits AND the company that made it.

How to setup MSI Afterburner OSD | How to make your AMD Radeon GPU more efficient with Radeon Chill | (Probably) Why LMG Merch shipping to the EU is expensive

Oneplus 6 (Early 2023 to present) | HP Envy 15" x360 R7 5700U (Mid 2021 to present) | Steam Deck (Late 2022 to present)

 

Mid 2023 AlTech Desktop Refresh - AMD R7 5800X (Mid 2023), XFX Radeon RX 6700XT MBA (Mid 2021), MSI X370 Gaming Pro Carbon (Early 2018), 32GB DDR4-3200 (16GB x2) (Mid 2022

Noctua NH-D15 (Early 2021), Corsair MP510 1.92TB NVMe SSD (Mid 2020), beQuiet Pure Wings 2 140mm x2 & 120mm x1 (Mid 2023),

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/14/2023 at 9:30 PM, dizmo said:

I mean...unfortunate, sure, but I don't buy it being the general public's fault, or even really the companies using it. If he wanted to make money from it, he should have found a better way. It's like having a lemonade stand, charging $0.05 per glass, and then mentioning the fact you're not making much money. 

I would actually say it's like having a lemonade stand that offers free lemonade and it also has an optional tip jar you can put money into.

On 2/14/2023 at 9:30 PM, dizmo said:

Is the current system open source? At least someone can just take it over and carry on. It's not the end of the world. 

 

 

On 2/15/2023 at 5:48 AM, Kisai said:

MIT/BSD lets you do this.

 

My point here is that the developer clearly didn't have a plan on how to be paid to develop this project.

 

Some US-based developers have gone the patreon route. Source code is on github, bleeding edge builds are on Patreon. Clearly that won't work for libraries, but that can be done for ready-to-run software.

 

My opinion, is that this developer just wants to be paid, and is backed into a corner for multiple reasons (look at the core-js git) where he probably should have stopped developing it the minute IE11 was removed form Windows (which is today)

 

https://www.bleepingcomputer.com/news/microsoft/microsoft-edge-update-will-disable-internet-explorer-in-february/

 

With the removal of MSIE11, there should be no more need for a JS polyfill. 

FF and Chrome and Safari don't all support the same JS features. There are still valid reasons to keep the project around.

Judge a product on its own merits AND the company that made it.

How to setup MSI Afterburner OSD | How to make your AMD Radeon GPU more efficient with Radeon Chill | (Probably) Why LMG Merch shipping to the EU is expensive

Oneplus 6 (Early 2023 to present) | HP Envy 15" x360 R7 5700U (Mid 2021 to present) | Steam Deck (Late 2022 to present)

 

Mid 2023 AlTech Desktop Refresh - AMD R7 5800X (Mid 2023), XFX Radeon RX 6700XT MBA (Mid 2021), MSI X370 Gaming Pro Carbon (Early 2018), 32GB DDR4-3200 (16GB x2) (Mid 2022

Noctua NH-D15 (Early 2021), Corsair MP510 1.92TB NVMe SSD (Mid 2020), beQuiet Pure Wings 2 140mm x2 & 120mm x1 (Mid 2023),

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, AluminiumTech said:

They both actually don't.

 

They would be GPL style "viral" copyleft licenses if they did.

 

The whole point of MIT/BSD licenses is not to require sharing code modifications or even the original source code.

I'll concede that I misunderstood the details of sharing modifications to a library these cases. However, even if my original understanding had been correct, they would still not have been "copyleft". The "viral" nature of GPL is in that it infects the larger, complete project - ie you'd have to release your entire application under GPL if you use a GPL component.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, sailsman63 said:

I'll concede that I misunderstood the details of sharing modifications to a library these cases. However, even if my original understanding had been correct, they would still not have been "copyleft".

Any license that requires that derivative works use the same license is inherently copyleft.

 

Per Wikipedia:

Quote

Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works.

5 hours ago, sailsman63 said:

The "viral" nature of GPL is in that it infects the larger, complete project - ie you'd have to release your entire application under GPL if you use a GPL component.

 

That may have been poor phrasing on my part but it would still be copyleft nonetheless for the reasons outlined above.

Judge a product on its own merits AND the company that made it.

How to setup MSI Afterburner OSD | How to make your AMD Radeon GPU more efficient with Radeon Chill | (Probably) Why LMG Merch shipping to the EU is expensive

Oneplus 6 (Early 2023 to present) | HP Envy 15" x360 R7 5700U (Mid 2021 to present) | Steam Deck (Late 2022 to present)

 

Mid 2023 AlTech Desktop Refresh - AMD R7 5800X (Mid 2023), XFX Radeon RX 6700XT MBA (Mid 2021), MSI X370 Gaming Pro Carbon (Early 2018), 32GB DDR4-3200 (16GB x2) (Mid 2022

Noctua NH-D15 (Early 2021), Corsair MP510 1.92TB NVMe SSD (Mid 2020), beQuiet Pure Wings 2 140mm x2 & 120mm x1 (Mid 2023),

Link to comment
Share on other sites

Link to post
Share on other sites

I feel sympathy for the Dev, but what exactly is his proposed solution? He released his work for free under a license that means it will be very difficult for him to monetize his work.

 

IMO, the guy either needs to abandon the project, find a backer to fund the project, or reduce the project to "hobby" time while he goes and gets a FT job elsewhere.

 

This is also, IMO, one of the potential pitfalls of making everything FOSS. We already know from other experience that most humans will not want to pay for something if they don't have to. If someone can legally just take your work and use it for free, most of them will.

 

I'm not a Dev, so I don't claim to understand the nuances between the various OSS licensing models.

For Sale: Meraki Bundle

 

iPhone Xr 128 GB Product Red - HP Spectre x360 13" (i5 - 8 GB RAM - 256 GB SSD) - HP ZBook 15v G5 15" (i7-8850H - 16 GB RAM - 512 GB SSD - NVIDIA Quadro P600)

 

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, dalekphalm said:

I feel sympathy for the Dev, but what exactly is his proposed solution? He released his work for free under a license that means it will be very difficult for him to monetize his work.

 

IMO, the guy either needs to abandon the project, find a backer to fund the project, or reduce the project to "hobby" time while he goes and gets a FT job elsewhere.

 

This is also, IMO, one of the potential pitfalls of making everything FOSS. We already know from other experience that most humans will not want to pay for something if they don't have to. If someone can legally just take your work and use it for free, most of them will.

 

It's because there's different political goals with different licenses. BSD-style licenses are about making the code widely available, usable, and not having to nickel and dime people over how to use or pay for it. BSD licenses are for libraries, software and operating systems that are attended to be accessible to everyone, everywhere, regardless of their situation.

 

GPL-style licenses, are about taking away the freedom to use with the software for commercial purposes. Calling GPL software "free" software is incorrect. It's only "free" if you use the software as-is. If you want to make a better program or OS, you have to release it under the same GPL license, including any changes you made to it. Which that can be a good thing when certain projects are largely beneficial (eg FFMPEG and OBS) and platform-agnostic, because that keeps people honest. However that's not always the case, and many times a for-profit company will wrap a piece of GPL software with a GUI or something and charge money for "the UI", despite the underlying software being an old version of the GPL software.

 

17 hours ago, dalekphalm said:

I'm not a Dev, so I don't claim to understand the nuances between the various OSS licensing models.

There's only two real models. GPL-like and BSD-Like. GPL licenses are intended to prevent commercial use of the software and it's source code. You can wrap a GPL software inside something else, and only have to provide the glue code to satisfy the license. BSD-Like licenses are intended to have no strings attached, and are as close to public domain you can get without releasing claims of copyright authorship.

 

Just to switch gears on the topic a bit, 

 

Creative Commons.

 

GPL is equal to CC-BY-SA-[ND]

BSD is equal to CC-BY.

 

Because GPL requires you to release the source code, sometimes under duress, it's possible to get a lot of bad GPL-licensed software that doesn't work outside the original developer's environment. 

 

https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar

Quote

The essay contrasts two different free software development models:

  • The Cathedral model, in which source code is available with each software release, but code developed between releases is restricted to an exclusive group of software developers. GNU Emacs and GCC were presented as examples.
  • The Bazaar model, in which the code is developed over the Internet in view of the public. Raymond credits Linus Torvalds, leader of the Linux kernel project, as the inventor of this process. Raymond also provides anecdotal accounts of his own implementation of this model for the Fetchmail project.

The essay's central thesis is Raymond's proposition that "given enough eyeballs, all bugs are shallow" (which he terms Linus's law😞 the more widely available the source code is for public testing, scrutiny, and experimentation, the more rapidly all forms of bugs will be discovered. In contrast, Raymond claims that an inordinate amount of time and energy must be spent hunting for bugs in the Cathedral model, since the working version of the code is available only to a few developers.

 

In my view, software should always be BSD-family licensed if it's any form of middleware. That's the only way you will get people willing to use the software over another BSD-family license. Nobody in their right mind would switch to a GPL middleware because their end-project would have to be GPL. No games should EVER be GPL, or use a GPL game engine, because that compels the game code, script, assets, etc to be released under the same GPL. If it's a complete project (OBS Studio, VLC, and FFMPEG) that runs on any platform, then GPL is preferable, so that anyone can grab the source code, compile and maintain it for their platform. In a game context, you can "make a game engine" that is GPL, while not licensing the assets under it, but you have to be extremely careful to not put any of the game logic into the source code. Essentially, you need to create a virtual machine that runs the "game script" but the game script is it's own compiled binary blob, not interpreted source code. If the game's code is interpreted, then it falls under the same license as the engine.

 

Failure to have that separation, means people could "fork" your game, make a trivial change, and then then put it on steam as their own version. This "can" work, sometimes. But generally a lot of game projects are cathedral's, and outside development is rather hostile.

 

Which brings me back to the OP, the mistake the developer made, was making it a BSD-family license and then wanting to make money from it. If I were them, I would abandon the project and not sink any more money or time into it. If someone else wants to fork it, let them deal with it. There is no scenario I see where any javascript middleware will ever be paid for, by any individual or company, because there is this view that interpreted code is free, regardless of the license. There is no way to ever make it not free, even if the license is changed and the only thing that keeps the users honest is their own good will.

 

How many times have you used a shareware product, or something purporting to be "free" but actually isn't? Now have you ever used the product beyond the time period, or reinstalled it to reset it? Yeah, most people have, because putting up with the nag screen is not a deal breaker if the tool is useful. However, changing the terms of that license from version to version is a great way to make people hack/crack the software out of spite, even if they would be willing to pay for it. This is why certain software (winzip is a great example, effectively killing the product with version 10, by making registration codes of the previous version inoperable.) If someone already paid for the software once, they will be upset if they have to pay again while the functionality is unchanged. They will also be extremely pissed off, if the developer doesn't provide reasonable support.

 

With a free(-ish) software license, you, the developer, are under no obligation to support the users of it. As soon as you start asking for money, you are effectively saying, "I am providing support to each end every user", thus you bring upon yourself the liabilities of doing so. 

 

This is why BSD-family licenses tend to be the safest license as well. Sure, you may never make money off the software itself, but you can create your own separate service contract for support of it, and if you get hit by a bus, or no longer have any interest in it, someone else can pick up where you left off. A GPL-licence will prevent any private development of the software, so if someone really likes your X software but needs to integrate it with their Y in-house software, they will pay you for writing and support of that integration, but only if it's BSD-family licenced. If it's GPL, they will not release their product under the GPL, so that closes a door in your face.

 

Again, GPL is most suited for "complete" projects. That's where it's strength is, but that requires chasing many fields of cats to get that project in a state where people will use it for it's intended purpose, and not have people constantly refactoring bits of it because they don't like the contributors coding style. Many OSS projects lack good UI/UX because the developers don't care about that (one of the reasons why "The Gimp" project has never been a good replacement for Photoshop.) Even OBS Studio was at one time pretty ugly and hard to use. But it's now pretty much the de-facto standard streaming software, because it does about 90% of the functionality people need, and the functionality it lacks, can be either added with plugins, or you are using OBS wrong. (for example, OBS is not a Newtek Tricaster, nor is it a Blackmagic ATEM.) OBS can be used with NDI and thus subsequently with a Newtek Tricaster but not Blackmagic's products which don't speak NDI.

 

Honestly, "picking the right license, for your writing/photos/paintings/software" really needs to be something taught in high school. So many people just pick something because that's what something else they use, uses, despite that license maybe being a political reason.

 

So in summary:

BSD-family: I don't care what you do with it as long as you leave my name in it

GPL-family: You must release the source to everything using this code as GPL.

 

It's a nice idea in theory, but if you want to be paid, NEITHER of those licenses are going to do that without compelling users to pay for a support contract.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×