Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LICENSE change notice #1079

Closed
borisdj opened this issue Jan 22, 2023 · 19 comments
Closed

LICENSE change notice #1079

borisdj opened this issue Jan 22, 2023 · 19 comments

Comments

@borisdj
Copy link
Owner

borisdj commented Jan 22, 2023

Lately as the library has grown significantly, its maintenance has become immense.
It's very time consuming and practically requires a full time job, while at the same time I have less spare time to commit to it.
So in order not to leave the project, I've been considering options to make further development sustainable in the long run.
Essentially I was looking for the best way to fund it (an attempt to find a fix for the so-called "broken" OpenSource - bOS).

I believe the lib. is useful to many and has a great potential, seen from the number of stars, forks, downloads, contribs, issues,etc.
Throughout its 6 years history it was quite a journey while significant work was made.
Also big Thanks to the community and contributors.

Anyway to get to the point.
After thoroughly research and even more contemplating conclusions are the following:

  • Plan is to keep all features in a single library.
    (splitting features for closed or paid versions is complex and not the way I would like to proceed).
  • And everything to remain OpenSource but also Free for those with financial issues.
    (OpenSource makes it easier for debugging and contributions,
    and at the same time is less risky to users in case the project ever ends).
  • Donations did not work, and they rarely do, which was confirmed with many other popular libs (DYOR).
  • Paid support or similar were also not feasible.

*_So I've decided what seems to be the best way to go: Dual license.
1-Keep free community license for personal use and private projects, non-profit(non-gov.) org and charities, small companies, significant contributors.
2-Add commercial license for entities with annual gross revenue more than 1 million USD (support included).

Have tried to keep it as simple as possible, but also fair (level playing field) and relatively cheap.
Purpose was not to rip off anybody. It makes sense that those who profits the most give something back from all the value they are getting with their business in the industry (Pareto Principle in business model)
Price for bigger players over the revenue limit will be per company for yearly subscription.
(free for first Month to try it, one license covers all DB providers):
Will be reasonable cost in range from several hundred to a few thousand dollars with Tiers depending on size of company:

  1. STARTER for smaller ones with few developers,
  2. STANDARD for mid size up to 20 devs,
  3. PROFESSIONAL for big firms over 20 devs,
  4. ENTERPRISE for large enterprises,

For them it is petty cash, while it could hopefully enable the project to stand on its feet, and all other users get it for free.
Others can still make the donations and will be listed as Backers or Sponsors.
This gives all the features to small users for free while gets money from large organizations who are earning a lot.
I call this cFOSS - conditionally Free and OpenSource Software.
Another way to frame it: SOS - Sustainable OpenSource.
Notable projects with similar structure: ImageSharp, MathParser,
Visual Studio also with Free Community edition for up to 5 users in a company.

I am not completely sure how well this will work, but I'm optimistic.
Am aware somebody could try to bypass the obligation, but then it requires their own maintenance.
Let's call this loosely enforced funding.
So not paying the price, small as it is, is not worth the complications.
Also I believe the majority will support it in a regular manner.
It is a rational thing to do, and also in their own interest to have better insurance for LTS.
Lastly will see if we could make a reward model for impactful collaborators.

If anybody has more ideas to add about planned progress, you are welcome to share them.
#StayTuned for new updates

@JasonLandbridge
Copy link

Fully agree! It is the unfortunate reality that voluntary donations are never enough to sustain open source development and I'm grateful that you keep it free for personal use. Thank you so much for all the hard work you have put into this amazing project!

@borisdj borisdj pinned this issue Jan 23, 2023
@bdbvb
Copy link

bdbvb commented Jan 23, 2023

Thanks for including non-profits for MIT :-)

@marklagendijk
Copy link

I can see an issue with the legal side of this. As soon as you license something under a permissive license like MIT, the limitations you add to the other license cannot be enforced. This is because the MIT license allows you to do basically anything, including sublicensing and selling the software.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so ...

