Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
xtal
Jan 9, 2011

by Fluffdaddy

Sorry I thought we were talking hypotheticals. I know that C++ does not consider commas to be whitespace even though commas are whitespace.

Adbot
ADBOT LOVES YOU

csammis
Aug 26, 2003

Mental Institution
Only when all tokens are whitespace will we have achieved enlightenment

xzzy
Mar 5, 2009

Obviously the next joke language should be one that uses nothing but spaces, tabs, and commas.

Depressing Box
Jun 27, 2010

Half-price sideshow.
https://en.wikipedia.org/wiki/Whitespace_(programming_language)

hobbesmaster
Jan 28, 2008

csammis posted:

Only when all tokens are whitespace will we have achieved enlightenment

Someone is way ahead of you.

xzzy
Mar 5, 2009


I should have assumed it had already been done.

csammis
Aug 26, 2003

Mental Institution
Whitespace is the only language which exhibits Buddha-nature, for it is indistinguishable from no code at all

Lumpy
Apr 26, 2002

La! La! La! Laaaa!



College Slice

xzzy posted:

Obviously the next joke language should be one that uses nothing but spaces, tabs, and commas.

I want to make one where the en dash, em dash, and hyphen are all different operators. Maybe something to do with assignment and equality checks...

code:
a - b
a – b
a — b

xzzy
Mar 5, 2009

Don't forget the double hyphen which will gently caress anyone up who uses an editor that automatically converts them to en/em's.

raminasi
Jan 25, 2005

a last drink with no ice

This is old news, the language made entirely out of zero-width Unicode characters is where it's at now.

fritz
Jul 26, 2003

xtal posted:

I know that C++ does not consider commas to be whitespace even though commas are whitespace.
If commas were white space they wouldn't have that black dot with the tail in them.

Absurd Alhazred
Mar 27, 2010

by Athanatos
Everything is actually greyspace. :geno:

xzzy
Mar 5, 2009

Hmm, maybe we could make a programming language based on shades of grey. Like you split the range from full black to full white into a specific set of values and use that to generate your instructions. I bet if you went really nuts you could do it with just white and black!

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

xzzy posted:

Hmm, maybe we could make a programming language based on shades of grey. Like you split the range from full black to full white into a specific set of values and use that to generate your instructions. I bet if you went really nuts you could do it with just white and black!

Wasn't that esoteric quilting language posted in here a couple pages back?

Depressing Box
Jun 27, 2010

Half-price sideshow.

xzzy posted:

Hmm, maybe we could make a programming language based on shades of grey. Like you split the range from full black to full white into a specific set of values and use that to generate your instructions. I bet if you went really nuts you could do it with just white and black!

I don't know about about black and white, but I've seen it with colors. Here's Hello World:

FrantzX
Jan 28, 2007
There is no idea so bad that no one hasn't implemented it.

dwazegek
Feb 11, 2005

WE CAN USE THIS :byodood:

FrantzX posted:

There is no idea so bad that no one hasn't implemented it.

If esoteric language are bad ideas, then I don't want to be right :colbert:

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

FrantzX posted:

There is no idea so bad that no one hasn't implemented it.

php6

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

FrantzX posted:

There is no idea so bad that no one hasn't implemented it.

The Rule 34 of programming.

Depressing Box
Jun 27, 2010

Half-price sideshow.

FrantzX posted:

There is no idea so bad that no one hasn't implemented it.

How about programming with music?

Fake edit: Wow, before I even finished writing this post.

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe

FrantzX posted:

There is no idea so bad that no one hasn't implemented it.

I think you mean, "there isn't no idea so bad that no one hasn't not implemented it".

qntm
Jun 17, 2009

Hammerite posted:

I think you mean, "there isn't no idea so bad that no one hasn't not implemented it".

Perl code:
unless($noImplementations != 0) {
    # this should be impossible
} else {
    # wait, was that "number of implementations" or "no implementations"?
}

McGlockenshire
Dec 16, 2005

GOLLOCKS!

qntm posted:

Perl code:
unless($noImplementations != 0) {
    # this should be impossible
} else {
    # wait, was that "number of implementations" or "no implementations"?
}

Perl code:
die q!Very long error that causes horizontal scrolling! unless condition();

feedmegin
Jul 30, 2008

xzzy posted:

Hmm, maybe we could make a programming language based on shades of grey. Like you split the range from full black to full white into a specific set of values and use that to generate your instructions. I bet if you went really nuts you could do it with just white and black!

50 shades? I mean, I have heard of bondage and discipline languages :getin:

canis minor
May 4, 2011

qntm posted:

Perl code:
unless($noImplementations != 0) {

This reminds me of

quote:

!is_not_valid != 0

:geno:

edit: From today:

code:
- <li>Copyright 2015</li>
+ <li>Copyright 2016</li>
We're using Smarty, so it's easily done per {$smarty.now|date_format:"Y"}. The worst thing though is that it doesn't phase me anymore and instead of fixing, I'm mocking it.

canis minor fucked around with this message at 15:21 on Sep 22, 2016

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
My boss wants to wrap a gpl library. I tried telling him you can't do that (without spreading the plague) then he started spewing reductionist things. Hopefully he'll talk it over with a lawyer. :frolf:

Why is open source compliance so hard for people to understand? The terms are relatively simple.

xzzy
Mar 5, 2009

Because in most people's heads if they don't have to pay money for it they should be able to exploit it in whatever way they see fit. If someone actually cared about it they would have charged for it!

Hughlander
May 11, 2005

leper khan posted:

My boss wants to wrap a gpl library. I tried telling him you can't do that (without spreading the plague) then he started spewing reductionist things. Hopefully he'll talk it over with a lawyer. :frolf:

Why is open source compliance so hard for people to understand? The terms are relatively simple.

Yes, the correct solution is to wrap the library in an IPC server and then open source the server code. Your app just needs to talk to the server API over the IPC channel of your choice! So easy!

Out of curiosity what's a GPLed library in TYOL2016 that doesn't have a MIT or BSD licensed alternative?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Hughlander posted:

Yes, the correct solution is to wrap the library in an IPC server and then open source the server code. Your app just needs to talk to the server API over the IPC channel of your choice! So easy!

Out of curiosity what's a GPLed library in TYOL2016 that doesn't have a MIT or BSD licensed alternative?

Does that work if it's GPLv3, and your application is tightly coupled to the IPC service? I was under the impression that if you're sending data structures back and forth it would be similar to shared memory which is a no-go. My usual response to GPL is to pretend anything licensed under it doesn't exist. Technical solution legal problem blah bla blah.

Some simulation library that has commercial but not permissive alternatives.

xtal
Jan 9, 2011

by Fluffdaddy

leper khan posted:

Does that work if it's GPLv3, and your application is tightly coupled to the IPC service? I was under the impression that if you're sending data structures back and forth it would be similar to shared memory which is a no-go. My usual response to GPL is to pretend anything licensed under it doesn't exist. Technical solution legal problem blah bla blah.

Some simulation library that has commercial but not permissive alternatives.

I think the Affero GPL variant is the exception proving that rule

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

leper khan posted:

Does that work if it's GPLv3, and your application is tightly coupled to the IPC service? I was under the impression that if you're sending data structures back and forth it would be similar to shared memory which is a no-go. My usual response to GPL is to pretend anything licensed under it doesn't exist. Technical solution legal problem blah bla blah.

Some simulation library that has commercial but not permissive alternatives.

Under that interpretation how is a browser connecting to a GPLv3 web server not a violation?

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Simulated posted:

Under that interpretation how is a browser connecting to a GPLv3 web server not a violation?

Published, open protocols? :shrug:

Hughlander
May 11, 2005

TooMuchAbstraction posted:

Published, open protocols? :shrug:

You open source the server component anyone is free to make a client that talks to it!

xtal
Jan 9, 2011

by Fluffdaddy

Simulated posted:

Under that interpretation how is a browser connecting to a GPLv3 web server not a violation?

There is a perfectly cromulent argument that a GPL JavaScript app must release the server code. It just hasn't been tested in courts.

TheresaJayne
Jul 1, 2011
If it is a GPL library wouldnt that actually be under the LGPL licence meaning you can make derivative works which are not GPL themselves just they cannot change the library itself.without making the changed library available under LGPL

eth0.n
Jun 1, 2012

TheresaJayne posted:

If it is a GPL library wouldnt that actually be under the LGPL licence meaning you can make derivative works which are not GPL themselves just they cannot change the library itself.without making the changed library available under LGPL

GPL and LGPL aren't the same, and each must be chosen specifically. Libraries are usually under LGPL, but not necessarily. For example, GNU's readline library is GPL, so anything linking it must also be GPL.

xtal
Jan 9, 2011

by Fluffdaddy

eth0.n posted:

GPL and LGPL aren't the same, and each must be chosen specifically. Libraries are usually under LGPL, but not necessarily. For example, GNU's readline library is GPL, so anything linking it must also be GPL.

I'm not going to deny this but I can't even think of the last time I saw LGPL or AGPL in the wild, library, app or otherwise

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

xtal posted:

There is a perfectly cromulent argument that a GPL JavaScript app must release the server code. It just hasn't been tested in courts.

The FSF don't agree with that interpretation, if anything. Their stance is that the evil is running non-free code on your computer. If someone else runs non-free code (like the server operator), sucks for them but your freedom isn't being violated, so why are you to care?

Yes, this interpretation is about 30 years out of date. But it's the argument that allows RMS to ride subways and buy things from vending machines, even while both of which are running non-free software.

ExcessBLarg!
Sep 1, 2001

leper khan posted:

Does that work if it's GPLv3, and your application is tightly coupled to the IPC service? I was under the impression that if you're sending data structures back and forth it would be similar to shared memory which is a no-go.
Copyright applies to the distribution of protected work (e.g., software) and "derived work". The latter is a legal concept in copyright law for which there's no clear consensus how it applies to software.

For example, if you take the source code for a library, modify the source itself, and distribute the modified library as part of a product, that's a pretty clear case where the modified library constitutes a derived work of the original. However, if you build an application around that library, but don't actually modify the library itself--you merely link to it--does your application constitute a derived work of the library?

What about if you build an application that depends on a networked service, is the application still a derived work of the service? Does it matter if that networked service uses standard or custom protocols?

The GPL tries to clarify the situation by making distinctions between "aggregation" of independent works on the same distribution medium (which is OK to be incompatibly licensed) and works that are combined to "form a larger program" (which must be compatibly licensed, aside from system libraries). Over the years the FSF has published their interpretation of the GPL stating that static and dynamic linking constitutes a derived work, and such is codified (at least, as an example) in the GPLv3. But even here, "linking" is only clear in the context of classical compiled userspace applications. Shared memory? IPC? Network services? Kernel space?

At the end of the day, technical measures to establish interfaces between two pieces of interacting code may be used as a defense that the works are independent, should one end up in a lawsuit over distribution of GPL software, but the techincal measures are just part of the story. Most users of GPL software would prefer to operate in a sufficiently defensible position that they're unlikely to be sued in the first place. Other users don't give a gently caress, and ride on the fact that enforcement of the GPL for certain software (e.g., Linux) has traditionally been non-existent.

TheresaJayne posted:

If it is a GPL library wouldnt that actually be under the LGPL licence meaning you can make derivative works which are not GPL themselves just they cannot change the library itself.without making the changed library available under LGPL
No, the LGPL is a distinct license from the GPL. A library may be licensed under either at the author's (really, Copyright holder's) discretion. Historically there's been quite a few libraries released specifically under the GPL to "encourage" applications using the library to be GPL licensed as well. GNU Readline is a pretty well known example.

ExcessBLarg! fucked around with this message at 16:46 on Sep 29, 2016

Adbot
ADBOT LOVES YOU

feedmegin
Jul 30, 2008

xtal posted:

I'm not going to deny this but I can't even think of the last time I saw LGPL or AGPL in the wild, library, app or otherwise

Qt, for one (plus other licenses).

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply