Code Monkey home page Code Monkey logo

Comments (7)

edavis avatar edavis commented on May 29, 2024 1

Hey @dwemerx — You can go ahead and host that instance of hnrss you mentioned earlier. Permission granted or whatever the magic words are :)

Going with BSD-3-Clause for this project is still the plan but I'd still like to do some more research to better grok the whole source/binary distinction before I commit to it.

Many, many thanks for your detailed write-ups throughout this issue thread!

from hnrss.

dwemerx avatar dwemerx commented on May 29, 2024

Hey! I'd like to help, but I don't understand your question. What do you want to achieve? Do you want others to re-use your code? Do you care if they are going to use in a proprietary software?

Generally, if your code doesn't use any code with a restrictive license like GPL, EPL, or some proprietary license, you are free to license your code however you want. If you don't, then anyone who wants to use your code must have your written permission.

from hnrss.

edavis avatar edavis commented on May 29, 2024

Hi @dwemerx! Thanks for jumping in on this.

Hey! I'd like to help, but I don't understand your question.

I guess to rephrase... licensing is something I've always punted on because most of my Github projects are just fun hacks and legalese isn't as fun as hacking around. But hnrss.org is somewhat popular so I figured it was time to think about this sort of stuff. I didn't have any particular license, license type, or goal in mind. Just tossed this Issue up so I wouldn't forget.

What do you want to achieve?

Primarily, I want to build something useful for myself and share it with others. Secondarily, a playground for myself to learn new languages/libraries/techniques.

Do you want others to re-use your code? Do you care if they are going to use in a proprietary software?

I don't mind if others use my code and I don't mind if it gets used in proprietary software.

Generally, if your code doesn't use any code with a restrictive license like GPL, EPL, or some proprietary license, you are free to license your code however you want. If you don't, then anyone who wants to use your code must have your written permission.

I did a quick skim and every imported library (outside the standard library) is either MIT (andrewstuart/goq, gin-gonic/gin, gin-contrib/gzip) or BSD (PuerkitoBio/goquery, used by goq I believe).

I'm the only author of the currently running Go version of the service. I think there were two authors that helped with the previous Python version.

Good questions. This is the sort of thing I needed help thinking through.

from hnrss.

dwemerx avatar dwemerx commented on May 29, 2024

Got it!

A thing about BSD-licensed libraries - to comply with the license, in most cases (if not always) you must put a copyright notice somewhere. I believe in this case it will be enough to just create a section called "Libraries" in the README file and specify the used libraries and what their licenses are there.

As the code owner, you are free to license your code in any way. You can even double-license it, e.g. have a free version licensed under GPL and a proprietary licensed differently.

Here are some of the permissive licenses I like and the ones you would probably want to use:

  • MIT License - very popular among web developers. Can be translated to plain English as "Do whatever you want".
  • BSD License - also a popular license from Berkeley. In its core, can be translated as "Do whatever you want, but leave a copyright notice" with some other rules, depending on the version.
  • Apache License - popular among companies. Very similar to BSD-3-Clause, but much more detailed.

All of them imply that you aren't liable for any damage made by your code and you give no warranty that it works/will work.

You can find more information here - https://opensource.org/licenses/category

If you don't have a particular choice on this matter, I'd propose BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause . I think it will be a great choice.

from hnrss.

dwemerx avatar dwemerx commented on May 29, 2024

Hi,

Any updates? I'd like to host an instance of your amazing project (with proper credentials and not making any money out of it), but I can't do that until there is a permissive license or you write that you are fine with it.

from hnrss.

edavis avatar edavis commented on May 29, 2024

Howdy @dwemerx. Sorry to leave you hanging! I missed your reply on Nov 19.

A thing about BSD-licensed libraries - to comply with the license, in most cases (if not always) you must put a copyright notice somewhere. I believe in this case it will be enough to just create a section called "Libraries" in the README file and specify the used libraries and what their licenses are there.

By chance do you have any examples of this? I looked at some BSD-3-Clause licensed projects on Github written in Go but I'm not seeing anything like this. Or maybe they're not using any BSD-3-Clause licensed libraries?

Any updates? I'd like to host an instance of your amazing project (with proper credentials and not making any money out of it), but I can't do that until there is a permissive license or you write that you are fine with it.

Thank you for the kind words!

I'll probably end up with BSD-3-Clause but one final question (I think). I appreciate you offering to include a link back to this project and now that I think more about it, a link back to this official project is something I would like all other public instances of my code to include.

Would BSD-3-Clause enforce this requirement? Is that what is meant by "do whatever you want, but leave a copyright notice"? Or should I be looking at a different license?

Like if somebody cloned hnrss (licensed as BSD-3-Clause) and launched hnatom.org and made Atom the default format, would they have to acknowledge hnrss.org to be compliant with the license?

(I'm asking a lot of you! Any help/info you want to provide is greatly appreciated but don't feel obligated. Thanks!)

from hnrss.

dwemerx avatar dwemerx commented on May 29, 2024

Sorry for the delay! I wanted to reply the next day, but had too many things moving around and forgot. And I am happy to help, your project is something I use daily :)

By chance do you have any examples of this?

In VLC (their Android app), there is a list of used libraries (some of which licensed under BSD and Apache). DAVx5, Tasks.org and many other Android apps also have similar lists in their about section. All big browsers (Firefox, Chrome, Chromium, etc) have it. There are proprietary apps on all platforms that have such list, but it is hard to find them because they tend to use as less open-source code as possible (except code that do not require any attribution).

The bigger the project, the more seriously it takes licensing. Small projects sometimes violate the licensing terms, but only because didn't yet have the need to think about it. In the majority of cases no one cares unless the project is used in production or makes money.

I looked at some BSD-3-Clause licensed projects on Github written in Go but I'm not seeing anything like this. Or maybe they're not using any BSD-3-Clause licensed libraries?

Unfortunately, I am not familiar with the Go ecosystem, but if they have a binary form (like a GUI app) they may distribute the list of used licenses in the binary form, somewhere in the about section.

a link back to this official project is something I would like all other public instances of my code to include. Would BSD-3-Clause enforce this requirement?

No. If they distribute (= run the app on a server with a public IP) unmodified version of your software, they don't have to do anything. But the unmodified version, when receiving requests to "/", redirects visitors to your wiki from where they can get the link to the git repo.

If, however, someone would remove the redirect, they would have to somehow inform the visitors that they use your code, probably by creating a new route that would return the copyright notice. They can't just mention it on the redirected website because the website itself doesn't use your code.

If they would remove the redirect and only distribute the app in a source code form (via Github, for instance), they would have to mention your project (by name) and the fact that it is BSD-licensed.

should I be looking at a different license?

To my knowledge, there are no open-source licenses that require such attribution. You can take any existing license and modify it. Here is what Telegram did.

For example, if you are going to use BSD-3-Clause, you could say something like "The second condition can be met by including the link to the LICENSE file in the About section of the redirected or displayed website, if any.", so if someone will change the redirect link, they can comply with the license by linking your github repo in the about section. Although, I am neither a lawyer nor a native speaker, so there is most likely a better wording for this.

Lastly, as I previously mentioned, as the code owner, you are free to change the license at any time. Even if you'll decide to make your app closed-source and delete this repository.

from hnrss.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.