taskSavannah Administration - Tasks: task #7656, Submission of gmailreader

 
 

task #7656: Submission of gmailreader

Submitter:  Rafael Cunha de Almeida <aflag>
Submitted:  Wed 09 Jan 2008 08:44:33 PM UTC
Votes: 1
 
Should Start On:  Wed 09 Jan 2008 02:00:00 AM UTC Should be Finished on:  Sat 19 Jan 2008 02:00:00 AM UTC
Category:  Project Approval Priority:  * 5 - Normal
Status:  Cancelled Privacy:  Public
Assigned to:  Beuc Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Wed 16 Jan 2008 09:49:06 PM UTC, comment #7: 

In the case where 2 libraries offer the same API, then you can choose the one you want for your project (e.g. using the LGPL instead of the OpenSSL license when using the subset of the OpenSSL API implemented in GnuTLS).

However, in 99% cases, you do not have that choice, so there's no ambiguity: you use the library, and hence you're bound to the library's license.

For a concrete exemple of project bound to its dependency's license before the final linking, and what it would mean if that weren't the case, you can look for "NeXT" in http://www.gnu.org/philosophy/pragmatic.html


What you plan to write in the README sounds good, maybe you can also explain why the project as a whole is licensed that way.


We recommend keeping track of copyright file-per-file, so I don't think it's necessary to tracker your dependencies' up-to-date copyright in your README.


For trivial files (< 10 lines), no copyright notice is needed because we believe they are not copyrightable.


Including a copy of version 2 of the GNU GPL is OK.


Hope I answered your questions :)

Sylvain Beucler <Beuc>
Tue 15 Jan 2008 08:41:22 PM UTC, comment #6: 

Hi,

I think I still don't understand the whole issue completely. For instance, if there's two libraries with the same API, but different licenses: one is GPL and the other BSD. Would a project that uses that API have to be GPL? But if there's not such BSD licensed version of the library, the same unmodified project would have to be GPL? I think maybe I don't agree with the idea that a program which calls a certain API becomes part of the library that exports that API before someone uses both together. But since anyone using my file will end up using a GPL program (and that part I understand and agree), I think it makes sense to make that clear.

At first I thought that I'd have to change the license of gmailreader.py file to GPL, which scared me. But now I realise that's not necessary, and people can always get the code I wrote, write a library for it and use it as any other BSD licensed code. That has always been all that I really wanted.

So I have to put something like this on the README file, right?

    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Should I write only my name as the author or should I put the libgmail's author name as well? Do I have to add anything else to README besides that and what it already has? For the setup.py file I should just remove the "this is in public domain" part and not add any copyright notes or anything, right? Which copy of the GPL license should I include? GPLv2?

Best regards,
Rafael

Rafael Cunha de Almeida <aflag>
Tue 15 Jan 2008 06:25:04 PM UTC, comment #5: 
Sylvain Beucler <Beuc>
Tue 15 Jan 2008 02:27:19 PM UTC, comment #4: 

Hello,

I hope I'm not being too annoying, but I'm trying to learn a little bit more about software distribution here, as I seem to have some misunderstandings about it.


"You can release each file separately under a compatible license, though the application as a whole is under the GNU GPL. So the project as a whole needs to be released as such, with a copy of the GPL license, plus a standard license statement (in a README file for example), explaining among others which versions of the GNU GPL are concerned.

It would be misleading to release your project under just the BSD license with any mention of the GNU GPL, because what end-users get is a GPL'd project."

I thought that releasing my program as a BSD project would be OK because of this part of the GPLv2 license:

"These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works."

Together with that quote we have to also keeping in mind what GPLv2 defines as work based on the Program:

"a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language."

