77

Licensing is so freaking weird and stupid.

I mean, I just forked this repo with an Apache license, so I could update a .json file.

"You must cause any modified files to carry prominent notices stating that You changed the files"

Plain JSON allows no comments.

I'm going to jail.

Comments
  • 24
    OSS jail requires you grow a beard.
  • 9
    @N00bPancakes and to install arch Linux on at least 1 computer
  • 15
    @10Dev

    And tell everyone!
  • 4
    Are these licenses law binding in courts?
  • 15
    @rantsauce

    I think that's the whole point of licenses...
  • 7
    @rantsauce Of course they are. MIT and Apache leave little room to even violate them. GPL however does, and that has been tried and tested in court.
  • 9
    @YADU @Fast-Nop For some reason, I had the assumption that those licenses were some kind of verbal, friendly agreements and that anyone can create their own license.
  • 7
    @rantsauce Everyone can in fact. After all, the default copyright in most jurisdictions belongs to the author alone. Any rights for others need to be granted by the author.

    With the popular licences, it's just that everyone knows what you get, sort of like a brand. That's why you use established licences.

    The GPL in particular is actually an amazing legal hack because it implements the "copyleft" via the legal copyright. Without copyright, there would be no copyleft.

    The legal leverage is that if you use GPL'ed software in a way not compliant with the GPL, then you don't have any licence, and you are committing a copyright violation - which in turn can (and has successfully) be brought to court just like any other copyright violation.
  • 14
    @rantsauce

    Anyone can indeed create their own license.

    Copyright is the law.

    A license states: "Hey, I own the copyright on this, but under these conditions you can use it".

    That's basically* a contract between two parties, which is legally binding.

    It holds up in court, as long as it has no contradictions or conflicts with existing licenses or laws.

    * Depending on jurisdiction. In the EU, licenses are binding contracts, simply by using copyrighted material you are expected to agree with that contract. In the US, there must be due consideration for there to be a contract, so licenses are considered to be a separate legal thing, and breach of license is the same as a copyright violation rather than breach of contract.

    In both cases, you go to jail for 1000 years. Or something like that. I don't know, I'm not a lawyer 🤷
  • 5
    @Fast-Nop

    Let's start the license wars!

    In one corner we have crybaby Stallman, in the other corner we have the mighty Bittersweet!

    Bittersweet hits RMS with the MIT license... aaaaaand.... It's a knockout!

    Bittersweet holds the beautiful license in all its simplicity above his head and yells: "Be truly noble, open source should be permissive! Go forth and tell the world what you saw here today!"
  • 3
    @bittersweet Yeah that's all nice and dandy until corporate interests hit in and you end up with freeloaders who take all and give nothing back, and even out-compete the original projects with only 10% of the work.

    Dunno about you, but I have private GPL'ed code that is being used in some successful commercial projects - and as long as they comply with the GPL requirements, I'm happy if they can make profit.
  • 8
    @Fast-Nop

    I don't mind freeloading.

    From my perspective: Open source is a gift. You can use that gift in any way you see fit. A company profiting from my undeniable genius (hehe jk I only product bugged crap) does not *cost* me anything either.

    But I do think it's good that GPL exists, especially when you run a business or non-profit and the goal of publishing source code is not primarily to just randomly "gift it to the world".

    For "stupid little libraries" like a vue-dickbutt-component or rust-devrant-sdk... Meh. I'm just gonna slap some MIT on it.
  • 3
    @bittersweet I don't mind freeloading financially because I have enough money myself and don't even want their money, and also that would make a hell of a tax declaration which I'm neither up to. Got an idea how to make money with my code? Cool, go ahead.

    However, I do mind using my code and refusing to contribute anything back to the world, and depriving the end users of essential software freedoms. Most won't be using that of course, but everyone shall have that option.
  • 0
    Why Apache ?
  • 2
    @Fast-Nop For some reason, I just had to think of Crapple.

    Their disgrace of an OS is based on BSD (okay, the same way that a turd is based on a three course meal, but technically it is), and yet they added so much propriety shit to make it one of the least accessible, most insecure OSes of the current world.

    The GPL would have prevented this. That's the one good thing about hard-line open source.
  • 1
    @ilPinguino Yeah, and in particular with iOS, they took away so much user freedom that it's ridiculous. It's so closed that you can't even distribute GPL applications without dual licencing or running afoul of the GPL.

    At least, there are some application devs who stood up, which is why e.g. Gnu Backgammon was removed from the iStore.
  • 3
    @Fast-Nop yeah... I make a point whenever I release a binary as well: There is a Windows version, there is a Linux version, if you're on OSX, go educate yourself on better computer choices in the future.

    Don't get me wrong, Windows is also pretty shit, but at least it allows me to choose my own hardware, and fix my own PC. That also is a fundamental user right that Crapple takes away from people.
  • 2
    @ilPinguino Similarly here, too - only that I don't distribute a Linux binary, either. Too much hassle with stupid version incompatibilities already in glibc. I'm too lazy to fire up a VM or live Linux with some Debian or Redhat from the previous century and then have a totally outdated compiler.

    However, I instead supply a shellscript that will build shit at a mouse click. That's easy enough even for non-technical users, and as added bonus, the binary will even be optimised for the host CPU.
  • 1
    @Fast-Nop I can totally understand that, and I'd probably do it myself like that... But my projects are small and thus have quite few external dependencies.

    Still, you're right, pretty much every Linux user should at some point learn how to build software from source
  • 0
    @ilPinguino I've never used Linux as my everyday operating system, but heard the app compatibility hell is now somewhat better with Flatpaks and Snaps in the scene - does it hold?
  • 1
    @heartade I also don't use Linux as an every day OS, but I've had my share of trouble with flat packs, especially with proprietary software.

    Personally, I build from source whatever I can't get from the official sources.
  • 1
    WTFPL ftw!
  • 3
    @heartade no. Flatpaks are bloated pieces of shit and snaps don’t work half the time. You’re better off installing through your package manager

    On my Manjaro machine, my order of preference is

    - pacman
    - aur
    - snap
    - build from source
    - flatpak
  • 1
    @10Dev

    1. Non binary app. Don't assume gender. Uh, I mean plenty of things work fine as scripts or webapps or whatever.
    2. Docker
    3. Compile from source
  • 1
    Prominent notices?
    Uh git blame should do it I guess
  • 3
    @LotsOfCaffeine

    I think the issue is that the Apache License still stems from a time where C was the predominant language, all sourcefiles had mile-long comment sections with contribution details, and collaboration was done through email list patches -- and it hasn't been modernized.

    It specifically requires every file to carry a change notice, and that's incompatible with modern coding practices.

    GPL, while it's a more "strict" copyleft license, indeed requires "prominent notices", but not on a per-file basis. You can just say "This is the 2019-12-04 Bittersweet Fork of GNU tool x" in the Readme file.
  • 0
    Stop programming no solution making my head deaded
  • 2
    SOLUTION: Following their syntax, just add an extra thing to the start of an array or object or whatever it is:

    ignore {
    Copyright shit here.
    }

    And then just continue on with the rest of your code like normal. They should implement this.

    Or

    notice {
    }

    Etc.
  • 0
    It's there not a separate notice file for this and binary content?
  • 1
    @hjk101 Maybe? I tend to go for "best effort, feel free to tell me if I'm using your license wrong". Which may not hold up in court, but tends to hold up in life.
Add Comment