1j01 / jspaint

🎨 Classic MS Paint, REVIVED + ✨Extras
https://jspaint.app/about
MIT License
7.24k stars 565 forks source link

Add LICENSE file to the project #18

Closed cebaa closed 2 years ago

cebaa commented 6 years ago

To answer standard questions: code contributions, embedding elsewhere, license of the images created by the app, derivative works, license of the libraries used, etc.

As an aside, impressive work you have here!

prepare commented 6 years ago

ping @1j01

:)

alexgleason commented 6 years ago

The main benefit this tool would have over the original is that it respects the freedom of its users to inspect, modify, and redistribute it. Without that, it is a great technical feat and fascinating project, but not very beneficial to society.

I would really appreciate seeing an open source license alongside this work. I think that doing so would be beneficial to society and I would personally reach for it as a tool to accomplish some graphic editing.

emilv commented 6 years ago

There are Microsoft assets in this project so adding a copyright claim might not be very wise (it's technically copyright infringement already, but adding a claim might force MS to take legal action).

I agree that free and open source software is best for society, but at this point the focus should be on removing any material copyrighted or trademarked by others.

kungfooman commented 6 years ago

Just put all licensed assets in a subrepository? So you can claim a license on this repo and leave the media subrepo licenseless.

Most people probably only care about the actual code and will then redo the needed assets (if your choosen license fits their purpose).

alexgleason commented 6 years ago

I don't think it needs to be split into a separate repo. You can license code differently from assets by simply writing "The code is licensed under XYZ and the assets are licensed under ABC"

1j01 commented 6 years ago

I think the use of the assets from MS Paint should fall under Fair Use (as a remix), and, I shouldn't claim copyright over them specifically, but couldn't I still over the project as a whole? I mean, like music that uses samples from other music / copyrighted works can still have copyright of its own - but maybe it doesn't work the same.

Anyways, I do intend to license this project, but - not yet. I don't think it's ready, or that I'm ready. Keep in mind that most of you wouldn't be asking me to add a license if someone hadn't leaked the project to HN. 😄 And I might go with a less permissive license like the AGPLv3 at first, and then switch to MIT later.

prepare commented 6 years ago

@1j01 ,

Would you mind if I ask you to use some permissive license.


PLEASE 🙏

:)

1j01 commented 6 years ago

@prepare What do you intend on doing with it?

prepare commented 6 years ago

Study/Use your code :)

and everyone can integrate the code to their project without worrying about a copyleft-license problem.

prepare commented 6 years ago

@1j01

if you use a copyleft (eg. AGPLv3),

someone like me can't study/use that code!

1j01 commented 6 years ago

@prepare Huh? You can study the code all you want right now, although it's not good code, generally - it's rather a mess, a lot of it anyway. Maybe we have different definitions of "study"?

As for people integrating it into their project, that's what I want to avoid, for now. I don't want a bunch of broken old versions around, with my name on it, especially since there are still several features that haven't been implemented yet that look like bugs because I've already created the GUI for them since I had MS Paint to base it off of, and so it was easy to have functional-looking options that aren't implemented. I'd also like to update the About Paint window with a version number, and collect attribution information for the libraries used, and various other things like that.

prepare commented 6 years ago

Haha, That is my first step before 'study' some project.

I find a license first. If it is a copy-left one. I stop at that file.

If no an explicit one. It may be a copyleft, so I ask the author of that project.


@1j01 , I understand your intention. I cheer you to finish the work soon!

Mikotochan commented 6 years ago

someone like me can't study/use that code!

How so? Unless if you want to use it in a non-free software.

As for the people asking for a license, you do not really need one. It is not like @1j01 will sue you. But even if she wanted to sue whomever made a change or distributed this code you could just use tor/i2p in order to distribute your changes.

emilv commented 6 years ago

"Fair Use" as a concept varies by country. For example, in Sweden you cannot copy images under fair use, not even small thumbnails (this has been tried in court). So whether image assets in software can be "fairly used" is up for interpretation and local laws.

Trademarks are more straightforward, just opening the "Help" section I saw both a Windows logotype and the names "Microsoft" and "Windows". Microsoft have to fight back against unauthorized use of their trademarks or they risk losing them.

The last question is if you can publish software under a GPL license but with non-free assets. That seems at least a little bit sketchy. Remember that a free software license is a license from you towards your users to copy, modify, publish and use the software in any way - including for commercial purposes. OpenTTD removed all the third-party assets and made you download them from other sources (I think they now ship completely free themes that they made themselves, precisely because it was clumsy having to pirate the original game just to get the assets). For what it's worth, this question has been covered on the Open Source Stackexchange and the answers I find on the subject are more positive towards separate licensing than I am.

1j01 commented 6 years ago

@emilv All good points. I'm definitely gonna think some more on this.

hjek commented 6 years ago

I really like this project, and would like to add to it, e.g. make it possible to run a self-hostable version of the multi-user paint that doesn't rely on use the non-free Firebase code to connect to Google's Firebase SaaSS, or perhaps create an alternative theme free of MS-owned assets.

Since there's no license on JS Paint, I'm not allowed to do that (not even in a fork).

Would you please consider adding a free license to this ASAP? (AGPL, as you suggest above, @1j01 , is a good copyleft license for web apps)

Immortalin commented 6 years ago

@1j01 MIT would be a better choice if you ever want it to gain adoption beyond just casual artists

ananthb commented 5 years ago

Any updates on this? I want to use this for a work project, but I can't without a license.

1j01 commented 5 years ago

@ananthb What would you want to use it for? The codebase is kind of a mess, and the project is mostly just recreating an old image editor, rather than trying to be a good one.

ananthb commented 5 years ago

It's for a side project at work. I need an online image editor and I like the look of this.

christianliebel commented 5 years ago

I added support for some of the upcoming web APIs (full clipboard support, file system access) to JSPaint, because that really makes a nice demo: https://github.com/christianliebel/jspaint

As I (and probably 246 other people who have forked) want to be on the safe side, it would be great if you could provide an OSS license for JSPaint. Thank you!

1j01 commented 5 years ago

@christianliebel I actually added full clipboard support about a week ago: https://github.com/1j01/jspaint/issues/105#issuecomment-532435498 Sorry that work became redundant - but file system access is interesting!

1j01 commented 5 years ago

Here's basically what I want to do before licensing (subject to change and delay):

christianliebel commented 5 years ago

@1j01: Do you plan to introduce a build process? Especially for offline capability (service worker generation), this could make sense! For webpack there’s a plugin that extracts licenses, alternatively, we could use license-checker.

christianliebel commented 4 years ago

What would you want to use it for?

@1j01 I like your app really much, and I would like to use it as a demo/playground for web capabilities that we might see in the future (like NativeFS, but also imagine Touchbar support, native menu bar support for the installed JS Paint, etc.)

The codebase is kind of a mess (…)

Licensing it might attract developers willing to refactor it. Apart from that, there are ways to migrate the codebase step-by-step, as shown in https://github.com/1j01/jspaint/pull/143.

And I might go with a less permissive license like the AGPLv3 at first, and then switch to MIT later.

This project has an incredibly high potential for unleashing developer creativity. I think it would be important that it’s licensed using a permissive license such as MIT (or rather BSD-3-Clause, which you might want to have a look at). In fact, this project is based on software with a permissive OSS license. 😉 In this context, adopting a code of conduct as in https://github.com/1j01/jspaint/pull/70 would also be helpful.

Btw, I added some PRs which would also fix the last two checklist items. If you need help with the local backup feature, let me know. 👍

mgiuca commented 4 years ago

And I might go with a less permissive license like the AGPLv3 at first, and then switch to MIT later.

