WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Discussion on GPL v2 as used by TCL  (Read 6980 times)

Offline SvOlli

  • Full Member
  • ***
  • Posts: 193
  • Linux Developer
Discussion on GPL v2 as used by TCL
« on: August 25, 2010, 01:08:44 PM »
Hello!

Some weeks ago, I set up a small web page with some additions to TinyCoreLinux. I discovered that GRUB4DOS is a more suitable bootloader, and wanted to add this to some other work I did a while ago, that added NTFS support to TCL during boot time, allowing to install TCL "inside" a Windows System without the need for repartitioning. This lead to a remaster that was automatically generated, based on the latest release and release candidate, which I announced on the boards here, together with the script that created it.

It got removed almost instantly. After some messages back and forth with ^thehatsrule^ it was explained to me, that it got removed because I was violating the GPL v2 for not releasing the source code. My understanding at this time was that pointing out that my remaster was just a simple automated rebuild of TCL with a link back to the original was enough. He explained to me, that in their understanding of the GPL this is not enough, not even pointing out with a direct link to the sources would be enough, but that I have to set up an own mirror of the sources of TCL base.

I did that, even though I am convinced that pointing out to the sources is enough, accoring to chapter 3 c) of the GPL v2:
Quote
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
[...]
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
I could have even gone for 3 b)
Quote
Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange

But after creating the mirror, I was also requested to put up the source code of all the extensions that are included in that image. And that's where the fun stops. The point is reached where I'm requested to do something that TCL does not: TCL does not host the source code of all the extensions that are based on GPL'ed work. I maintain the Qt port to TCL which the TCL team distributes in binary form, and TCL does not offer a mirror of the source code used for compiling this package.

This looks to me like applying double standards. I want to work with you guys, showing my work as a proof of concept for an open discussion, to see if there's anything in it that might be of value for you. But this way it feels like you're working against me. Sorry to say that, but it really does feel that way... :(

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: Discussion on GPL v2 as used by TCL
« Reply #1 on: August 25, 2010, 01:17:24 PM »
We do host extension source code, for qt it would be:
http://ftp.nluug.nl/pub/metalab/distributions/tinycorelinux/3.x/tcz/src/qt-4.x/

(3.x/tcz/src on any mirror)


According to my understanding, the 3 c) would imply redistributing without modifications.

I won't comment on the other parts right now.
The only barriers that can stop you are the ones you create yourself.

Offline SvOlli

  • Full Member
  • ***
  • Posts: 193
  • Linux Developer
Re: Discussion on GPL v2 as used by TCL
« Reply #2 on: August 25, 2010, 01:29:19 PM »
We do host extension source code, for qt it would be:
http://ftp.nluug.nl/pub/metalab/distributions/tinycorelinux/3.x/tcz/src/qt-4.x/

(3.x/tcz/src on any mirror)

I'm sorry. I stand corrected, but even searching the ibiblio.org mirror with google did not bring that up:
http://www.google.com/search?q=site%3Aibiblio.org+qt-everywhere-opensource-src-4.6.3&ie=utf-8&oe=utf-8

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: Discussion on GPL v2 as used by TCL
« Reply #3 on: August 25, 2010, 01:42:58 PM »
The link to the extension sources is at the bottom of the extensions web page. I do see it could be more prominent, will add to the top as well.
The only barriers that can stop you are the ones you create yourself.

Offline roberts

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 7361
  • Founder Emeritus
Re: Discussion on GPL v2 as used by TCL
« Reply #4 on: August 25, 2010, 01:51:40 PM »
We are not against remasters of Core but trying to comply with the GPL is not easy. I am posting a link to this topic that I was personally, being co-developer of DSL,  involved with at the time.

http://www.linux.com/archive/feature/55285

When I started Tiny Core, I wanted to be sure that GPL sources would be easily available and not have to worry about handling media for such purposes.
10+ Years Contributing to Linux Open Source Projects.

Offline SvOlli

  • Full Member
  • ***
  • Posts: 193
  • Linux Developer
Re: Discussion on GPL v2 as used by TCL
« Reply #5 on: August 25, 2010, 03:36:58 PM »
Robert,

thanks for the info. I know your background coming from DSL and have read your reply to John Andrew with great interest. Though I'm reading a lot on open source and Linux on the web through a couple of newsfeeds, this topic fully slipped though.

I've updated my mirror scripts to also cover all the extensions used for building the remaster. Please take a look at [^thehatsrule^: now posted under the remaster section] . If it's ok with you now, I'll activate the download links to the ISO and write a new topic for the remastered-board. But please update the rules for posting in that section, also noting that the source of the extensions used are required to get mirrored as well. And I think it's also a good idea to explain why this is necessary, e.g. by linking to the article you mentioned.