Be careful with maintaining a library like this instead of doing a job / freelance work, with the hopes of making money off of it. Maybe contact the guys from ImageSharp and ask them how well they are doing with this (they've been trying this path for several years now). Given that the ImageSharp libraries service a broader need, I would expect that it will be easier for them to make money with it.
You can only spend your time once. So consider carefully how you will feel about your time spend on it, when the income turns out to be disappointing. Think of your own life and happiness first.
Projects like these shouldn't become a chore you feel obligated to do.

As a developer I tend to avoid libraries that have a dual licensing model or paid subscription. I would only consider using them if:

  • There is no other library that does the same
  • The library fills an essential need of the application I'm creating
  • I'm confident about the continuity and development of the library

The main problem isn't the money. It's the whole hassle around it:

  • Get permission
  • Deal with payment / invoice / administration
  • Deal with repayment / invoice / administration
  • This for every paid product, so fewer products => less hassle.

@borisdj
Copy link
Owner Author

borisdj commented Jan 26, 2023

@marklagendijk
I was more or less aware of these issues.
Still thanks for another Insight.

On the legal side other consideration was GPL instead of MIT for the free option.
But at the moment I decided to try first keeping it, if (loosely enforcing) doesn't work well, will consider the change.
I suppose your suggestion would be to change it sooner.

This is an attempt, if it works - great, if not - life goes on.
Appreciate the concern, especially for happiness :)

Normally one would first seek for free options, but which are also reliable, upToDate and have active maintenance.
Still when there are no good free ones, then next option is (conditionally) paid.
Also in this case somebody that qualifies might first use it as free and later when the company grows its not problem to start paying a subscription.
Furthermore big companies are likely to conform to the license requirements.

Agree that sometimes papers can be more hassle then the money, but its not that much trouble.
Payment with ebanking or paypal and receiving a document with license on mail can all be done in an hour (once a year).

@karl-sjogren
Copy link

The licensing here is a bit to unclear on how to count developers so getting a license was shot down for me.

I work for a small firm (~15 developers/project managers) with a small team (2-3 developers) building a system for a huge customer which have their own developers, but none that are working with us in any capacity.

Which license would be right here? And who would need to own the license?

  • Starter based on the team being the only ones with access to the code and environments?
  • Standard due to our company size? (if we got the license)
  • Enterprise due to the size of the company we are doing the work for? (if the customer got the license)

@borisdj
Copy link
Owner Author

borisdj commented Jan 27, 2023

For specific situations best to send inquiry to the mail from License page and our team will provide all the info.

Essentially if the project you work on is an application belonging to your company, and you are just selling the software as a service, then your company buy the license.
Otherwise if it belong entirely to the bigger company, and you are just subcontracter for development, then only the bigger company should pay the license which would include your team, provided you don't use the library in other projects that do not belong the bigger company.

@kentkost
Copy link

I see an issue with this Dual License.

The way I read this is that I am theoretically able to make a personal fork of the library to my own repository, which will be licensed under MIT. I can then use my own repository at work instead of this one to effectively bypass buying a commercial license.

It needs to be crystal clear that the dual license propagates throughout all subsequent forks - such that even if 100 release cycles and forks later it turns into some kind of weird data migration tool. Then the end-user would still have to buy a license if the software is to be used within a company that has a revenue of $1mil or more.

I mainly use BulkExtensions mainly because Entity Framework Extensions requires a license. And I am afraid having a free BulkExtensions would still just give companies an out.

Obligatory:
I am not a lawyer. I know shit about licensing. Other than it being complicated.

@TofAtWork
Copy link
Contributor

Terrible decision
As a contributor, I feel completely betrayed
I wouln't have spent one second of my time to help fix this project if I had knew that you would take those kind of choices

@DanielStaroscik
Copy link

What license will be appropriate for the statistical office?
As a government institution, we do not make money from the statistics we produce.

@borisdj
Copy link
Owner Author

borisdj commented Mar 7, 2023

