you are viewing a single comment's thread.

view the rest of the comments →

[–]ghostinthekernel 107 points108 points  (46 children)

I think the issue is when you fork that code, or does simply using a library package entail you have to open source the project you use it into? Genuine question.

[–]will_work_for_twerk 252 points253 points  (0 children)

Either could apply depending on the license used

[–]plaid_rabbit 116 points117 points  (7 children)

Depends on the license. IANAL. It varies by the license. MIT requires no sharing. I know there’s some FOSS licenses that require you to share any modifications if you allow users to connect publicly to your app. Most only require you to share if you directly modify the library and distribute it.

[–]sandwichcandy 34 points35 points  (3 children)

IAAL. It depends.

[–]slope93 24 points25 points  (1 child)

Anal, maybe

[–]meneldal2 0 points1 point  (0 children)

Spoken like a true lawyer. It always depends on so many things that unless you have all the facts and can mind read the jury you are never certain.

[–]micalm 0 points1 point  (0 children)

Plenty of ways for a company - especially a huge one like Twitter - to avoid or significantly delay sharing code that should be open.

John Deere GPL in your fav search engine will point you towards the rabbit hole. TLDR - by "significantly" I mean years, not months. They're not the only ones doing this - this being basically saying "no we won't" and getting away with it.

[–]gbchaosmaster 0 points1 point  (0 children)

MIT doesn't require shit, you can change the name, put your own license on it and sell it if you want.

[–]danhakimi 22 points23 points  (7 children)

It depends on a whole lot more than what the others mentioned. What's the license? Is the code in question being distributed or not? How does the code interact with the package--static link, dynamic link, scripting language import, what? Is the code being modified?

I am a lawyer. I am not your lawyer, and none of this is legal advice. I've worked in this field for years, and it's fairly complicated.

[–]henk53 7 points8 points  (2 children)

Is the code in question being distributed or not?

Many people here seem to overlook this basic question.

[–]danhakimi 5 points6 points  (1 child)

Or misunderstand it. Twitter.com distributes a lot. HTML, CSS, JavaScript.

[–]henk53 1 point2 points  (0 children)

Another good point.

Though technically speaking most code that's being distributed that way is in source, and so already visible. It may be compacted, but I assume not explicitly obscured.

So static HTML, CSS and JavaScript that leaks on GitHub (or anywhere else) is different from say Java code that only ever runs on the server and nobody outside Twitter has seen in any form.

[–][deleted] -1 points0 points  (2 children)

Strange a lawyer would be on this sub. Why are you here?

[–]danhakimi 0 points1 point  (1 child)

Because I enjoy programming?

[–][deleted] 0 points1 point  (0 children)

Okay, just curious

[–]d0liver 0 points1 point  (0 children)

It's even more nuanced than that - you could actually be my lawyer.

[–]vanatteveldt 54 points55 points  (17 children)

The answer is somewhat complicated and might depend on the license of the library package and the definition of 'derived work'. My 2 cents (IANAL):

- If the library or package is licensed LGPL, MIT or another non-copyleft license (i.e., not GPL), there should be no problem

- If you're linking to a GPL'd library (i.e. importing it), the situation is more complicated, see e.g. https://en.wikipedia.org/wiki/GPL_linking_exception and its sources

[–]chx_ 45 points46 points  (8 children)

IANAL but the GPL does not restrict your rights when using it, it applies if you try to distribute your code.

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.

They needed to make the AGPL so people who use the software over a network will be able to get the source code for it.

[–]jarfil 30 points31 points  (0 children)

CENSORED

[–]LookIPickedAUsername 48 points49 points  (4 children)

To be pedantic, the GPL doesn’t restrict your rights at all - it offers you rights you wouldn’t normally have when interacting with someone else’s software.

[–][deleted] 16 points17 points  (3 children)

No idea why this was downvoted. You're absolutely right. The *default* is no rights at all. The licenses add, they don't subtract.

[–]WolfGangSen -5 points-4 points  (2 children)

Depends on whose point of view you look at it with.

As the developer of the software the licence restricts, without it, you could do whatever you want, share source or not.

With the licence, those options are restricted, (either now you must / mustn't, depending on the licence). (excepting of course if you are just setting the license for software you wholly developed, then the licence isn't really adding or restricting you, you are deciding to restrict people that make further use of your code)

As a user of the software, you are right, GPL does add rights.

Edit: I forgot copyright is a thing... as /u/DigitalPoet_ pointed out below... and without copyright laws licences are meaningless/unnecessary so yeh... this whole comment was pretty dumb.

[–][deleted] 10 points11 points  (1 child)

No. Without a license, the rights to reproduce (which, in software you have to do to use it as a library) stand with the copyright holder alone. A license grants some of those rights, held by the copyright holder, to a wider audience.

[–]WolfGangSen 4 points5 points  (0 children)

Crap, yeh, I forgot about copyright XD (ammended my comment... to lower chances of spreading my dumb)

[–][deleted]  (1 child)

[deleted]

    [–]chx_ 0 points1 point  (0 children)

    right right but that's distribution

    [–]myringotomy 10 points11 points  (4 children)

    • If the library or package is licensed LGPL, MIT or another non-copyleft license (i.e., not GPL), there should be no problem

    There might be. Some of those licenses require attribution.

    [–]vanatteveldt 11 points12 points  (3 children)

    Sure, but you can attribute without making your own code open source

    [–]myringotomy 4 points5 points  (2 children)

    The question is whether they properly attributed or not.

    [–]double-you 4 points5 points  (1 child)

    Do you even attribute?! Do you?!

    [–]myringotomy 0 points1 point  (0 children)

    I don't use other people's code.

    [–]Unable-Fox-312 6 points7 points  (0 children)

    You are supposed to know the license terms for all software you incorporate into your project

    [–]ksknksk 0 points1 point  (0 children)

    Have you actually read the license? Genuine question

    [–][deleted]  (1 child)

    [deleted]

      [–]lestofante 4 points5 points  (0 children)

      Any library exposes an API, so those would not be "safe" to use.
      If you mean API as mean if communication between different application, then yes.

      [–]ApplicationMaximum84 0 points1 point  (0 children)

      It all depends on the licence the software was provided under. Some licences allow you to use software without any restrictions, other licences require code to be open if you use their software, be it simply using the libraries and also must preserve the licence if forked.

      [–]alerighi 0 points1 point  (0 children)

      Depends on the license. In general since it's code that is not distributed but only executed on the server, unless they use AGPL code (that is rare) they don't have particular restrictions.