And while typing this I also understand, why you remove links to tczs that are mentioned on the boards... for exactly the same reason: you could be held responsible for providing source code to that tcz in question without any chance to get your hands on the source code used. Pointing that out to any newcomer here (maybe by referring to a static post called "Why we can't allow any binaries or links to binary on the boards") would take a lot of the frustration that builds up by reading "it's against the board rules".
« Last Edit: August 28, 2010, 12:09:47 AM by ^thehatsrule^ »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
« Last Edit: August 26, 2010, 02:58:20 PM by curaga »
The only barriers that can stop you are the ones you create yourself.

Offline SvOlli

  • Full Member
  • ***
  • Posts: 193
  • Linux Developer
Re: Discussion on GPL v2 as used by TCL
« Reply #7 on: August 26, 2010, 02:38:39 PM »
Ah, I was assuming the base/kbd-1.14.1-patched.tgz was also used for the extension, since I couldn't find anything in the 3.x mirrors.

Thanks for your help!

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: Discussion on GPL v2 as used by TCL
« Reply #8 on: August 26, 2010, 02:59:04 PM »
It hasn't had a version update since the 2.x days, so no source in the 3.x dir because of that.
The only barriers that can stop you are the ones you create yourself.

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: Discussion on GPL v2 as used by TCL
« Reply #9 on: August 26, 2010, 07:52:25 PM »
Also, with the extension source directory, there are some extensions that were built for 2.x that are fine for 3.x and simply copied there, so their source resides in the 2.x source area until an update to the extension is sent in.

And in reality, it is not just GPL stuff that gets it's source hosted here, as a practice all sources regardless of license are hosted here to enable easy rebuilding of the extension without the need to rely on continued upstream availability.. 

But one exception is Chromium, which is BSD license and an almost 800MB source tarball.


Offline Pats

  • Sr. Member
  • ****
  • Posts: 322
Re: Discussion on GPL v2 as used by TCL
« Reply #10 on: August 27, 2010, 12:19:44 PM »
Quote from curaga:
<It hasn't had a version update since the 2.x days, so no source in the 3.x dir because of that.>

Quote from Jason W:
<Also, with the extension source directory, there are some extensions that were built for 2.x that are fine for 3.x and simply copied there, so their source resides in the 2.x source area until an update to the extension is sent in.>

I assume from above 2 points that, I need not worry abt distributing sources of version of TC2.5 , FLTK, GCC etc with future releases of my commercial software, because the surces of all these three wont change in future, is not it ?
:)
~ Pats

Offline Arslan S.

  • Hero Member
  • *****
  • Posts: 825
Re: Discussion on GPL v2 as used by TCL
« Reply #11 on: August 27, 2010, 12:33:05 PM »
I read somewhere chromium source can be stripped down, most of the code is for tests
http://packages.ubuntu.com/maverick/chromium-browser 92MB

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: Discussion on GPL v2 as used by TCL
« Reply #12 on: August 27, 2010, 12:38:25 PM »
Pats -
If you are distributing a binary of a GPL app you have to distribute the source.  We don't have to copy the source from the 2.x source directory to the 3.x one since we are distributing the source on the same server.

Arslan -
92mb is much better than 800MB.  In that case it would be reasonable to host it.

Offline SvOlli

  • Full Member
  • ***
  • Posts: 193
  • Linux Developer
Re: Discussion on GPL v2 as used by TCL
« Reply #13 on: August 27, 2010, 01:07:37 PM »
I assume from above 2 points that, I need not worry abt distributing sources of version of TC2.5 , FLTK, GCC etc with future releases of my commercial software, because the surces of all these three wont change in future, is not it ?
Nope, to comply with the GPL v2, you have to guarantee that you can distribute the sources on request for all binaries you provide. If the Tiny Core Linux Team decides to drop their work and remove all sources, you might not get access to all the source code used to build TCL, and therefore you can't guarantee that, if you don't host them yourself.

To comply with the GPL you'll even have to provide the whole architecture that anyone can reproduce your work on the same terms you did. If you've written your own language with a compiler, you must distribute this compiler as well. If you've compiled your software with a commercial compiler, you don't have to supply that compiler, but the other one must be able to buy a license of that compiler as well.

Offline Pats

  • Sr. Member
  • ****
  • Posts: 322
Re: Discussion on GPL v2 as used by TCL
« Reply #14 on: August 27, 2010, 01:23:31 PM »
Quote from Jason:
<Pats -
If you are distributing a binary of a GPL app you have to distribute the source.  We don't have to copy the source from the 2.x source directory to the 3.x one since we are distributing the source on the same server>

I am getting more & more confused, Suppose I have distributed my commercial app to 10 clients, now if I make some changes to this app, as per my clients future needs, do you mean, I should go on distrubuting the sources of TC25,GCC,FLTK etc again & again, even if the same old sources still resides on the clients pc and these are not changed in your repo also ? ( And yes, I distribute only binary of my commercial app, for your info...)
Very funny !

Quote from SvOlli:
<Nope to comply with the GPL v2......>
How can I distribute the sources of my commercial app ? Suppose some mallacious coder make some un-desired changes in my app on my clients PC.. ! ( Rare chances but still possible..), Then who will be responsible for the damages to my clients customers ( for eq: the billing part ) and my reputation ?
Still very funny !

~Pats