Althought you can recognize the API of the library (which I don't think is an issue), there isn't any lines from the library itself on my code. So I think gmailreader can exist as a BSD-licensed project and not a GPL project, right?

As long as I don't distribute my software together with libgmail I shouldn't need to include GPL license on my project, should I? If the user downloads libgmail its license will be right there in the package. I even have a section in the README file regarding libgmail and saying how it's GPLv2. The way I see it there's the gmailreader BSD-licensed project, the GPLv2-licensed libgmail project and there could be a third GPL-licensed project composed of gmailreader + libgmail.

My idea is to try to make gmailreader a separted project from libgmail. Even because I don't like to be restricted to libgmail too much; not because of the license, but because the library isn't particularly that good. If I had the time I'd have probably written my own library for that. And if I find a better library some day I'll gladely switch to that. So I didn't want my program to be tied up to libgmail so much, although it's a dependency right now.

You say it's misleading to the end-user because he will have to use GPL software in order to run my program. But what I have actually written and what would be distributed here would all be under BSD license. Then, what would be distributed here wouldn't be a GPL project, would it? Although, if you distribute my file and the libgmail file as a single project it'll be a GPL project.

I think if the user sees this as a GPL project, then he'll assume all the code is GPL, when none of the code he would actually download directly from here would be GPL. I think that's also misleading. Of course, I'll certainly have to warn about the license of libgmail.

If I didn't have any warnings in the README file or before a link to any code with a license different from the rest of the project, that would indeed be misleading. But if the project was classified as GPL I'd have to warn the user that he was about to download BSD-licensed files when he downloads gmailreader (not legally, but I wouldn't feel good if I didn't) and I'd still need to warn the user that the version of GPL that the libgmail uses is actually GPLv2 only. And I still wouldn't be able to distribute libgmail + gmailreader together due to savannah policy.


"Do you plan to have people download your modified version separately?"

Yes. Actually my program should work with the original version of the library, although lacking some functionality. I'm hoping the libgmail will eventually evolve enough so that I won't need to keep my own version anymore. I think it would be far better for the user to just apt-get install libgmail and then copy gmailreader.py to his home directory. It would also be very convinient for me not to have to keep messing with libgmail code.

So, I hope to eventually only have a link to libgmail project and no external links for the libgmail library package itself.

Thanks you for all your help,
Rafael

Rafael Cunha de Almeida <aflag>
Tue 15 Jan 2008 08:36:17 AM UTC, comment #3: 

Hi,

"I was under the impression I could use any gpl-compatible license to license code that uses GPL'd software. Isn't that so? I couldn't see how I'd be contradicting GPL in any point. Could you please show me which section doesn't allow me to license my software with the modified BSD license? I'm far from being a lawyer, so I'm probably missing something."

You can release each file separately under a compatible license, though the application as a whole is under the GNU GPL. So the project as a whole needs to be released as such, with a copy of the GPL license, plus a standard license statement (in a README file for example), explaining among others which versions of the GNU GPL are concerned.

It would be misleading to release your project under just the BSD license with any mention of the GNU GPL, because what end-users get is a GPL'd project.


"I don't intend to upload any parts of libgmail to savannah, I do want to have an external link with it, though. Is that ok?"

Yep.

Do you plan to have people download your modified version separately?

Sylvain Beucler <Beuc>
Mon 14 Jan 2008 11:49:16 PM UTC, comment #2: 

Hello,

I was under the impression I could use any gpl-compatible license to license code that uses GPL'd software. Isn't that so? I couldn't see how I'd be contradicting GPL in any point. Could you please show me which section doesn't allow me to license my software with the modified BSD license? I'm far from being a lawyer, so I'm probably missing something. Anyway, if I'm really not allowed to BSD license my program, then this entry on the GPL FAQ is really misleading:

http://www.fsf.org/licensing/licenses/gpl-faq.html#WhatDoesCompatMean

I don't intend to upload any parts of libgmail to savannah, I do want to have an external link with it, though. Is that ok?

[]'s
Rafael

Rafael Cunha de Almeida <aflag>
Mon 14 Jan 2008 06:33:06 PM UTC, comment #1: 

Hi,

You depend on libgmail, a GPL'd library. Thus, your project need to be released under the GNU GPL as well.


Also, libgmail is released under the GPL v2 only (not any later version). Licensing under the "GNU GPL v2 only" is problematic, because when we publish the next version of the GPL, it will be important for all GPL-covered programs to advance to that new version.

This is acceptable for a Savannah project dependency, however this is not acceptable for code hosted at Savannah. So if you want to upload your modified version of libgmail (also under GPL v2) at Savannah, you need to contact their authors so they release the code under "version 2 of the License, or (at your option) any later version.".


"The trivial files on my project (that is README and setup.py) I left in the public domain,"

We believe trivial files (> 10 lines) cannot be copyrighted and need not notices.


Please resubmit your project released under the GNU GPL and we'll reconsider it for inclusion at Savannah.

Regards.

Sylvain Beucler <Beuc>
Wed 09 Jan 2008 08:44:33 PM UTC, original submission:  

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.


Registration Administration


While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):



Registration Details


  • Name: gmailreader
  • System Name:  gmailreader
  • Type: non-GNU software & documentation
  • License: Modified BSD License





Description:

Gmailreader is a e-mail reader that works with gmail. It's capable of accessing the gmail web interface and interacting to it without the need of a browser. Using gmailreader you can access your gmail account through the terminal.

The project was all coded with the Python language.


Other Software Required:

  License: GPLv2
  Although I try to make my software compatible with the latest libgmail version, in order to have all the features working you'll have to download a modified copy of it at:
http://www.dcc.ufmg.br/~rafaelc/libgmail-0.1.8-rafael2.tar.gz

  This is because the library is in it's very initial states so I added a few features I needed to it. I added them in a very dirty manner (I didn't care about making it look good or anything) so I don't expect my patches to actually go to the official version. But they're nice until the official version have support for the features I wanted.

   license: PSFv2


Other Comments:

The trivial files on my project (that is README and setup.py) I left in the public domain, therefore it doesn't have a copyright notice. I just thought it would be wasteful to have a license bigger than the file itself. And, as far as I know, having a copyright notice without any license is pretty nasty, not allowing for almost any reuse of the file.

I hope that's ok, if not I can add the BSD license to both files.


Tarball URL:

http://www.dcc.ufmg.br/~rafaelc/gmailreader-0.2.tar.gz


Rafael Cunha de Almeida <aflag>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by Beuc (Posted a comment)
  • -email is unavailable- added by andrius (Voted in favor of this item)
  • -email is unavailable- added by aflag (Submitted the item)
  •  

    There is 1 vote so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-01-14 Beuc StatusNone Cancelled
        Assigned toNone Beuc
        Open/ClosedOpen Closed
    2008-01-12 andrius Carbon-Copy- Added andrius

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code