I also did not know I would make this decision, but it was that or nothing.
And individuals and small companies still have it for free.
But of course everybody has a right to a personal opinion.

@borisdj
Copy link
Owner Author

borisdj commented Mar 7, 2023

@DanielStaroscik
NonProfit are meant for nonGovernmental, since gov. orgs mostly do not have funding issues.
Still you can send an email at efcorebulk@codis.tech with more details and our team will see what can be done for your case.

@DaveVdE
Copy link
Contributor

DaveVdE commented Apr 6, 2023

Any license change like this is a punch in the face of those that have contributed in the past. Good luck receiving more contributions from here on.

@bjss-colin
Copy link

Hi,

Could you provide some clarity around the licensing model for government organisations. Particular this

NonProfit are meant for nonGovernmental, since gov. orgs do not have funding issues.

I am a consultant for a publicly funded healthcare provider which is government owned. We develop open source applications in the interest of transparency for the public. It absolutely isn't true that government orgs do not have funding issues and, back to the point made by @DanielStaroscik since we too don't profit from our software, if we (as an organisation, or department) do not profit from the software and/or work, then there simply is no profit to invest.

@borisdj
Copy link
Owner Author

borisdj commented Apr 6, 2023

@bjss-colin
There are a lot of public institutions and government companies that are not for profit explicitly but still have large budget, grant from the state that is used to pay for all the expenses. So it is not profit that is used for purchases but from their annual budget.
Those with low budget, under 1 mil, are by default excluded from requirement, others (million+) I would consider are able to pay a small fee.
Again you can mail us at efcorebulk@codis.tech with all the details and our team will see what can be done for your specific case.

@MemeDeveloper
Copy link

@TofAtWork I think your message is unpleasant and unreasonable.
It's very upsetting others have liked your message.

  • Your contribution is a single commit, editing two files (in the region of 20 lines of code diff (WS ignored)).
  • You have zero public repos at all on GitHub except for a fork of this (which looks to me to be breaking multiple laws in multiple jurisdictions). https://github.com/TofAtWork?tab=repositories

If you were Evan You or a similar OSS contributor I'd be interested by your opinion on this licencing move, as it is I think you could consider being more thankful and less critical of someone who has clearly devoted a lot of time and effort to a project that's helped thousands of others deliver quality software.

Bottom line - if you make 1M USD revenue a year - then $800 USD is only 0.08% of your revenue - I think not an unreasonable request.

If you don't like that - code your own (and release it on GitHub for free, maintain it, then return and tell us all about what YOU have contributed to the world for free).

@borisdj
Copy link
Owner Author

borisdj commented Jun 14, 2023

@MemeDeveloper appreciate the support.

@DaveVdE
Copy link
Contributor

DaveVdE commented Jun 14, 2023

  • Your contribution is a single commit, editing two files (in the region of 20 lines of code diff (WS ignored)).
  • You have zero public repos at all on GitHub except for a fork of this (which looks to me to be breaking multiple laws in multiple jurisdictions). https://github.com/TofAtWork?tab=repositories

Please elaborate on what laws have been broken?

@borisdj
Copy link
Owner Author

borisdj commented Jun 14, 2023

Not sure what he meant there, but it's not a legal issue, since anybody can fork a repo.
Forks and in addition Contributions are still welcomed.
I think we got comments from all sides of opinion spectrum, and the change is finished so this could be closed.
Also I respect critique, although prefer it be justified and unbias :)
And will give more credit to a criticism with proposed better solution then just unconstructive disapproval.

@MemeDeveloper
Copy link

MemeDeveloper commented Jun 15, 2023

@DaveVdE sorry yes you are right there about legal side - I was far too quick to write that (I thought the fork was taken after this licence change, but with more permissive MIT licence, which I think would be 'legally dubious'). Bottom line I am not a lawyer of any kind. Please ignore that. Thank you @borisdj for the excellent work, when next invoice is in - I will be donating.

@borisdj borisdj closed this as completed Jul 3, 2023
@borisdj borisdj unpinned this issue Jul 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests