License and Permitted Usage #1141
Replies: 2 comments 8 replies
-
Hey @KiwiKilian, you're spot on! I am open to consulting you (or others) on the license choice, but you've got it right. I will also link the Open Source is not a Business Model article by @dcramer which touches on this topic. The main objective of me changing the license was to protect this package from freeloaders. I took Sentry's work as inspiration and applied their license as I identify with their views, but I am open to exploring alternatives if you're aware of any. The issue with MIT is that there's nothing stopping anyone from profiting off of others' open source work. As you pointed out, there's a lot of work being done on this project so I want to protect it rather sooner than later. This was a pre-emptive move, I am not aware of any non-permissive usage as of today. Everything you listed is permitted. The specific scenario I had in mind when looking at the license is someone building a service like Speakeasy (openapi-typescript-codegen's sponsor) on top of this package. You're also making a good point on the main application versus client packages distinction. I think you're right and the client packages should remain MIT, I will change that. Regarding the generated code, this is where a lawyer would probably know better, but my intent isn't to place any restrictions on it. My (perhaps naive) understanding is that as long as you're not charging people for generating SDKs, it's a permitted usage. You can get a rough idea of what's next on the roadmap from my sponsors page. While that list isn't exhaustive, I am unlikely to go in a different direction in the near-term. Long-term, the objective is to create a service like Speakeasy, hence the license change. Does that help clarify things? |
Beta Was this translation helpful? Give feedback.
-
@KiwiKilian I've added the FAQ page, let me know your thoughts please! https://heyapi.dev/license.html |
Beta Was this translation helpful? Give feedback.
-
A couple weeks ago the license of the project changed from MIT to FSL-1.1-MIT. It's totally understandable due to the amount of work you guys are putting into it, which is awesome. But this might create a legal problem for some users coming over from openapi-typescript-codegen. I'm especially concerned, many users didn't even notice due to #1140.
In our case we are working on government projects, which are to be released under a permissive license. This means we also sometimes have a whitelist of licenses to be used within our dependencies. Thereby the clearance to use this package is becoming troublesome.
I think it would be great to have a FAQ around the license choice. It would help to have clear examples of permitted and unpermitted usages. I also understand discussing this topic is difficult as most of us aren't lawyers and making statements towards this or any license can be complicated.
First of all, the FSL license was created by Sentry. We self-host Sentry under this license. Access is limited to employees and only we use this Sentry instance for our company projects, which we develop as contractors to our customers. I understand the license as permitting this usage, because we are not selling an direct alternative to sentry.io to our customers, but rather we are employed to develop and run a specific software for our customers. Only we use Sentry as a tool within our belt to monitor our applications.
There is similarity towards
@hey-api/openapi-ts
. We use it to create API clients directly in each project, which again is only one of our tools to create the software and the result itself is not a service or product which would allow OpenAPI client generation. Thereby I figure it's a permitted usage. But currently it is not 100% clear what services hey-api commercially provides. It's not publicly documented, what the GitHub action does, which I guess is going to be a commercial service?I also see other problems about client side code: Sentry only licensed their main application under FSL, not their client packages. Did you consider to only apply FSL towards
@hey-api/openapi-ts
and keep@hey-api/client-fetch
under MIT?Furthermore, what license applies to code generated by
@hey-api/openapi-ts
? This would also be relevant if a client is published by itself as a package, which I guess would also be permitted usage?Beta Was this translation helpful? Give feedback.
All reactions