this post was submitted on 28 Aug 2023
671 points (91.5% liked)

Programmer Humor

32562 readers
1188 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 95 points 1 year ago (3 children)

Copyleft licences are the only true free software licences. All other open source licenses are just proprietariable.

[–] [email protected] 13 points 1 year ago (2 children)

What do those words mean? What is proprietariable and copyleft? Or is that the joke?

[–] [email protected] 80 points 1 year ago (2 children)

Not a joke.

Copy left is like the Robin Hood of the copyright world. Basically, it’s a type of licensing where, sure, you can use, modify, and distribute the copyrighted work, but there’s a catch. You have to give the same rights to anyone else for any derivative works. So, if you modify the work, you can’t just slap a new copyright on it and restrict its use. It’s a way to ensure that the work stays free for everyone to use. It’s pretty popular in the open source community. It’s like copyright turned on its head, hence the name “copyleft”.

[–] spacesweedkid27 27 points 1 year ago (1 children)

Kinda based ngl. Using copyright to devalue copyright.

[–] [email protected] 19 points 1 year ago

Copyleft tooling built all the most common and widespread tools today, and the foundations of the open web.

[–] glassware 9 points 1 year ago* (last edited 1 year ago) (1 children)

It's a shame the strategy is now failing because software as a service is so popular. Nothing in the GPL forces you to distribute your changes if you don't distribute the program. So just put the program on a webserver and let users interact through an API and hey presto, steal as much GPL code as you like.

Everyone crucified MongoDB when they tried to create a licence that prevents this, and FSF have declared that the problem can't be solved with licences and everyone just has to boycott non-free software (good luck!).

End of free software as we know it, IMHO.

[–] [email protected] 13 points 1 year ago (1 children)

Wasn't the Affero GPL (AGPL) created exactely to enforce copyleft in a SaaS environment?

Quoting from the GNU website:

[The AGPL] has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there.

[–] glassware 3 points 1 year ago

The problem is these licences treat network interaction as intrinsically different to linking against a dynamic library. If you link against the code with a binary API that's a violation, but if you link against it with an HTTP API it's not.

GNU Affero doesn't help with that. Under either GPL or GNU Affero, all you need to do to defeat the virality of the licence is package the code as a service and put all your modifications into a separate proprietary program that interacts with it.

That's why MongoDB tried to force users to open source their entire service if it involves a copyleft program. It's clumsy but I can see why they did it. We need a modern licence that treats any form of interprocess communication the way the GPL treats linking.

(The page you linked goes on to say that GNU Affero doesn't solve the SaaS problem and it's impossible for licences to address it.)

[–] [email protected] 11 points 1 year ago

proprietariable just means the code can be taken and rerelased as proprietary (no freedoms all rights reserved).

[–] MooseBoys 8 points 1 year ago (3 children)

You think that a license that imposes more restrictions on its use is more free than one that imposes fewer???

Where my Apache-2.0 gang at?

[–] [email protected] 25 points 1 year ago (1 children)

This argument reminds me of the Tolerance Paradox described by Karl Popper, who stated that in order to maintain a tolerant society, the society must retain the right to be intolerant of intolerance.

In the licensing context, yes, the Apache and Expat licenses may grant your users the freedom to create proprietary software out of your works, but at the cost of sacrificing all the basic freedoms of all the users that will use the derived non-free product.

So, like Popper said that you should prefer removing the "smaller" freedom for a society of being intolerant in order to guarantee the "greater" one of remaining tolerant in the future, since you still have to choose which freedoms you are going to negate, it's preferable to use copyleft and impede the "smaller" freedom of creating proprietary software than not using it and allowing the crushing of future users' fundamental rights.

[–] MooseBoys 2 points 1 year ago* (last edited 1 year ago)

I don’t think it applies at all. The basis for the tolerance paradox is that intolerance harms others. While using permissively-licensed software in proprietary products certainly omits benefits to others, it can hardly be argued to be harmful.

In other words, the intolerance paradox relies on people agreeing that “harming others is always evil”. While applying it to copy-left relies on people agreeing that “non-reciprocity of good is always evil”. I’m sure some people think that way but I doubt most people would.

[–] [email protected] 12 points 1 year ago

Well, it depends on your perspective. Copyleft licenses restrict downstream developers in order to protect the rights of downstream users.