Hi, just to add to what @christianliebel said, AGPL will make it difficult for contributions from companies. I work for Google and we're interested in contributing, but the company has a policy against contributing to AGPL-licensed projects, and I assume many other companies will too. (In summary, the fact that AGPL extends GPL's virality to merely running the software makes it too risky for us to contribute to.) If you want a restrictive copyleft license, might I suggest plain GPLv3, which still requires all changes to be GPLv3-licensed. Being a client-only application, the network requirement of the AGPL doesn't really buy you any extra protection anyway.

Having said that, I don't think it is ever a good idea to choose a restrictive license if you plan to make it more permissive later. As soon as you start accepting contributions, it will basically become impossible. If you made the project (A)GPL, then start accepting pull requests, you will now have multiple copyright holders and you'll need to have every single contributor agree to change the license to a more permissive license at some point in the future. If you want the project to be MIT-licensed, you should use that license from the start.

(Note: This is not legal advice, merely advice that I personally think would help you get better adoption.)

pkrasicki commented 4 years ago

@1j01 Hi, this is a really cool project! I would love to contribute to it. If you don't want to use a permissive license I think GPL would be the best choice. It seems that you want to make the app better, before you add a license, but that is really not necessary. No app is ever perfect and there is always something to do :). This issue was opened over 2 years ago and I really don't think it makes sense to delay this. Please let other people help you develop this cool app, so that we could have the best Paint ever! :)

RobertoJBeltran commented 3 years ago

Want to voice my support in your decision to copylefting your code when possible. It could be a drag, but you definitely have the option to switch to a permissive license at some point, or allow for exceptional proprietary commercial use for some money. You can look at what stepmania and wine have done as an example.

I think the use of the assets from MS Paint should fall under Fair Use (as a remix)

I'm not a legal expert, but I used to be into music and I can tell you that at least in the US if you sample someone's song and they want to come for you they can. You can look at what happened to the harlem shake or what happened to hip hop in the 90s. I would reach out to licensing@fsf.org for some guidance in your case, so you don't get yourself into trouble.

tcoulter commented 2 years ago

Hey there, any update on the license? I'd love to use it as an editor for my project, but can't without the proper license. Very happy with attribution.

pkrasicki commented 2 years ago

I wonder how that would work legally. Some people had their pull requests merged and I think they own the copyright to those changes? So can the author even add a license without their permission?

Even if the answer is yes, after 4 years I doubt this is going to happen.

christianliebel commented 2 years ago

Hey there, any update on the license? I'd love to use it as an editor for my project, but can't without the proper license. Very happy with attribution.

@tcoulter In the meantime, I started another project here: https://github.com/christianliebel/paint All under Apache 2.0, without any copyrighted assets. Also, it's available as a web component, so you can easily integrate it into other projects. However, not all tools and actions are implemented yet.

tcoulter commented 2 years ago

I saw that! (after I made this post)

I noticed that on small images pixels look fuzzy around the edges. Is there a way to turn that off? (It's important to my use case)

Either way - this isn't the right place for support. I'll take a closer look, see what I can figure out! Thanks!

On Tue, Oct 19, 2021 at 1:37 PM Christian Liebel @.***> wrote:

Hey there, any update on the license? I'd love to use it as an editor for my project, but can't without the proper license. Very happy with attribution.

@tcoulter https://github.com/tcoulter In the meantime, I started another project here: https://github.com/christianliebel/paint All under Apache 2.0, without any copyrighted assets. Also, it's available as a web component, so you can easily integrate it into other projects. However, not all tools and actions are implemented yet.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/1j01/jspaint/issues/18#issuecomment-947085804, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAWTVMRTZGSSEJEYRJR2NLUHXJH3ANCNFSM4EATE3YA .

pkrasicki commented 2 years ago

Awesome project, @christianliebel! I thought about doing that as well at some point, but I'm glad I don't have to and your app works very well :). If you guys like Free Software drawing apps you can also check out mine: https://github.com/pkrasicki/SyncPaint.

1j01 commented 2 years ago

Alright, everyone, JS Paint is finally officially Open Source!

You know it had to be the familiar, the permissive, the short and sweet MIT license.