wonderunit / storyboarder

✏️ Storyboarder makes it easy to visualize a story as fast you can draw stick figures.
https://wonderunit.com/storyboarder
3.24k stars 303 forks source link

License for this software is not clear #1977

Open mikeweilgart opened 4 years ago

mikeweilgart commented 4 years ago

I have read the sort-of-but-not-really a license that this project has.

It lists the following exceptions to the MIT license:

  1. I don’t want anyone, to charge for Storyboarder, with maybe the exception of Wonder Unit Inc. (If we struggle to make it free, you can’t be paid.)
  2. If you redistribute, attribute to Storyboarder and Wonder Unit with a link should be placed conspicuously both on distribution site and on the application itself. (Show credit to us for our work)
  3. Some sort of CLA (Contributor License Agreement), that states that they will grant an irrevocable license to allow the project maintainer to use the contribution.
  4. Right to freely distribute with the EXCEPTION of educational institutions, public or private, commercial or non-commercial. Educational institutions are free to download from Wonder Unit, of course.

You haven't actually written a license for the code; to be blunt, you've described in vague and somewhat self-contradictory English what results you would like to have for your license, if you had one. (Right now you don't.)

I strongly recommend that you DO choose a license, an existing license, rather than making up your own. The advantages for this are:

  1. It is much more likely to be properly written in enforceable legalese, without requiring expert paid legal advice.
  2. If/when it ever needs to be enforced for this particular project, a well-known license would already have been tested in court and there would be precedent, making enforcement easier.
  3. Potential contributors to the project will know what rights and obligations they have.
  4. Potential contributors who work for corporations will know if they can contribute or not, since corporate legal teams set guidelines based on well-known licenses only.
  5. You won't need any "contributor agreement" since a properly chosen open source license replaces any such need.

There are other advantages, but I'm sticking to the advantages to YOUR OWN project, not to such intangibles as the open source community at large or other such things since I do understand from the linked page above that you don't care about those things.

Right now, this code is really proprietary, not open source. You mention that the code has to be "attributed to Storyboarder and Wonder Unit"—but what if only a part of this codebase is used? Or what if the project is forked and combined with a more extensive codebase that you didn't write? Why should you be attributed then? These are semi-rhetorical questions; the point is that your license doesn't take such situations into account.

Since you don't want other people charging for the code, MIT license seems a bad choice. Perhaps GPLv2 or GPLv3? Note that these licenses don't prevent charging for the code; you can't really prevent that and be an open source license. However, since they DO require you to share the source code and they prevent you from forbidding others to share the source code, it becomes more or less irrelevant.

I recommend you research the area a bit further. It's a laudable goal to make your work usable for everyone's benefit. Ensuring you get the licensing ducks in a row at the beginning will make sure that the benefits don't cease, even 50 years down the line.

bvanevery commented 4 years ago

Seconded. It's unusual to find a technical who is also a creative and running a project capable of relevance to a commercial developer, in particular an indie game developer. I definitely feel the sentiment against FOSS zealotry, and I have wasted a lot of my so-called career on open source concerns. I have never tended to "fit" the Linux-techie crowd, as they just don't get commercial game development.

One of the big concerns is, what projects does one contribute to, based on the trajectory they seem to be on? Dan McKay, you almost understand what a commercial developer wants out of a project. But you haven't thought enough about licenses and what you want vs. what other companies want.

A project with a license in legal limbo, is not one I can give any brain cells to. As a developer, I can't tie my business to the whims of your business. MIT etc. "permissive licenses" are mainly about self-determination and I can't do that if I don't even know what part of the codebase is actually MIT or similar license. I can't very well have you telling me I can't make money, with some code. I'd simply not use any of the code, nor would I spend any effort to think about how it works / how to debug or patch it / etc. You would have pretty much established that it's your job as a business, not mine.

I'd need very clear boundaries on what code is usable for my own purposes, as I see fit for my own business. Maybe you haven't figured out yet that you actually want to be a straight up proprietary developer, instead of an open source outfit. I can't take the business risk of hitching myself to your wagon, working on your codebase, while you're still making up your mind about that.

Maybe you think there is no problem, because you imagine you and your company will do all the work yourself, and carefully control and enforce the nature of that work. Well, whether you want and realistically expect external contributions and labor inputs, is one of the dimensions of choosing a license. When you make certain choices, you don't get certain kinds of contribution.

As for licensing suggestions, if you're mainly concerned with being recognized as the original work, and preventing people from "faceplating" your work like that guy you banned, then you should look at the zlib license.