[–] [email protected] 2 points 1 year ago (1 children)
load more comments (1 replies)
[–] AeonFelis 6 points 1 year ago

GPL is so free that it conflicts with other versions of GPL because this version wants to prevent you from restricting freedom and that other version tries to restrict your freedom by preventing you from restricting freedom.

[–] [email protected] 63 points 1 year ago (2 children)

All that really does is guarantee that the professor will catch anyone cheating

[–] TORFdot0 20 points 1 year ago

The meme is gigachad not 9000 IQ so your objection is overruled

[–] [email protected] 15 points 1 year ago (1 children)

would be easier than to try and catch people slipping eachother code, no?

[–] knightry 10 points 1 year ago (1 children)

It's really easy to detect duplicate programs. I've failed multiple students due to cheating on assignments. Code obfuscation is incredibly easy to detect using something like MOSS .

load more comments (1 replies)
[–] [email protected] 47 points 1 year ago (1 children)

Of course gigachad uses a thinkpad

[–] Agent641 4 points 1 year ago

You buy a thinkpad so you can feel like a superior techbro.

I buy a thinkpad so I can decompile the chinese spyware embedded in the hardware.

We are not the same.

[–] TootSweet 32 points 1 year ago (2 children)

Code web app class homework assignment. Put a link to the AGPL on the main page. Let another student access the main page from their personal smartphone. Give them a copy of the source code. When professor accuses you of helping them cheat, you can tell the professor you legally had to.

[–] [email protected] 14 points 1 year ago (1 children)

I know this is a joke, but assuming you're the author, then you're under no obligation to follow the license. Only people to whom you transmitted the code are bound by its terms.

[–] TootSweet 2 points 1 year ago (1 children)

I think you're wrong about that?

If in my hypothetical, I'd used the GPL rather than the AGPL, or if I'd neglected to let the other student access the main page, you'd definitely be right.

But AGPL is basically "GPL but also accessing the software over a network counts as distribution."

So, if I let you access my AGPL software over a network, I've granted you the right to demand the source code from me, just as if I distribute a compiled executable to you under the GPL, I've granted you the right to demand the source code from me.

[–] [email protected] 3 points 1 year ago (2 children)

No, because you never licensed the software to yourself. You are the copyright holder. The license is a grant of rights to the recipient of source code, who isn't the copyright holder. Whatever the AGPL says about what counts as distribution: that doesn't matter because the license never applied to you.

As the sole copyright owner, you always have the right to change the license by which you distribute your code, and to violate it yourself. No license can remove those rights which you possess: in fact the power of the license is because of your copyright rights.

The big thing is that as soon as somebody else contributes code to your project, you lose that right, and now you'll need to get their agreement to relicense. And of course anybody whom you distribute the source code to, they are required to follow the license.

load more comments (2 replies)
[–] [email protected] 2 points 1 year ago

even better, use an import that has AGPL license so it's not your fault.

[–] [email protected] 16 points 1 year ago (5 children)

most new projects are in MIT?

[–] [email protected] 53 points 1 year ago (1 children)

My grades weren't good enough so I license most of my code Community College Licence.

[–] [email protected] 5 points 1 year ago

Fucking LOL

[–] [email protected] 9 points 1 year ago

That's certainly possible, but it's only lukewarm open-source. People can prefer spicy licenses.

load more comments (3 replies)
[–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (1 children)

Was either required or encouraged in my programming classes.

[–] [email protected] 3 points 1 year ago

We were required to have our repos be private.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago)

'Cause I'm G PL
Yes I'm the real PL
All you other letter PLs
Aren't actually PLs

[–] spacesweedkid27 9 points 1 year ago (1 children)

I post all my homework solutions on GitHub

[–] FlexibleToast 5 points 1 year ago

I only did for my last semester mostly as a practice for using git and to have something to show recruiters/employers.

[–] [email protected] 8 points 1 year ago

Not pictured: OP and all their classmates failing the assignment and being investigated for plagiarism

[–] [email protected] 5 points 1 year ago

That is literally me (after the assignment period ends :") )

[–] [email protected] 3 points 1 year ago

this is the way.

[–] [email protected] 2 points 1 year ago (1 children)
[–] [email protected] 3 points 1 year ago (1 children)

Based on commit history, you can prove that you did it originally

Free as in freedom

[–] [email protected] 3 points 1 year ago

The commit history is trivial to rewrite.

load more comments
view more: next ›