Git Product home page Git Product logo

Comments (2)

Antar1011 avatar Antar1011 commented on August 24, 2024

So not even AGPL can prevent users from modifying the code and using it to generate stats of their own data on their own servers.

On the flip side, even with Onix under AGPL, users can write their own analysis scripts without automatically having to divulge server configurations or other sensitive information.

Where licenses come into play is distribution. That is, under GPL or AGPL, if I use Onix to write an analysis script, and I then give that script to a friend, I have to give her that script under [A]GPL (meaning if I don't trust her not to share the confs, I've better not share the script with her in the first place--if I switched to LGPL, I can give the code (or even an executable!) to my friend under a license that says "keep this to yourself or I'll sue!").

The difference between GPL and AGPL is that if I'm running an analysis on my own machine but I'm using Onix to pull data from another friend's server, if that friend asks to see my code, under GPL I can say no, but under AGPL I have to give it to him.

The other place the GPL / AGPL difference comes into play is for the "deep query API" backend. If I keep Onix licensed under GPL and someone mods that part of the system, under GPL they can keep those mods to themselves, under AGPL they have to provide the code under AGPL to anyone who runs queries against the system.

So setting aside the deep query API issue for a second, the choice of license comes down to a few hypotheticals, which are absurdly unlikely given the use-case.

  1. (from above) I write an analysis script for my server using Onix as a library. I'm going on vacation, so I can't run a monthly analysis, so I give the script to Eve to run while I'm gone. Ideally I'd like to be able to do that without giving Eve permission to modify my script or share it with others. Fine under LGPL, Forbidden under GPL, AGPL
  2. Hypothetical Big Pokemon Data Corporation (HBPDC) decides to go into business doing analysis for people's servers. They modify the hell out of Onix and write their own analysis scripts, which access Bob's server remotely and send back reports when they're done. Bob hires them to do analysis for his server. Ideally I'd like him to have the right to view/modify the code and redistribute it. No protection under LGPL, GPL, works as desired under AGPL
  3. (from above) HBPDC runs their own server, mods the hell out of Onix, fires up a deep query API. Ideally I'd like for them to have to share their code with anyone who performs queries against their system. No love under LGPL, GPL, works as desired under AGPL

Honestly, I don't particularly care about Eve, because if you're letting her run your analysis scripts, you sure as hell better trust her, IMO. So this makes me think I should go ahead and switch to AGPL.

from onix.

Antar1011 avatar Antar1011 commented on August 24, 2024

(note that a modification of (2) -- HBPDC builds their own version of Onix and deploys it (or, more likely, distributes an executable to be run) on Bob's server -- forces HBPDC to release the source code to Bob under either of the three licenses)

from onix.

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.