Re: Why not contribute? (to GCC)

2010-05-04 Thread Manuel López-Ibáñez
On 4 May 2010 09:12, Theodore Papadopoulo
theodore.papadopo...@sophia.inria.fr wrote:

 - Code complexity: Doing even the simplest stuff in gcc requires quite some
 time to a newcomer.

Do you have any suggestion how this could be enhanced? We know that
better documentation may help, but at some moment one has to get the
hands dirty and dive into the code. I think we are also happy to know
if something is not intuitively located/named/documented. This is one
part where one could learn *and* help a lot the project.

In general, asking here or in the IRC will get you a quick reply,
which perhaps is not so good because it doesn't actually fix the
original problem.

 - Time involvement: I can spend a few days (mostly over the week ends) or
 hours after work and can
  spend an equivalent amount of time for dealing with consequences of a
 patch. I cannot afford to
  spend weeks of work (except exceptionnaly if this relates to my work). On

The time spent decreases a lot with increasing experience. This is
also true for producing good patches, that is, patches that need
little or no further modifications. Using the right tools can also
save a lot of time (the debug_* functions in gdb, automatic scripts
for bootstrapping/regression testing).

 one occasion, I submitted
  a prototype patch to remove default template parameters with some questions
 whether the flag I used
  was really available and request for comments The only answer I got was

This is a problem of communication. Point 5 in
http://gcc.gnu.org/wiki/GCC_Research: Your email/patch may not receive
much feedback. There are many reasons for it, as listed there. The
only solution is to insist.

  my questions, I decided that the patch would anyway be never accepted (at
 the time INRIA had no
  copyright agreement -- and I'm still not sure I'm covered now --), so I
 abandonned. Since then

But then, why people are going to spend time reviewing a patch that is
not going to be accepted? However, I strongly feel that this was not
the reason for the lack of feedback. Probably, the fact that you were
not using the appropriate functions was already such a show-stopper
that reviewers didn't spend more time on the patch.

 newcomer, but the effort to get accepted
  is/was just too high.

The criteria should be the same for everybody, but it is easier to get
it right the first time if one has experience. Otherwise, more
iterations are needed. Asking for clarifications, and perseverance are
the only solutions.

 - I'd like to help gcc not to fight/bother gcc people to get some more or
 less trivial stuff accepted.

Fighting: bad. Arguing politely and with sound arguments: good.
Demanding: bad. Asking: good. It just depends on the tone.

  I can very well understand that they have more important things to do.
  I must say though that I see some maintainers spending time to answer
 beginner questions, and I
  appreciate.

In fact, sometimes I think maintainers spent too much time answering
begginner questions instead of documenting those answers somewhere or
fixing the reason for the question. ;-)

 - Copyright assignment only comes fourth (and actually may be solved for
 me). I believe anyhow that
  most newcomers should first start with very small patches first (one
 liners, documentation, style, unused
  variables). But those patch are often ignored (again, I can understand
 that for a gcc developper that
  might not be worth the effort).

Really often ignored? I do not see this often, but I can imagine that
it happens more to newcomers who do not insist when a patch is not
reviewed. Unfortunately, many patches require pinging, even when
they come from experience developers. I added a note to the above page
in the wiki.

http://gcc.gnu.org/wiki/GCC_Research

I don't know how this particular issue could be handled better.

 - All in all, I believe that there is gap between skilled developpers and
 newcomers. Once one is skilled enough
  the list is very helpful. For newcomers, the answers form the list are just
 not reliable enough (in terms of useful
  answers). Again, I have seen recently some effort by a few developpers to
 anser basic questions and that's good.
  A slightly better way might be to offer mentorship (eventually pyramidal)
 on some small projects in order to help
  people jump in the bandwagon At least this is true for non-compiler
 people as I'm.

I think this is a really good suggestion. And I feel that many
experienced GCC developers would be up for it if the student shows
real interest. I am pretty sure potential mentors have many beginner
projects in mind even simpler than those carried out during the google
summer of code.

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-29 Thread Paolo Bonzini

On 04/28/2010 12:33 AM, Alfred M. Szmidt wrote:

1) The back-and-forth is too much for casual contributors. If it is
more effort to do the legal work than to submit the first patch,
then they will never submit any patch at all.

Please do not exaggerate, if people have time for threads like these,
then they have time to send a short email with some questions or wait
a few days for a piece of paper to sign.


People are fine with spending time to improve things.

I find it harder to understand why one should argue to maintain the 
status quo.


Paolo


Re: Why not contribute? (to GCC)

2010-04-27 Thread Paolo Bonzini

[trimming Cc list]


It wouldn't be worth my time and I have trouble understanding how
I could demonstrate personal loss making the law suit worth persuing in
the first place.


Perhaps because you know the code better than anyone else, so you
could provide paid support on that derivative as well.


This is true whether the code is GPL or truly free.


First of all, let's avoid equivocal language (and politics).  you'll 
probably agree that the meaning of truly free is in the eye of the 
beholder.  So, let's simplify things and say BSD.


The difference is that if that for BSD code the other person has the 
right to close up the derivative, and you know that in this case you 
won't be able to provide any kind of paid support. (There's also the 
case of someone copylefting the derivative; how to approach this case is 
a wholly different topic).


In the case of the GPL, the other person is violating your copyright. 
You may decide to let it go, but if your or your company's finances 
depend on providing paid support for that project, or on dual licensing 
it as GPL/commercial, he's hurting you.



Or maybe because you have to. There was a case of a free software
project (JMRI) being sued for patent infringement by a proprietary
software company. It turned out that the proprietary software included
source code from the free software project without attribution
(copyleft was not even necessary, as the project was under the
Artistic License!). In this case, the possibility to counter-sue saved
the free software programmer from having to pay millions of dollars.


I think this might be an over simplification. There were many statements
in this history (new to me - just read it all - good read) that
demonstrate that the patents were incorrectly granted. The copyright
issue was involved, and the defense of free / open source copyrights was
involved, but it looks pretty clear to me that JMRI wanted to shut down
*all* violations. They wanted the incorrectly granted patents dropped,
and they wanted their copyrights held intact. Was the latter required
for the former victory, or was that just how things played out?


From my understanding, it was the easiest way to get the case settled.


I'll also note that even if it was required, it was the Artistic
License, and it was demonstrated as being valid in a court of law.


Yes, I mentioned it above.  My points were basically two:

1) patents are a big threat to free/open source software, so it's better 
to keep our main counter-weapon (copyright) strong.


2) you might be forced to sue even for violation of a permissive 
license, so watering down the ability to defend your rights may turn out 
to be a bad idea, even if you choose to skip copyleft.


I hope nothing of this happens to anyone involved in this thread, of course!

Paolo


Re: Why not contribute? (to GCC)

2010-04-27 Thread Richard Kenner
 To stay US-centric, have a look at:
   http://www.copyright.gov/title17/92chap5.html
 
 Any law that makes something illegal has to define the available
 penalties associated. 

You are confusing criminal and civil law.  What you say is certainly true
for criminal law, where the other party is the government.  But in a civil
dispute between two entities, there are few limits on what can be ordered
to remedy an injury.  What you site are a list (not meant to be complete)
of possible sanctions in the case of pure copyright infringement.  But
normally when there's a copyright dispute between two entities, there
are OTHER claims alleged too.

This is getting WAY off topic ...


Re: Why not contribute? (to GCC)

2010-04-27 Thread Paolo Bonzini

On 04/27/2010 03:46 AM, Russ Allbery wrote:

This is all relatively easily handled under the copyright policy on
the academic side of the house for students and faculty.


Unless it's institutional work...  I was in the same boat during my 
own Ph.D. studies, cherrypicking what to send for inclusion into FSF GCC 
and what not.


It just shows that the handling of the disclaimer is not at all
black-and-white and very much left to the whims of the contributor.

BTW, thanks for the detailed answer, I did read it entirely and it was 
very interesting.


Paolo


Re: Why not contribute? (to GCC)

2010-04-27 Thread Alfred M. Szmidt
And how are potential contributors supposed to know this?

   They're really not.  The fundamental problem here is that this area of
   the law is not only very complicated, but is really all guesswork
   since there are few, if any, relevant cases.  Moreover, this is an
   area of the law where details matter, often quite a bit.

   My suggestion for this process is develop an online form where a
   person specifies various things about their contribution including
   what program it's for an how long it is.  It should ask whether the
   person anticipates submitting more changes.  Then it needs to ask what
   the person's employment status is and in which country.  It should ask
   about terms relating to IPR in any employment agreements.  And so on.

   Then it should be able to come up with a set of choices that would
   cover this person's unique situation.

That is more or less what a potentional contributor gets via email
when submitting a patch.  I don't see how a web form would make things
different.


Re: Why not contribute? (to GCC)

2010-04-27 Thread Ian Lance Taylor
Alfred M. Szmidt a...@gnu.org writes:

 That is more or less what a potentional contributor gets via email
 when submitting a patch.  I don't see how a web form would make things
 different.

True, but I think it would make a significant difference if the web
form could be filled out online without requiring a piece of paper, a
pen, and a stamp.

Ian


Re: Why not contribute? (to GCC)

2010-04-27 Thread Michael Witten
On Mon, Apr 26, 2010 at 21:03, Mark Mielke m...@mark.mielke.cc wrote:
 They can take a copy of your code and modify it, but at no time does your
 original code become non-free. As long as people continue to copy from your
 free version of the code, they can continue to use it for free.

 The GPL isn't free though. The GPL is a limited use license that restricts
 freedoms in such a way that there is some expectation that the lost freedoms
 can purchase future freedom, and this compromise is justified.

 Many of us don't agree that the compromise is justified.

You keep missing the fact that the GPL is meant to protect the USER's
right to play with the software. Read about Tivoization.

As far as the rights of the author, the GPL basically just protect's
the author's wish that his software be distributed under the GPL.


Re: Why not contribute? (to GCC)

2010-04-27 Thread Alfred M. Szmidt
That is more or less what a potentional contributor gets via
email when submitting a patch.  I don't see how a web form would
make things different.

   True, but I think it would make a significant difference if the web
   form could be filled out online without requiring a piece of paper,
   a pen, and a stamp.

There are two forms to be filled out, the `request' and then the
`assignment'.  I'm guessing you are refering to the assignment here,
since that is the paper form--I was refering to the request form.  I'd
love to see that, and all GNU project maintainers would be happy about
it, but that is a topic for the FSF, its lawyers and Richard.


Re: Why not contribute? (to GCC)

2010-04-27 Thread Manuel López-Ibáñez
On 27 April 2010 22:45, Alfred M. Szmidt a...@gnu.org wrote:
    That is more or less what a potentional contributor gets via
    email when submitting a patch.  I don't see how a web form would
    make things different.

   True, but I think it would make a significant difference if the web
   form could be filled out online without requiring a piece of paper,
   a pen, and a stamp.

 There are two forms to be filled out, the `request' and then the
 `assignment'.  I'm guessing you are refering to the assignment here,
 since that is the paper form--I was refering to the request form.  I'd
 love to see that, and all GNU project maintainers would be happy about
 it, but that is a topic for the FSF, its lawyers and Richard.

Given the feedback we have got in this thread, it would make a
significant difference if all the process could be done via a web
form. I regularly sign copyright papers for conferences and publishers
via web, e.g., IEEE and ACM.

If the FSF insists that a hard-copy signature is absolutely necessary,
then the web form should provide a personalized pdf that can be
printed, signed and sent by fax or email, which is the method that
have been used in academia since faxes were invented.

If snail mail is absolutely necessary, still a clear and flexible web
form could greatly improve the situation. As for clear, we have seen
that the process is more than obscure. As for flexible, it seems clear
that the current form is not sufficiently personalized, which makes it
more difficult to get it signed by an employer. It is not sufficient
to put the current procedure in the web. The procedure itself has to
be improved.

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-27 Thread Alfred M. Szmidt
   As for flexible, it seems clear that the current form is not
   sufficiently personalized, which makes it more difficult to get it
   signed by an employer.

If you need something specific, you should contact le...@gnu.org.
They are quite flexible, I do not know where people got the idea that
they are not.


Re: Why not contribute? (to GCC)

2010-04-27 Thread Richard Kenner
 If you need something specific, you should contact le...@gnu.org.
 They are quite flexible, I do not know where people got the idea that
 they are not.

You're missing the point.  If flexibilty isn't the DEFAULT people
won't know about it and will think it doesn't exist and complain.  I
strongly agree with previous post: this needs to move to a web-based
mostly-automatic and and approach much more personalized to a person's
individual situation.



Re: Why not contribute? (to GCC)

2010-04-27 Thread Manuel López-Ibáñez
On 27 April 2010 23:27, Alfred M. Szmidt a...@gnu.org wrote:
   As for flexible, it seems clear that the current form is not
   sufficiently personalized, which makes it more difficult to get it
   signed by an employer.

 If you need something specific, you should contact le...@gnu.org.
 They are quite flexible, I do not know where people got the idea that
 they are not.

But this is precisely the problem we are discussing. Lack of
information and clarity. I know they are very flexible because I
drafted my form together with the legal department of my university
and they just accepted it. However, it was just a bold move on my part
to get things moving when my university told they will never sign the
original form. But this thread shows precisely that:

1) The back-and-forth is too much for casual contributors. If it is
more effort to do the legal work than to submit the first patch, then
they will never submit any patch at all.

2) Potential contributors are lost as to what changes to make. I was
lucky that someone helped me to draft the document but this is
probably an exception.

3) Depending on the complexity of the organisation, you may have one
chance to get the paper signed. Afterwards, the organisation won't
bother again to consider the issue. Even in my case, I had to go in
person and wait for hours to get the paper that they drafted signed by
them.

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-27 Thread Alfred M. Szmidt
People will always find reasons to complain, but most people (and
companies) seem to be happy with how the copyright assignments look
today.


Re: Why not contribute? (to GCC)

2010-04-27 Thread Alfred M. Szmidt
   1) The back-and-forth is too much for casual contributors. If it is
   more effort to do the legal work than to submit the first patch,
   then they will never submit any patch at all.

Please do not exaggerate, if people have time for threads like these,
then they have time to send a short email with some questions or wait
a few days for a piece of paper to sign.

   2) Potential contributors are lost as to what changes to make. I
   was lucky that someone helped me to draft the document but this is
   probably an exception.

Wether a change is required is up to who is signing the form, if they
are not willing to sign it then respective legal departments should be
contacted.

Please contact le...@gnu.org for further discussions about the topic.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Andrew Haley
On 04/25/2010 06:05 PM, Steven Bosscher wrote:
 On Sun, Apr 25, 2010 at 6:48 PM, Michael Witten mfwit...@gmail.com wrote:
 On Sun, Apr 25, 2010 at 11:33, Richard Kenner
 If I submit a patch to the GCC project---necessitating an assignment
 of the copyright to the FSF---then can the people of the FSF decide
 that they don't want me to distribute my own work in another project
 (proprietary or otherwise)?
 
 No. This is very explicitly mentioned in the copyright assignment
 papers. For example, from my own copy (2002):
 
 1.(d) FSF agrees to grant back to Developer, and does hereby grant,
 non-exclusive, royalty-free and non-cancellable rights to use the
 Works (i.e., Developer's changes and/or enhancements, not The Program
 that they enhance), as Developer sees fit.

This is an example of a case where an explicit copyright agreement
helps everyone.  Clarity is good.

Andrew.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Mark Mielke

On 04/25/2010 11:27 PM, Dave Korn wrote:

On 26/04/2010 01:12, Mark Mielke wrote:
   

The real reason for FSF copyright assignment is control. The FSF wants to
control GCC.
 

   Yes.  Specifically, they want to be able to enforce the GPL.  Since only the
copyright holder can license code to anyone, whether under GPL or whatever
terms, FSF has to hold the copyright, or it can't sue anyone who breaches the
GPL, and therefore cannot enforce it.
   


If the software was truly free - and not limited use - there would be no 
need to enforce it. It would be free.



mode. I don't see how this benefits me in any way. If I'm giving software
that I write to the community for free, why do I care what they will do
with it? If I control how they can use it - it's not free. It's limited
use.
 

   You're only looking at it from one side, that of an author.  The benefits of
the GPL are primarily to users.  Since all us authors are also users of
software, we should weigh up the inconveniences against the benefits.
   


This presumes that the benefits of truly free software are not 
sufficient on their own to result in benefits for the users. There are 
many non-GPL free software projects, that continue to be distributed 
for free, without the heavy handed enforcement defined by the GPL. The 
GPL is just one model for free software. It is not the only model, nor 
it is the most free model.



   There is value for me, as a user, in the existence of free software that
can't be restricted by proprietary acts of enclosure.  The GPL is
unashamedly a political strategy with a goal that can be seen to benefit all,
even without your needing to agree with the political stance: that goal is to
create a commons, and to make it impossible for there ever to be a tragedy of
that commons.  Whether you agree about the value (social or financial) or
likelihood of success of the exercise or not, you still benefit from that
commons, under pretty much any philosophical or political stance except for
the most extreme everything is a zero-sum game and therefore anything that
benefits anyone except me is a harm to me viewpoints.  Or so I think, anyway.
   


I think that other licenses exist which are both more free (less limited 
use), and would provide the same sorts of value in creating a commons. I 
think the creation of a commons should be about practical merit, and not 
some weird copyright protection that acts like a virus in that it 
infiltrates every derived software of the original software. I think 
people should do the right thing because it makes sense, not because the 
FSF crafted a clever way to lock people in to a certain model and never 
escape from it.



   So, why should you care what others will do with it?  Enlightened
self-interest.   You and others both benefit from the common wealth of free
software, therefore both you and others should, in theory, not want anyone to
try and hoard those benefits to themselves, because that's how tragedies of
commons arise.  This is what can happen with the proprietarisation of open
source software, the GPL is a way to avoid that from happening by caring about
what others do with it, hence you should care what others do with it.  You
release your software to the world because you hope people will benefit from
it, for the same reason you should continue to care what happens to it 
afterward.
   


I have no fear of hoarding, because I believe that the merits of free 
software extend beyond a legal requirement to honour a copyright 
license. I believe companies generally discover that it is cheaper to 
contribute back to the project than to maintain patches off stream for 
extended periods of time. I believe that the users have power in 
requesting that the companies provide the software under an open source 
or free software license. I believe that free software has a significant 
place in this world which is compelling and self evident even to greedy 
self-interests. And if somebody doesn't get it, and hoards their own 
copy? I don't care. I as a user, can choose to not buy their solution. I 
as a user, can choose to contribute to an alternative to their solution. 
So what if somebody profits from my work? Companies such as RedHat 
profit from GPL work today. The copyright assignment part only goes so 
far in terms of protection. Personally, I have no problem with companies 
profiting from work which I have chosen to give away for free.



Referring to the people and employees who have gone through the copyright
assigment and employer disclaimers in the past and saying (they didn't
have a problem signing) isn't evidence that the process is practical,
efficient, or acceptable. These people probably just felt they had no other
choice. If given the option of NOT doing this process, I'm sure most of
them would happily have chosen option B.
 

   (Heh.  Making arbitrary claims about how many people you suppose or not
would make a certain choice or not and what their motives 

Re: Why not contribute? (to GCC)

2010-04-26 Thread Mark Mielke

On 04/25/2010 11:44 PM, Dave Korn wrote:

On 26/04/2010 04:30, Richard Kenner wrote:
   

Yes.  Specifically, they want to be able to enforce the GPL.  Since only the
copyright holder can license code to anyone, whether under GPL or whatever
terms, FSF has to hold the copyright, or it can't sue anyone who breaches the
GPL, and therefore cannot enforce it.
   

Unless I'm missing something, that argues that the FSF must have
copyright to SOME of the code.  I don't see how having copyright for
all of the code would be needed to do that.
 

   Well, if the FSF don't own all the code, they can only license the bits they
do own.  That would leave the rest of it vulnerable to predation, at least.


... they can only license the bits they do own isn't quite right. The 
can only license the bits they have permission to license. Under the 
GPL, anybody with a legally obtained copy can re-license the software 
the same version of the GPL or a later version of the GPL.


Perhaps you mean they can only sue the bits they do own - but even that 
sounds suspect. If I have the rights to re-license software, and I 
re-license the software, why do I not have permission to enforce these 
rights? It doesn't make sense to me. But, I'm willing to assume the FSF 
lawyers know something I don't about copyright law, probably something 
about how only the actual owner (either due to being the original author 
or due to implicit copyright assignment to an employer or due to 
explicit copyright assignment to a third party such as the FSF?) can 
raise the law suit. If so, then yes, it would seem to, unfortunately, 
mean that you would need to get the author of the code that you want to 
sue about involved in the process.


Personally, this whole issue is problematic to me. I really can't see 
why I would ever sue somebody for using software that I had declared 
free. It wouldn't be worth my time and I have trouble understanding how 
I could demonstrate personal loss making the law suit worth persuing in 
the first place. Perhaps I do not run an organization such as the FSF or 
own a company that makes money off dual-licensing GPL/Commercial, so I 
don't have the same perspective as they do...


Cheers,
mark



Re: Why not contribute? (to GCC)

2010-04-26 Thread Mark Mielke

On 04/26/2010 12:31 AM, Ian Lance Taylor wrote:

Mark Mielkem...@mark.mielke.cc  writes:
   

Wouldn't contributing a patch to be read by the person who will be
solving the problem, but without transferring of rights, introduce
risk or liability for the FSF and GCC?

I thought clean room implementation implies not seeing how somebody
else did it first, as the clean part is tainted after somebody
examines the patch?
 

Clean room implementation techniques are not required to avoid
copyright violations.  Copyright only covers the expression of an
idea; it does not cover the idea itself.  Expressing the same idea in
different code is not a copyright violation.  Even independent
identical expressions are not copyright violations if they are truly
independent.  And if there is only one possible way to express an
idea, then copyright does not apply at all, as there is no creative
aspect to the work.


They aren't truly independent if you use the patch as a model to work 
from. Demonstrating to a judge that your work is unique might be a lot 
more difficult if you confess to reading the original before writing the 
new.


What are clean room implementations for if not for avoiding copyright 
violation? At my company, we took things seriously to the point of 
dividing the GPL designers from the non-GPL designers to prevent code 
fragments from being leaked to one side or the other, even if just a 
faint memory that ends up resulting in code that looks just about 
exactly like the original, even if the author cannot identify what the 
original was.


Cheers,
mark


Re: Why not contribute? (to GCC)

2010-04-26 Thread Ross Ridge
Alfred M. Szmidt writes:
You are still open to liabilities for your own project, if you
incorporate code that you do not have copyright over, the original
copyright holder can still sue you

That's irrlevent.  By signing the FSF's document I'd be doing nothing
to reduce anyone's ability to sue me, I could only be increasing them.
And please don't try to argue that's not true, because I have no reason
to believe you.  Only a lawyer working for myself would be in a position
to convince me otherwise, but if I have to go that far, it's clearly
not worth it.

The debate over legalities has already derailed this thread, so let me
try to put it another way.

Years ago, I was asked to sign one of these documents for some public
domain code I wrote that I never intended to become part of a FSF project.
Someone wanted to turn it a regular GNU project with a GPL license,
configure scripts, a cute acronym and all that stuff.   I said no.
It's public domain, take it or leave it.  Why I should I sign some
legally binding document for some code I had in effect already donated
to the public?  How would you feel if some charity you donated money to
came back with a piece of paper for you to sign?

Submitting a hypothetical patch to GCC isn't much different to me.  For
some people having their code in the GCC distribution is worth something.
For me it's not.  For them it's a fair trade.  For me it's a donation.

We are all humans, patches fall through the cracks.  Would you like to
help keeping an eye out for patches that have fallen through?  Would
anyone else like to do this?

As I said, I was just listing the reasons why I don't contribute.
I'm not arguing that anything should be changed or can be changed.
However, what I do know is that excuses won't make me or anyone else
more likely to contribute to GCC.

Please refer to GCC as a free software project, it was written by the
GNU project and the free software community. 

Oh, yah, forgot about that one.  Political stuff like this another reason
not to get involved with GCC. 

Ross Ridge



Re: Why not contribute? (to GCC)

2010-04-26 Thread Paolo Bonzini

On 04/26/2010 07:20 AM, Richard Kenner wrote:

[1] France in my case, probably Europe in general.  What you do in
your free time is yours by default, land grab clauses are not
accepted, and it's only when you work at home on things you also
do at work that questions can be asked.


That's true in the US as well, but the sticky part is when you try to
define such nebulous things as free time, company equipment, and
things you also do at work.  If you're not doing programming at
work, you don't need a disclaimer.  And if you are, then how broadly
things are defined becomes potentially relevant.


I would not be surprised if these things were better defined in
Europe. I would not be surprised if they weren't better defined either,
but it's worth trying because in my experience the disclaimer is a much
higher barrier-to-entry than the assignment.

In particular, it is not common to find lawyers that are fluent in US
law in European institutions (if they are fluent in English at all).  In
fact, the FSF would do this half of the world a great favor by making a
list of countries where a disclaimer from the employer is not needed (if
any).  Alternatively, ask the FSF Europe to work on a version in at
least French, German, Italian and Spanish.

And even in the US we lost a patch for 4.5 due to a problem with the
disclaimer.  I read this recently on gcc-patches:

   The FSF has a personal copyright assignment for me, but I could not
   get one from my employer at the time, Stanford (according to
   Stanford's policies they would not claim copyright on this patch).

I suppose that this referred to http://rph.stanford.edu/5-2.html which
shows that the matter is not black-and-white:

   BOOKS, ARTICLES, AND SIMILAR WORKS, INCLUDING UNPATENTABLE SOFTWARE
   In accord with academic tradition, except to the extent set forth in
   this policy, Stanford does not claim ownership to pedagogical,
   scholarly, or artistic works, regardless of their form of
   expression. Such works include those of students created in the
   course of their education, such as dissertations, papers and
   articles. The University claims no ownership of popular nonfiction,
   novels, textbooks, poems, musical compositions, unpatentable
   software, or other works of artistic imagination which are not
   institutional works and did not make significant use of University
   resources or the services of University non-faculty employees
   working within the scope of their employment.

Yet copyright.list has:
- 3 disclaimers from Stanford dating back to 1989
- 10 contributors with a Stanford email, all without a disclaimer

So?

Paolo


Re: Why not contribute? (to GCC)

2010-04-26 Thread Paolo Bonzini

On 04/26/2010 11:23 AM, Mark Mielke wrote:

Personally, this whole issue is problematic to me. I really can't see
why I would ever sue somebody for using software that I had declared
free.


Because (a derivative of) it is being made nonfree?


It wouldn't be worth my time and I have trouble understanding how
I could demonstrate personal loss making the law suit worth persuing in
the first place.


Perhaps because you know the code better than anyone else, so you could 
provide paid support on that derivative as well.


Or maybe because you have to.  There was a case of a free software 
project (JMRI) being sued for patent infringement by a proprietary 
software company.  It turned out that the proprietary software included 
source code from the free software project without attribution (copyleft 
was not even necessary, as the project was under the Artistic License!). 
 In this case, the possibility to counter-sue saved the free software 
programmer from having to pay millions of dollars.


Paolo


Re: Why not contribute? (to GCC)

2010-04-26 Thread Manuel López-Ibáñez
On 26 April 2010 07:06, Chris Lattner clatt...@apple.com wrote:

 I find it amusing the willingness of various developers to debate the 
 veracity of the LLVM policies, but the simulataneous (apparent) unwillingness 
 to address GCC's (perceived) problems.  Why not spend your time helping 
 improve the documentation, increase modularity, or improve the copyright 
 assignment process, rather than participate so much in this thread?


Well, I agree that the discussion is going a bit off-topic. As it
commonly happens when the legal issues are raised. But it has been
raised that it is easier to contribute to LLVM than to GCC because the
former does not require a copyright assignment/disclaimer. The
question then is whether the copyright assignment/disclaimer is needed
at all, or its benefits outweighs its costs. It is a pointless
discussion for GCC because the FSF strongly feels that it is
necessary. I guess you have noticed that I am not in the LLVM mailing
list raising this uncomfortable questions.

In fact, I agree that those are (real, not perceived) problems in GCC.
But to address those problems we need more help. And I feel the
feedback from would-be-contributors has been interesting, but we
probably are not going to get anything more useful from this thread.
Can I close it?

 On Apr 25, 2010, at 7:12 PM, Manuel López-Ibáñez wrote:
 Are you 100% sure that the fact that LLVM does not ask for your
 employer disclaimer means that you do not need to ask your employer
 for some paper to legally contribute code? Are you sure you are not
 exposing yourself to a legal risk?

 This is such an incredibly immense scoop of FUD that I couldn't help but 
 respond to it :-)  Isn't this thread supposed to be about finding ways to 
 improve GCC?

From the things we have heard in this thread, this is a pretty
sensible question. Is the answer yes or no? You could actually ask the
lawyers of the U. of Illinois. But yes, until I start contributing to
LLVM (which may happen someday, there is nothing wrong with it) I
don't care much, that is, unless someone raises again the point that
it is easier to contribute to LLVM because they don't ask for a
copyright disclaimer. If you get an answer, I am honestly interested.
:-)

Manuel.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Richard Kenner
 If I have the rights to re-license software, and I re-license the
 software, why do I not have permission to enforce these rights?

Because you have the permission to re-DISTRIBUTE (not re-LICENSE) the
software and nothing else.  Note that I changed right to permission.
The owner of the software (the copyright holder) has given you specific
permissions to do certain things with the software.  Re-distributing it is
one of them.  But you're not the OWNER of the software.

You're also not re-LICENSING the software.  If I write some software and
apply the GPL to it and you get a copy, you have my permission to
redistribute that software to a third person.  But the license that the
third person receives is from ME, not you.  If a person you give it to
violates the GPL (e.g., by giving somebody a binary copy and refusing to
give them the sources), that person has violated a license with ME and only
*I* can persue it legally.

 Personally, this whole issue is problematic to me. I really can't see 
 why I would ever sue somebody for using software that I had declared 
 free.

If they made it NON-FREE!  See above.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Richard Kenner
 Years ago, I was asked to sign one of these documents for some public
 domain code I wrote that I never intended to become part of a FSF project.
 Someone wanted to turn it a regular GNU project with a GPL license,
 configure scripts, a cute acronym and all that stuff.   I said no.
 It's public domain, take it or leave it.  Why I should I sign some
 legally binding document for some code I had in effect already donated
 to the public?

Because that's the only way to PUT something in the public domain!
Copyright law says that if you write something, you own the copyright to
it.  That's true whether you put a copyright notice in it or not.  If you
mean to disclaim copyright interest in it, you have to sign some document
saying you do.

 How would you feel if some charity you donated money to came back
 with a piece of paper for you to sign?

A closer analogy: a charity receives an unsolicited script for a play from
you.  There's no copyright notice on it.  They love the script and feel
they can make a lot of money producing the show.  If you were the charity's
attorney would you recommend they go ahead and produce the show under the
assumption you MEANT to assign the rights to them or should they get a
document from you STATING that you mean to assign the rights to them?


Re: Why not contribute? (to GCC)

2010-04-26 Thread Manuel López-Ibáñez
You are free to keep discussing this ad-infinitum. But I really think
that this discussion is not adding anything new. It seems the same old
controversy that is beyond GCC. And it is getting confusing, hard to
follow, and at the end, all your effort will be lost in the archives
and help no one.

Cheers,

Manuel.


On 26 April 2010 14:22, Richard Kenner ken...@vlsi1.ultra.nyu.edu wrote:
 If I have the rights to re-license software, and I re-license the
 software, why do I not have permission to enforce these rights?

 Because you have the permission to re-DISTRIBUTE (not re-LICENSE) the
 software and nothing else.  Note that I changed right to permission.
 The owner of the software (the copyright holder) has given you specific
 permissions to do certain things with the software.  Re-distributing it is
 one of them.  But you're not the OWNER of the software.

 You're also not re-LICENSING the software.  If I write some software and
 apply the GPL to it and you get a copy, you have my permission to
 redistribute that software to a third person.  But the license that the
 third person receives is from ME, not you.  If a person you give it to
 violates the GPL (e.g., by giving somebody a binary copy and refusing to
 give them the sources), that person has violated a license with ME and only
 *I* can persue it legally.

 Personally, this whole issue is problematic to me. I really can't see
 why I would ever sue somebody for using software that I had declared
 free.

 If they made it NON-FREE!  See above.



Re: Why not contribute? (to GCC)

2010-04-26 Thread Alfred M. Szmidt
Years ago, I was asked to sign one of these documents for some
public domain code I wrote that I never intended to become part
of a FSF project.  Someone wanted to turn it a regular GNU
project with a GPL license, configure scripts, a cute acronym and
all that stuff.  I said no.  It's public domain, take it or leave
it.  Why I should I sign some legally binding document for some
code I had in effect already donated to the public?

   Because that's the only way to PUT something in the public domain!

Well, not entiterly correct... It is very hard to put something into
the public domain (legally) other than dropping dead, and waiting N
years.  What you do is just give a `free for all' license.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Alfred M. Szmidt
   You are still open to liabilities for your own project, if you
   incorporate code that you do not have copyright over, the original
   copyright holder can still sue you

   That's irrlevent.  By signing the FSF's document I'd be doing
   nothing to reduce anyone's ability to sue me, I could only be
   increasing them.  And please don't try to argue that's not true,
   because I have no reason to believe you.

Well, it isn't true, the liabilities are exactly the same against you.

   Years ago, I was asked to sign one of these documents for some
   public domain code I wrote that I never intended to become part of
   a FSF project.  Someone wanted to turn it a regular GNU project
   with a GPL license, configure scripts, a cute acronym and all that
   stuff.

If you wrote it, then it is copyrighted and not public domain.
Putting code into the PD is complex, and depending on the place
impossible.  So unless you are a ghost from say 90 years back, the
code was infact copyrighted by you and not in the PD.  The general
method is to ask either for an assignment, or an explicit `free for
all' license.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Alfred M. Szmidt
If I have the rights to re-license software, and I re-license the
software, why do I not have permission to enforce these rights?

   Because you have the permission to re-DISTRIBUTE (not re-LICENSE)
   the software and nothing else.

In case of GCC, you have the explicit permission to relicense the work
under a later version of the GPL.  In the case of the GNU Lesser GPL,
you have explicit permission to relicense the work under the GPL.  So
depending on the license, you might have permission to relicense the
work.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Alfred M. Szmidt
   Wouldn't contributing a patch to be read by the person who will be
   solving the problem, but without transferring of rights, introduce
   risk or liability for the FSF and GCC?

That risk always exists; some level of trust has to exist somewhere.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Alfred M. Szmidt
   It's unclear whether the LLVM-style implicit copyright assignment
   is really enforceable, and this certainly isn't a forum to debate
   it.  In any case, it doesn't really matter, because the only reason
   copyright needs to be assigned (AFAIK) is to change the license.

This is not the only reason (and in the GNU projects case, not a
reason at all), the main reason is to be able to enforce the copyright
of the work without having to call in everyone into court.  If only
parts of GCC where copyrighted by the FSF, then the FSF could only sue
only for those parts.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Ross Ridge
Ross Ridge writes:
 Years ago, I was asked to sign one of these documents for some public
 domain code I wrote that I never intended to become part of a FSF project.
 Someone wanted to turn it a regular GNU project with a GPL license,
 configure scripts, a cute acronym and all that stuff.   I said no.
 It's public domain, take it or leave it.  Why I should I sign some
 legally binding document for some code I had in effect already donated
 to the public?

Richard Kenner writes:
 Because that's the only way to PUT something in the public domain!

That's absurd and beside the point.  

 How would you feel if some charity you donated money to came back
 with a piece of paper for you to sign?

A closer analogy: a charity receives an unsolicited script for a play from
you.

No, that's not a closer analogy.  As I said, I never intended for my
code to become part of an FSF project.  I didn't send them anything
unsolicited.

I'm contributing to this thread solely to answer the question asked.
Either take the time to read what I've written and use it try to
understand why I don't and others might not contribute to GCC, or please
just ignore it.  Your unsubstantiated and irrelevent legal opinions
aren't helping.

Ross Ridge



Re: Why not contribute? (to GCC)

2010-04-26 Thread Jonathan Corbet
On Sun, 25 Apr 2010 12:00:13 -0400
Alfred M. Szmidt a...@gnu.org wrote:

Given that there are plenty of high-profile projects out there
which seem to be entirely safe in the absence of copyright
assignment policies, why, exactly, does GCC need one to be legally
safe?
 
 I do not know what high-profile projects you are refering to

Kernel, apache, MeeGo, git, for starters.

 you will
 have to ask them why they think they can ignore a paper trail.  

Copyright assignment != paper trail.

 Having
 one copyright holder solves many issues when enforcing copyright, you
 do not need to contact all parties.

The projects with the most public success at enforcing free licensing
are the kernel and busybox.  Neither requires copyright assignment.
The enforcement actions did not require the contacting of all parties -
where did that assertion come from?

I would not presume to tell the GCC project what its policy should be;
that's a decision for the people who are doing the work. But I do get
irritated when people claim that copyright assignment is required to
somehow keep a project safe or to make the copyright enforceable.
Both claims are demonstrably false.

jon


Re: Why not contribute? (to GCC)

2010-04-26 Thread Alfred M. Szmidt
   Given that there are plenty of high-profile projects out there
   which seem to be entirely safe in the absence of copyright
   assignment policies, why, exactly, does GCC need one to be
   legally safe?

I do not know what high-profile projects you are refering to

   Kernel, apache, MeeGo, git, for starters.

If with kernel you mean Linux, then they require you to agree to an
type of assignment (though not in paper form), same for git.  Linux
(and git) started with this right around when SCO started threatening
free software projects.  If such a such an agreement is legally
binding or not is for the court to decide, the assignments from the
FSF are legally binding, though (they are contracts).

Apache requires an assignment as well from the looks, see
http://www.apache.org/licenses/icla.txt

I do not know about MeeGo. 

Regarding BusyBox, it was Erik Anderseen who filed suite (via SFLC),
but he can only file suite for the code he holds the copyright over.
If a company manages to remove the code he holds copyright over, and
nobody of the other copyright holders wish to sue, then the company
can go about violating the license.



Re: Why not contribute? (to GCC)

2010-04-26 Thread Chris Lattner
On Apr 26, 2010, at 8:11 AM, Alfred M. Szmidt wrote:
   It's unclear whether the LLVM-style implicit copyright assignment
   is really enforceable, and this certainly isn't a forum to debate
   it.  In any case, it doesn't really matter, because the only reason
   copyright needs to be assigned (AFAIK) is to change the license.
 
 This is not the only reason (and in the GNU projects case, not a
 reason at all), the main reason is to be able to enforce the copyright
 of the work without having to call in everyone into court.  If only
 parts of GCC where copyrighted by the FSF, then the FSF could only sue
 only for those parts.

Someone else pointed this out elsewhere in the thread, so perhaps it is worth 
responding.  Being able to enforce copyright is specifically useful if your 
code is under a GPL-style license.  For code under a bsd-style do whatever you 
want, but don't sue us style license, this is much less important.  That is 
why I claimed that the license change aspect is most important: for me 
personally, enforcing copyright is not a particular exciting prospect.

w.r.t. hoarding, I'll point out that (in the context of GCC) being able to 
enforce copyright is pretty useless IMO.  While you can force someone to 
release their code, the GPL doesn't force them to assign the copyright to the 
FSF.  In practice this means that you can force someone to release their GCC 
changes, but you can't merge them back to mainline GCC.  In a warped way you 
could argue that the FSF using the GPL encourages their software to fork :-)


On Apr 25, 2010, at 10:23 PM, Richard Kenner wrote:
 This would be on topic if the thread were Why not contribute? (to LLVM),
 but it isn't.  If you're really concerned about LLVM developers, that's one
 thing, but this is certainly not the place to discuss it.
 
 OK, then I'll rephrase it:
 
 If the GCC project were to change their policy so that there is no longer
 any document signed between the submitter of the code and the FSF,

To be perfectly clear, I'm not suggesting that the FSF or GCC project change 
their policies.  I'm just disputing some claims about LLVM system, and pointing 
out that LLVM and GCC's policies differ because there are substantially 
different goals involved.  The LLVM project is much more focused on the 
technology and the community, the GCC project is more focused on ensuring 
software freedom (as defined by the FSF).  There isn't anything wrong with 
having different goals.

-Chris


Re: Why not contribute? (to GCC)

2010-04-26 Thread Jonathan Corbet
On Mon, 26 Apr 2010 12:50:14 -0400
Alfred M. Szmidt a...@gnu.org wrote:

 If with kernel you mean Linux, then they require you to agree to an
 type of assignment (though not in paper form), same for git.  

No.

What you agree to is the developers certificate of origin (DCO), which
says you have the right to contribute the code to the kernel.  No
copyright assignment takes place.  Trust me, I have thousands of lines
of code in the kernel, and the copyright remains mine.

 Apache requires an assignment as well from the looks, see
 http://www.apache.org/licenses/icla.txt

Did you read it?  It's not a copyright assignment agreement.

 I do not know about MeeGo. 

http://meego.com/about/licensing-policy

MeeGo project will neither require nor accept copyright
assignment for code contributions. The principle behind this is
on the one hand to avoid extra bureaucracy or other obstacles
discouraging contributions. On the other hand the idea is to
emphasize that contributors themselves carry the rights and
responsibilities associated with their code.

 Regarding BusyBox, it was Erik Anderseen who filed suite (via SFLC),
 but he can only file suite for the code he holds the copyright over.
 If a company manages to remove the code he holds copyright over, and
 nobody of the other copyright holders wish to sue, then the company
 can go about violating the license.

If the copyright holders don't wish to sue, then, one presumes, they
are not unhappy about the use of their code?

Anyway, I've probably irritated this list more then enough already;
I'll stop now, sorry for the noise.

jon


Re: Why not contribute? (to GCC)

2010-04-26 Thread Steven Bosscher
On Mon, Apr 26, 2010 at 6:08 PM, Jonathan Corbet cor...@lwn.net wrote:
 I would not presume to tell the GCC project what its policy should be;
 that's a decision for the people who are doing the work.

Actually it's not. The FSF sets the rules, and you either play along
or you don't do the work (not for the FSF anyway).

But to toss in $0.02 from someone who occasionally does some of the
work: I honestly just don't think of this copyright assignment as a
problem. I have assignments on file for g95 and for gcc, and I
assigned them because it allows me to contribute to a project that
gives me joy and fun (most of the time anyway) and the feeling I am
contributing to something useful for everyone. Every time I see a
device built in part with GCC (android phones, playstations,
Google(!)), I think hey, some of my work helped build that.

There is so much negativism about a mere nuisance in this thread. It's
a shame, but I guess it's just more proof that negative discussions
about GCC are more popular than positive ones.

Shall we continue hacking now? There's enough to do.

Ciao!
Steven


Re: Why not contribute? (to GCC)

2010-04-26 Thread Steven Bosscher
On Mon, Apr 26, 2010 at 7:03 PM, Steven Bosscher stevenb@gmail.com wrote:
 On Mon, Apr 26, 2010 at 6:08 PM, Jonathan Corbet cor...@lwn.net wrote:
 I would not presume to tell the GCC project what its policy should be;
 that's a decision for the people who are doing the work.

 Actually it's not. The FSF sets the rules, and you either play along
 or you don't do the work (not for the FSF anyway).

And to avoid being misunderstood: I don't say I like this situation.
It's just the facts as I understand them.

Ciao!
Steven


Re: Why not contribute? (to GCC)

2010-04-26 Thread Ian Lance Taylor
Mark Mielke m...@mark.mielke.cc writes:

 What are clean room implementations for if not for avoiding copyright
 violation?

Avoiding contract violations such as promises to keep source code
secret.  A strict clean room implementation also makes it clear that
no copyright violation could have occurred.


 At my company, we took things seriously to the point of
 dividing the GPL designers from the non-GPL designers to prevent code
 fragments from being leaked to one side or the other, even if just a
 faint memory that ends up resulting in code that looks just about
 exactly like the original, even if the author cannot identify what the
 original was.

I think that was entirely unnecessary on your part, though of course
lawyers, like anybody else, will tend to ask for whatever they can
get.

I won't respond further on this subthread on the list, it has nothing
to do with gcc.

Ian


Re: Why not contribute? (to GCC)

2010-04-26 Thread Olivier Galibert
On Mon, Apr 26, 2010 at 09:53:51AM -0700, Chris Lattner wrote:
 w.r.t. hoarding, I'll point out that (in the context of GCC) being
 able to enforce copyright is pretty useless IMO.  While you can
 force someone to release their code, the GPL doesn't force them to
 assign the copyright to the FSF.  In practice this means that you
 can force someone to release their GCC changes[...]

No, you can't.  You can't force some entity to release source code
they have copyright to, that's not part of the legal remedies that are
available to a judge.  What the judge can do is preventing the entity
to distribute the code and/or money and/or jail.

When source code is released, it's through a settlement.  And a
settlement can contain anything the parties agree on and the judge
considers fair, including copyright assignments.

  OG.



Re: Why not contribute? (to GCC)

2010-04-26 Thread Olivier Galibert
On Mon, Apr 26, 2010 at 07:03:25PM +0200, Steven Bosscher wrote:
 There is so much negativism about a mere nuisance in this thread. It's
 a shame, but I guess it's just more proof that negative discussions
 about GCC are more popular than positive ones.

Seriously, depending on the country it's not a mere nuisance.  To put
things in perspective, for a lot of people in France it's equivalent
to, in the US, go to the bank that owns your mortgage[1] and ask them
a paper saying that they have no copyright interests on your interior
decoration.  Or a landlord of the thousands of places on rent kind.

  OG.

[1] If you don't have one, imagine you do.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Richard Kenner
Chris Lattner wrote:
 To be perfectly clear, I'm not suggesting that the FSF or GCC
 project change their policies. 

Sure.  But others have and that's what this thread is all about.

Jonathan Corbet wrote:
 If the copyright holders don't wish to sue, then, one presumes, they
 are not unhappy about the use of their code?

No, certainly not. One presumes, instead, that they feel it's too much
TROUBLE to sue, which is exactly the point here.  If I'm walking down the
street and somebody's careless and knocks me down and I'm in pain for a
couple of days because of injuring my ankle and I choose not to sue the
person, does that mean I'm not unhappy he injured me?

If I own 1% of the code of a program and somebody makes it non-free, I'm
going to be upset, but probably not enough to either sue the person or try
to organize a group do to collectively.  But if instead I assigned that
software to a group that decided to sue, I'd be very happy they did and
glad that my assignment let them be able to do it.

Olivier Galibert wrote:
 You can't force some entity to release source code they have
 copyright to, that's not part of the legal remedies that are
 available to a judge.

What makes you say that?  Why couldn't that be a legal remedy?  When you
lose a suit, the whole point is you lose something of value.  Maybe it's
money, maybe it's real property, maybe it's a vehicle, maybe it's
custody of a child, or maybe it's loss of rights to illectual property.
The remedy you say a judge can't do is, in fact, not that uncommon.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Ian Lance Taylor
Chris Lattner clatt...@apple.com writes:

 w.r.t. hoarding, I'll point out that (in the context of GCC) being
 able to enforce copyright is pretty useless IMO.  While you can
 force someone to release their code, the GPL doesn't force them to
 assign the copyright to the FSF.  In practice this means that you
 can force someone to release their GCC changes, but you can't merge
 them back to mainline GCC.  In a warped way you could argue that the
 FSF using the GPL encourages their software to fork :-)

Again, just for the record.  History shows that this is not entirely
useless.  People at NeXT wrote the Objective C frontend to GCC.  They
did not intend to release the source code.  The FSF objected.  In the
end, NeXT wound up contributing the code, and that is why GCC has an
Objective C frontend.  In other words, the whole process worked as the
GPL intended.

Ian


Re: Why not contribute? (to GCC)

2010-04-26 Thread Ian Lance Taylor
Jonathan Corbet cor...@lwn.net writes:

 What you agree to is the developers certificate of origin (DCO), which
 says you have the right to contribute the code to the kernel.  No
 copyright assignment takes place.  Trust me, I have thousands of lines
 of code in the kernel, and the copyright remains mine.

The FSF permits something like this as well, in the form of a
copyright disclaimer.  The FSF prefers to get an assignment, but a
disclaimer is also acceptable.  The important point is the explicit
signature.

Ian


Re: Why not contribute? (to GCC)

2010-04-26 Thread Manuel López-Ibáñez
On 26 April 2010 21:28, Ian Lance Taylor i...@google.com wrote:
 Jonathan Corbet cor...@lwn.net writes:

 What you agree to is the developers certificate of origin (DCO), which
 says you have the right to contribute the code to the kernel.  No
 copyright assignment takes place.  Trust me, I have thousands of lines
 of code in the kernel, and the copyright remains mine.

 The FSF permits something like this as well, in the form of a
 copyright disclaimer.  The FSF prefers to get an assignment, but a
 disclaimer is also acceptable.  The important point is the explicit
 signature.

And how are potential contributors supposed to know this?

If there is something that I can take from this thread is:

* The reasons for the copyright assignment/disclaimer, and their legal
effects are totally misunderstood by almost any potential contributor
and by a large number of existing contributors. After the whole
thread, I am perhaps a bit more confused than before. It would be
extremely useful if anyone that feels confident on the subject wrote a
FAQ-like document in the wiki that we could use as a reference for the
future. Otherwise, I feel that all the heated discussion will be for
nothing.

* The process is overly complex, obscure, confusing  and slow. It does
not seem that it needs to be so. It is scaring away potential
contributors and slowing down GCC development. Couldn't the SC
intercede with the FSF to make it as simpler (and clear) as possible?
In the ideal world, a web form would be sufficient to explain all
details and gather all required information.

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Richard Kenner
 And how are potential contributors supposed to know this?

They're really not.  The fundamental problem here is that this area of
the law is not only very complicated, but is really all guesswork
since there are few, if any, relevant cases.  Moreover, this is an
area of the law where details matter, often quite a bit.

My suggestion for this process is develop an online form where a
person specifies various things about their contribution including
what program it's for an how long it is.  It should ask whether the
person anticipates submitting more changes.  Then it needs to ask what
the person's employment status is and in which country.  It should ask
about terms relating to IPR in any employment agreements.  And so on.

Then it should be able to come up with a set of choices that would
cover this person's unique situation.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Chris Lattner

On Apr 26, 2010, at 12:23 PM, Ian Lance Taylor wrote:

 Chris Lattner clatt...@apple.com writes:
 
 w.r.t. hoarding, I'll point out that (in the context of GCC) being
 able to enforce copyright is pretty useless IMO.  While you can
 force someone to release their code, the GPL doesn't force them to
 assign the copyright to the FSF.  In practice this means that you
 can force someone to release their GCC changes, but you can't merge
 them back to mainline GCC.  In a warped way you could argue that the
 FSF using the GPL encourages their software to fork :-)
 
 Again, just for the record.  History shows that this is not entirely
 useless.  People at NeXT wrote the Objective C frontend to GCC.  They
 did not intend to release the source code.  The FSF objected.  In the
 end, NeXT wound up contributing the code, and that is why GCC has an
 Objective C frontend.  In other words, the whole process worked as the
 GPL intended.

This is a often repeated example, but you're leaving out the big part of the 
story (at least as far as I know).  The license *did not* force the ObjC 
frontend to be merged back into GCC, there were other factors at work.  This 
'victory' has nothing to do with the license, but it did cause them to release 
the code.

Beyond that, the changes to support Objective C 2.0 (and later) have never been 
merged back in, despite being published and widely available under the GPL.  
Also, the GNU runtime and the NeXT runtimes are wildly incompatible, and the 
ObjC frontend in GCC is one of the most disliked (I'll leave out the 
pejoratives :) because its design has not kept up with the other front-ends.

Even in the shining example of the GPL succeeding, are you sure it was a good 
thing in retrospect? :)  

-Chris


Re: Why not contribute? (to GCC)

2010-04-26 Thread Ian Lance Taylor
Chris Lattner clatt...@apple.com writes:

 On Apr 26, 2010, at 12:23 PM, Ian Lance Taylor wrote:
 
 Again, just for the record.  History shows that this is not entirely
 useless.  People at NeXT wrote the Objective C frontend to GCC.  They
 did not intend to release the source code.  The FSF objected.  In the
 end, NeXT wound up contributing the code, and that is why GCC has an
 Objective C frontend.  In other words, the whole process worked as the
 GPL intended.

 This is a often repeated example, but you're leaving out the big
 part of the story (at least as far as I know).  The license *did
 not* force the ObjC frontend to be merged back into GCC, there were
 other factors at work.  This 'victory' has nothing to do with the
 license, but it did cause them to release the code.

Yes.  I was pointing out that forcing the release of the code *also*
caused the code to be contributed to the FSF.  As you say, other
factors were at work, but that's OK: there are always other factors.


 Beyond that, the changes to support Objective C 2.0 (and later) have
 never been merged back in, despite being published and widely
 available under the GPL.  Also, the GNU runtime and the NeXT
 runtimes are wildly incompatible, and the ObjC frontend in GCC is
 one of the most disliked (I'll leave out the pejoratives :) because
 its design has not kept up with the other front-ends.

 Even in the shining example of the GPL succeeding, are you sure it
 was a good thing in retrospect? :)

That is due to a different set of other factors.  Objective C is not a
shining example of the GPL succeeding.  But it is an example of a case
where the GPL forced release of code *and* it was contributed to gcc,
which is exactly the case that you were skeptical of.

In other words: theory says one thing will happen (GPL encourages
[FSF] software to fork); history shows that a different thing
happened.  I'm a pragmatist; given a reasonable choice, I prefer
history over theory.

Ian


Re: Why not contribute? (to GCC)

2010-04-26 Thread Chris Lattner

On Apr 26, 2010, at 1:53 PM, Ian Lance Taylor wrote:

 Beyond that, the changes to support Objective C 2.0 (and later) have
 never been merged back in, despite being published and widely
 available under the GPL.  Also, the GNU runtime and the NeXT
 runtimes are wildly incompatible, and the ObjC frontend in GCC is
 one of the most disliked (I'll leave out the pejoratives :) because
 its design has not kept up with the other front-ends.
 
 Even in the shining example of the GPL succeeding, are you sure it
 was a good thing in retrospect? :)
 
 That is due to a different set of other factors.  Objective C is not a
 shining example of the GPL succeeding.  But it is an example of a case
 where the GPL forced release of code *and* it was contributed to gcc,
 which is exactly the case that you were skeptical of.
 
 In other words: theory says one thing will happen (GPL encourages
 [FSF] software to fork); history shows that a different thing
 happened.  I'm a pragmatist; given a reasonable choice, I prefer
 history over theory.

Heh, ok, but if you're looking for history, look at both sides of it. 

deleted

I wrote a long and detailed email about GCC forks, long term corporate 
branches, the impact of the GPL on all this, etc.  However, it is so off topic, 
I'm happy to just delete it and drop the issue :-)

-Chris


Re: Why not contribute? (to GCC)

2010-04-26 Thread Toon Moene

On 04/26/2010 10:53 PM, Ian Lance Taylor wrote:


Chris Lattnerclatt...@apple.com  writes:



This is a often repeated example, but you're leaving out the big
part of the story (at least as far as I know).  The license *did
not* force the ObjC frontend to be merged back into GCC, there were
other factors at work.  This 'victory' has nothing to do with the
license, but it did cause them to release the code.


Yes.  I was pointing out that forcing the release of the code *also*
caused the code to be contributed to the FSF.  As you say, other
factors were at work, but that's OK: there are always other factors.


There's a funny side effect here:

One of the major reasons I bought a NeXT Station in November 1991 was 
that I considered NeXT's move to use free software a significant point 
on the scale of doing something differently from the rest.


Little did I know the problems that were underlying these decisions.

Which made me one of the ~ 10,000 proud owners of a NeXT Station (now 
retired) at the cost of a reasonably sized family car :-)


--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.5/changes.html#Fortran


Re: Why not contribute? (to GCC)

2010-04-26 Thread Russ Allbery
Paolo Bonzini bonz...@gnu.org writes:

 And even in the US we lost a patch for 4.5 due to a problem with the
 disclaimer.  I read this recently on gcc-patches:

The FSF has a personal copyright assignment for me, but I could not
get one from my employer at the time, Stanford (according to
Stanford's policies they would not claim copyright on this patch).

 I suppose that this referred to http://rph.stanford.edu/5-2.html which
 shows that the matter is not black-and-white:

BOOKS, ARTICLES, AND SIMILAR WORKS, INCLUDING UNPATENTABLE SOFTWARE
In accord with academic tradition, except to the extent set forth in
this policy, Stanford does not claim ownership to pedagogical,
scholarly, or artistic works, regardless of their form of
expression. Such works include those of students created in the
course of their education, such as dissertations, papers and
articles. The University claims no ownership of popular nonfiction,
novels, textbooks, poems, musical compositions, unpatentable
software, or other works of artistic imagination which are not
institutional works and did not make significant use of University
resources or the services of University non-faculty employees working
within the scope of their employment.

At Stanford, if you're on the academic side, Stanford mostly only cares
about patents.  Copyright generally vests in the academic author and the
university doesn't try to claim any copyright on that.

Work done for the university as part of the job of a staff member, such as
my work done during working hours, is of course owned by the university
under the work-for-hire provisions of copyright law and is a whole
different kettle of newts.

 Yet copyright.list has:
 - 3 disclaimers from Stanford dating back to 1989
 - 10 contributors with a Stanford email, all without a disclaimer

 So?

Stanford has a lot of staff as well as faculty and students.  :)
Universities are akin to both large villages and moderate-sized
corporations.  We have multiple significant internal IT departments, and
some of us do significant free software work.  Whether or not you need a
disclaimer given Stanford's copyright policy is going to depend on the
nature of your relationship with the university and the contribution.

The problem, as I alluded to in an earlier message, is that this is all
relatively easily handled under the copyright policy on the academic side
of the house for students and faculty.  But if you're staff doing free
software work as part of your job, finding someone at the university who
will sign the disclaimer is extremely difficult.

I can say from my 15 years of experience working here that in general
Stanford *hates* signing legal documents.  This is true even of
procurement contracts.  Stanford negotiates legalities very aggressively,
negotiates vendor contracts very aggressively, and does not generally sign
things unless the university has some compelling reason to do so.  This
is, from the university perspective, an obviously correct legal position
since it keeps the university out of trouble from documents that they
didn't need to sign.

In order to get a disclaimer signed, the last time I investigated this, I
would need to go through the Office of Technology Licensing because the
central IT staff are probably not people with sufficient authority to sign
such a document on behalf of the university.  All university intellectual
property is handled by the OTL.  And the entire purpose of the OTL is
serve as steward of university property and hence to handle the
university's intellectual property to the university's advantage (mostly
around the income that the university derives from licensing of its patent
portfolio; we hold some patents that came out of the Human Genome Project
work, for example).  They don't have much of an incentive to sign such a
document, and their first concern is going to be how much it might cost
the university to do so.

It's much simpler, from their perspective (and somewhat understandably so)
if I just don't contribute to FSF projects on work time unless there's
some particularly compelling reason for me to do so.  Most of the free
software work I do on university time I release under the copyright of the
university with a free software license; the university is more
comfortable with that than with signing legal agreements with third
parties, at least for things that are not particularly central to the
mission of the university and therefore warrant the time and attention
required to vet the agreement.

This is all a digression, as I don't have anything to contribute at the
moment -- this specific case is not a problem that anyone needs to try to
solve.  I describe it in this much detail just so that people are aware of
the sort of challenges that the policy creates and that contributors need
to work through.

Please also note that much of this information is about ten years old, and
the situation may have changed 

Re: Why not contribute? (to GCC)

2010-04-26 Thread Mark Mielke

On 04/26/2010 03:23 PM, Ian Lance Taylor wrote:

Chris Lattnerclatt...@apple.com  writes

w.r.t. hoarding, I'll point out that (in the context of GCC) being
able to enforce copyright is pretty useless IMO.  While you can
force someone to release their code, the GPL doesn't force them to
assign the copyright to the FSF.  In practice this means that you
can force someone to release their GCC changes, but you can't merge
them back to mainline GCC.  In a warped way you could argue that the
FSF using the GPL encourages their software to fork :-)
 

Again, just for the record.  History shows that this is not entirely
useless.  People at NeXT wrote the Objective C frontend to GCC.  They
did not intend to release the source code.  The FSF objected.  In the
end, NeXT wound up contributing the code, and that is why GCC has an
Objective C frontend.  In other words, the whole process worked as the
GPL intended.


This presumes that NeXT would not have discovered the value of free 
software and done the right thing eventually anyways. I think anybody 
who truly believes in free software should believe in it for practical 
reasons. It's not just a religion - it's the right way to do business. 
Business can understand dollars, and free software can be demonstrated 
to provide value in terms of $$$.


I think anybody who truly believes in the *merit* of free software, 
should be approaching companies who do not understand the merit with a 
business plan, not a class action law suit.


Of course, if you don't believe in the *merit* of free software, and 
just think it's something cool to screw around with and force ideas down 
other people's throats -- Feel free to pursue the class action law suit 
approach, or consolidate ownership with the FSF and make it a straight 
forward law suit instead.


Cheers,
mark

P.S. Objective C in particular has a sour taste in my mouth, as it seems 
to be a key component to Apple's vendor lock in strategy. If you can't 
lock people in through closed source - just choose a barely used open 
source project extension to base the entire front end of your software 
on and cross your fingers the rest of the world won't bother to catch up 
any time soon because it is simply too much effort.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Richard Kenner
 I can say from my 15 years of experience working here that in general
 Stanford *hates* signing legal documents.  This is true even of
 procurement contracts.  Stanford negotiates legalities very aggressively,
 negotiates vendor contracts very aggressively, and does not generally sign
 things unless the university has some compelling reason to do so.  This
 is, from the university perspective, an obviously correct legal position
 since it keeps the university out of trouble from documents that they
 didn't need to sign.
 
 In order to get a disclaimer signed, the last time I investigated this, I
 would need to go through the Office of Technology Licensing because the
 central IT staff are probably not people with sufficient authority to sign
 such a document on behalf of the university.  All university intellectual
 property is handled by the OTL.  And the entire purpose of the OTL is
 serve as steward of university property and hence to handle the
 university's intellectual property to the university's advantage (mostly
 around the income that the university derives from licensing of its patent
 portfolio; we hold some patents that came out of the Human Genome Project
 work, for example).  They don't have much of an incentive to sign such a
 document, and their first concern is going to be how much it might cost
 the university to do so.

This is, unfortunately, true for most universities.  The only reason
NYU assigned GNAT to the FSF was because the contract with the Air
Force REQUIRED them to do so.  This is probably the best way to get
these to happen.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Richard Kenner
 Nobody can take your code and make it non-free.
 
 They can take a copy of your code and modify it, but at no time does 
 your original code become non-free. As long as people continue to copy 
 from your free version of the code, they can continue to use it for 
 free.

Correct.  A perhaps better way of putting is use my code as part of
something that's non-free.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Richard Kenner
 I think anybody who truly believes in the *merit* of free software, 
 should be approaching companies who do not understand the merit with a 
 business plan, not a class action law suit.

Most certainly.  And a number of companies have relicensed their software
under the GPL when presented with a business plan showing why that's a
good thing to do.  But that doesn't mean you give up the right to sue
when somebody infringes a copyright.

It's like international relations.  We all hope that disputes between
nations can be settled using diplomacy, but nobody's willing to give up
their armed forces because of a belief that ALL can be solved that way.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Mark Mielke

On 04/26/2010 11:11 AM, Alfred M. Szmidt wrote:

  If I have the rights to re-license software, and I re-license the
  software, why do I not have permission to enforce these rights?

Because you have the permission to re-DISTRIBUTE (not re-LICENSE)
the software and nothing else.

In case of GCC, you have the explicit permission to relicense the work
under a later version of the GPL.  In the case of the GNU Lesser GPL,
you have explicit permission to relicense the work under the GPL.  So
depending on the license, you might have permission to relicense the
work.

   


I think the ability to re-license in the sense of changing the license 
to a different license (as allowed) is a significant freedom offered by 
the GPL. It's a significant enough freedom that Linus chose to deny it 
for Linux as he apparently felt it provided the wrong sort of freedom, 
at least at the time he made that call.


However, that isn't only/quite what I meant. My understanding of 
copyright law is that it *only* protects distribution rights of the 
works. For example, as long as I use the software internally within a 
single legal entity (company, house hold, or whatever is acceptable to 
the courts), I do not need to abide by *any* of the rules listed in the 
license, as I am not re-distributing the works. Most licenses, 
specifically including the GPL, specify rules that define what 
requirements I must meet before I am allowed to re-distribute the works. 
If re-distribute these works according to requirements, and then 
somebody down stream from me obtains a copy through me and then violates 
their licensing agreement in such a that I can demonstrate loss to a 
judge. I think I can sue. Or, rather, I don't see why I wouldn't be able 
to sue. I am required to include the license in the copy I distribute. 
They accepted the license as I provided. They violated the license. I 
can demonstrate losses as a result. How is this not a valid law suit? 
Why do I have to own the software to have a case? I think I just have 
to prove that a violation exists that I was the victim which resulted in 
a direct loss to me. I don't know where this own requirement comes 
from. But then, as I said in the thread two back that both of you are 
responding to - I am not a lawyer, and maybe the FSF knows something I 
do not. I think I've seen cases where users of software have leaned on 
companies to produce software under threat of a law suit, without 
necessarily involving each and every owner of the software. The WRT54G 
situation leaps right up to the top for me. I think the must legally 
own the works to be listed as a victim with losses in a law suit is not 
a true requirement. I think it might be convenient and might improve the 
chance of success - but I don't think that one requires access and 
commitment from the owners in order to create a law suit.


As somebody else pointed out, the freedoms of the GPL are designed for 
the users. The people who are the most likely to be the victims are the 
users. The authors gave the software away for free, so attempting to 
demonstrate losses on something you give away for free is almost 
laughable (I'm sure many here would not laugh). It is the *users* who 
should be able to create the law suit, because it is the *users* who are 
impacted, and it is the *users* who can put a $$$ figure on their 
losses. In the Objective C case, users can claim that without the 
Objective C code being contributed back, it would take X million man 
hours @ $N/hour to re-create the code for use in future projects. This 
is a loss which can be accurately demonstrated. Sue NeXT for 
X*N+penalties. They have the option of paying out the full amount, 
funding the free software community to create their own (hopefully 
better) Objective C implementation, settling for a smaller amount (if 
agreeable to the users), or releasing their software.


So again, I think copyright assignment is a matter of convenience and 
optimization - and not a legal requirement. But then, what do I really 
know...


Cheers,
mark




Re: Why not contribute? (to GCC)

2010-04-26 Thread Richard Kenner
 However, that isn't only/quite what I meant. My understanding of 
 copyright law is that it *only* protects distribution rights of the 
 works. For example, as long as I use the software internally within a 
 single legal entity (company, house hold, or whatever is acceptable to 
 the courts), I do not need to abide by *any* of the rules listed in the 
 license, as I am not re-distributing the works.

VERY FALSE!  If a company buys one copy of a book, they most certainly may
NOT make a copy of that book for every employee!  To give a more relevant
example, do you really think that a company can buy one copy of Windows and
install it on all their computers?

The owner of a copyright gets to say under what conditions somebody can
COPY their work.  Executing a computer program involves COPYING it from
disk into memory.  That's making a copy.  There was even a case where a
jury held that calling a subroutine in a separate library is making a copy
of that library.

 Most licenses, specifically including the GPL, specify rules that
 define what requirements I must meet before I am allowed to
 re-distribute the works.

No, they specify the conditions under which you're allowed to COPY the
works.  Some, like the GPL, choose only to deal with redistribution
(which, by the way, isn't as well-defined as you might like to think it is:
I distinction remember an in-person discussion with RMS years ago where the
question was whether it was a violation of the GPL to only have binary, and
not sources, in a bomb, specifically whether dropping the bomb on somebody
was distributing the software), but most proprietary licenses talk about
the conditions under which you're allowed to make a COPY, whether that copy
is considered distributing or NOT.

 If re-distribute these works according to requirements, and then 
 somebody down stream from me obtains a copy through me and then violates 
 their licensing agreement in such a that I can demonstrate loss to a 
 judge. I think I can sue.

If you are the copyright holder and somebody (no matter how they got it)
violates the copyright, then yes, you can.

 Why do I have to own the software to have a case? 

You have to own the COPYRIGHT: it's not clear what owning the software
means.  If you don't own the copyright, then you have no legal interest in
the work.  You are confusing yourself by thinking in terms of a license.
The license is just a way of conveying a set of permissions under which
copies can be made.  Although it somewhat has the status of a contract,
and so contract law applies, it's primarily an instrument of COPYRIGHT law.
Most importantly, you can't license something you don't have copyright 
ownership of.


Re: Why not contribute? (to GCC)

2010-04-26 Thread Mark Mielke

On 04/26/2010 07:41 AM, Paolo Bonzini wrote:

On 04/26/2010 11:23 AM, Mark Mielke wrote:

Personally, this whole issue is problematic to me. I really can't see
why I would ever sue somebody for using software that I had declared
free.


Because (a derivative of) it is being made nonfree?


How does this hurt me? Instead of being concerned how people might try 
to exploit my code, why shouldn't I be spending effort making sure that 
the best solution for all parties, including greedy corporations, is to 
work with me, to make sure the code is kept in a small number of 
branches all available in the free and open source community? Why can't 
I demonstrate the merits of free software in such a way that even the 
most stubborn of CEOs will understand what I am offering to them?



It wouldn't be worth my time and I have trouble understanding how
I could demonstrate personal loss making the law suit worth persuing in
the first place.


Perhaps because you know the code better than anyone else, so you 
could provide paid support on that derivative as well.


This is true whether the code is GPL or truly free.

Or maybe because you have to.  There was a case of a free software 
project (JMRI) being sued for patent infringement by a proprietary 
software company.  It turned out that the proprietary software 
included source code from the free software project without 
attribution (copyleft was not even necessary, as the project was under 
the Artistic License!).  In this case, the possibility to counter-sue 
saved the free software programmer from having to pay millions of 
dollars.


I think this might be an over simplification. There were many statements 
in this history (new to me - just read it all - good read) that 
demonstrate that the patents were incorrectly granted. The copyright 
issue was involved, and the defense of free / open source copyrights was 
involved, but it looks pretty clear to me that JMRI wanted to shut down 
*all* violations. They wanted the incorrectly granted patents dropped, 
and they wanted their copyrights held intact. Was the latter required 
for the former victory, or was that just how things played out?


I'll also note that even if it was required, it was the Artistic 
License, and it was demonstrated as being valid in a court of law. So, 
the GPL was not really part of this equation, and therefore not really 
part of this discussion, as off topic as it has gone. From my 
perspective, licenses like the Artistic License, the Apache license, or 
the BSD license, are great choices for free software projects.


I see your point that the possibility to counter-sue is valid, but I 
think the scope is the scenario provided is limited to the scope of 
ensuring that the copyright is valid at all, rather than any additional 
restrictions that the GPL defines. I think, though, that this is 
somewhat self-evident, and that the case really shows how a clever 
lawyer can confuse judges into providing poor judgements. This will 
always be a risk, and copyright is not the ultimate defense against this 
risk. It was an option in the case you listed, but I think there were 
other options. It's unfortunate that persuing options in court can cost 
large amount of money, but that's the society we live in. The best 
direction to take from the above case is to attack the problem at the 
source. 1) Patents, at least under the current system, are evil, and 
provide a lot of risk for what is becoming a questionable amount of 
value. 2) The courts need a better way to figure out when somebody is 
lying in their court room.


As demonstrated, there exists adequate laws to protect copyrights. No 
changes required on this front, at least for this scenario.


Cheers,
mark


Re: Why not contribute? (to GCC)

2010-04-26 Thread Ian Lance Taylor
Mark Mielke m...@mark.mielke.cc writes:

 This presumes that NeXT would not have discovered the value of free
 software and done the right thing eventually anyways. I think anybody
 who truly believes in free software should believe in it for practical
 reasons. It's not just a religion - it's the right way to do
 business. Business can understand dollars, and free software can be
 demonstrated to provide value in terms of $$$.

 I think anybody who truly believes in the *merit* of free software,
 should be approaching companies who do not understand the merit with a
 business plan, not a class action law suit.

 Of course, if you don't believe in the *merit* of free software, and
 just think it's something cool to screw around with and force ideas
 down other people's throats -- Feel free to pursue the class action
 law suit approach, or consolidate ownership with the FSF and make it a
 straight forward law suit instead.

 Cheers,
 mark

 P.S. Objective C in particular has a sour taste in my mouth, as it
 seems to be a key component to Apple's vendor lock in strategy. If you
 can't lock people in through closed source - just choose a barely used
 open source project extension to base the entire front end of your
 software on and cross your fingers the rest of the world won't bother
 to catch up any time soon because it is simply too much effort.


This subthread no longer has anything to do with gcc.

Ian


Re: Why not contribute? (to GCC)

2010-04-26 Thread Olivier Galibert
On Mon, Apr 26, 2010 at 02:00:30PM -0400, Richard Kenner wrote:
 Olivier Galibert wrote:
  You can't force some entity to release source code they have
  copyright to, that's not part of the legal remedies that are
  available to a judge.
 
 What makes you say that?

The law, *duh*

 Why couldn't that be a legal remedy?

Because it hasn't be voted so.

To stay US-centric, have a look at:
  http://www.copyright.gov/title17/92chap5.html

Any law that makes something illegal has to define the available
penalties associated.  Otherwise it's not a law, it's just a
non-binding statement on intent.  Everything else is of the domain of
the settlement, i.e. something to which both parties agree and the
judge considers fair.  And settlement-wise, releasing source and
assigning copyright are at exactly the same level, i.e. something the
opponent can accept or not, and if not decide to try their luck with
the legal remedies.

  OG.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Manuel López-Ibáñez
On 25 April 2010 06:20, Chris Lattner clatt...@apple.com wrote:

 On Apr 23, 2010, at 3:35 PM, Manuel López-Ibáñez wrote:

 On 24 April 2010 00:18, Alfred M. Szmidt a...@gnu.org wrote:

 The disclaimers are legally necessary though, the FSF needs a paper
 trail in the case your employer comes back and claims that they have
 copyright over a change.

 BTW, in this aspect there is no difference between GCC and LLVM. The
 latter also requires to assign copyright to the University of
 Illinois. If you don't have a copyright disclaimer before contributing
 to LLVM, you are exposing yourself to some future legal troubles.

 On what do you base these assertions?  Every point seems wrong to me.

Quoting from the link: http://llvm.org/docs/DeveloperPolicy.html

quote
Developer Agreements

With regards to the LLVM copyright and licensing, developers agree to
assign their copyrights to UIUC for any contribution made so that the
entire software base can be managed by a single copyright holder. This
implies that any contributions can be licensed under the license that
the project uses.

When contributing code, you also affirm that you are legally entitled
to grant this copyright, personally or on behalf of your employer. If
the code belongs to some other entity, please raise this issue with
the oversight group before the code is committed.
/quote

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Leif Ekblad

Joel Sherrill:

I don't know how divergent rdos from any other OS that is
not self-hosted and is cross-compiled but there shouldn't
be 100s or 1000s of patches required to support an OS on gcc
unless you have a divergent object format or are including
a new CPU.

Also you haven't mentioned two major issues that are
not patch related.

(1) Did you arrange for a maintainer for the rdos target?

(2) Did you submit test results with the port?

(3) Has copyright assignment paperwork been dealt with?

I maintain the *-rtems* targets (~12 architectures) and there
just isn't much special to them in contrast to the large amount of
code that just works fine with a bit of OS specific configuration
and glue.

Not to pick but from Google'ing the mailing list, I just see you
asking questions.  I didn't find code being submitted.


The primary issue I had was that some basic configuration was
never updated to GCC (libtool). Because this was the place where the
targets and stuff was defined, it was not even possible to submit specific
patches in the first place, because they would fail without this refresh.


And speaking from experience, if you submit code and it doesn't
get reviewed and merged.  Ask again.  The submitter cares a lot
more about it than anyone else and that's just the nature of the
game.  If you don't care enough about your area to follow up, why
should anyone else?


I think I posted pings. 


As for the steps above, nobody requested me to fill out the
copyright assignment, and neither about maintainer for rdos
target.

The 100s of patches related to libc (in this case newlib), not
to gcc. I mixed up those. However, it was not possible to submit
the patches to newlib either until the GCC patches had been
applied.

Leif Ekblad



Re: Why not contribute? (to GCC)

2010-04-25 Thread Ralf Wildenhues
Hello Leif,

* Leif Ekblad wrote on Sun, Apr 25, 2010 at 12:56:21PM CEST:
 The primary issue I had was that some basic configuration was
 never updated to GCC (libtool). Because this was the place where the
 targets and stuff was defined, it was not even possible to submit specific
 patches in the first place, because they would fail without this refresh.

Wait, Libtool has a patch from you from 2006-01-12 in its tree,
http://thread.gmane.org/gmane.comp.gnu.libtool.patches/6680
Is that the one you're talking about?

Was it that GCC took long to merge the Libtool changes?  Did you ever
ping that?

Nowadays the Libtool sources in GCC track upstream more closely than
they used to do, and updating them should be fairly straightforward.

Thanks,
Ralf


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
  BTW, in this aspect there is no difference between GCC and LLVM. The
  latter also requires to assign copyright to the University of
  Illinois. If you don't have a copyright disclaimer before contributing
  to LLVM, you are exposing yourself to some future legal troubles.
 
 On what do you base these assertions?  Every point seems wrong to me.

The latter point is certainly true.  If you work for a company and submit
a patch to ANY project without having a disclaimer, the company can later
sue you, claiming that it owned the copyright to the material that you
submitted.  The only different is who the disclaimer protects: if you
are assigning the patches to an entity (e.g., the FSF) then the disclaimer
protects the FSF.  If you're NOT assigning the patches to somebody, the
disclaimer protects YOU.  Either way, a disclaimer is required.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Eric Botcazou
 So we need more patch reviewers.  How can that be addressed?

The situation has improved in this area since the Reviewer position was 
introduced a few years ago though.

 It is also important to make more effective use of the patch
 reviewers we already have.  What could be done to make the
 patch review process easier or less time-consuming?

Write small patches.  Even if you know that the change is not a complete 
solution to the problem, it might be good enough as a first try so adding 
a ??? comment would be sufficient.

Eliminate the easy mistakes in patches.  GCC uses strict coding conventions, 
including formatting and commenting conventions, so not following them is a 
mistake that will be flagged as such.  Fortunately this is easy to correct, 
you don't even need to read the (whole) documentation, just look around in 
the existing code you're modifying and make it so that the new code cannot 
be distinguished from the old one in this respect.

Write proper ChangeLogs.  They are kind of executive summaries for patches and 
help to grasp what they do.  The various ChangeLog files have many examples.

-- 
Eric Botcazou


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
 Eliminate the easy mistakes in patches.  GCC uses strict coding conventions, 
 including formatting and commenting conventions, so not following them is a 
 mistake that will be flagged as such.  Fortunately this is easy to correct, 
 you don't even need to read the (whole) documentation, just look around in 
 the existing code you're modifying and make it so that the new code cannot 
 be distinguished from the old one in this respect.
 
 Write proper ChangeLogs.  They are kind of executive summaries for patches
 and help to grasp what they do.  The various ChangeLog files have many
 examples.

Moreover, I think that having a patch that's improperly formatted or
missing or improper ChangeLog may simply cause reviewers to ignore the
patch because they don't want to have to deal with explaining these
things to people.  This SHOULDN'T happen, but I'm pretty sure it does.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Steven Bosscher
On Sun, Apr 25, 2010 at 3:00 PM, Richard Kenner
ken...@vlsi1.ultra.nyu.edu wrote:
 Eliminate the easy mistakes in patches.  GCC uses strict coding conventions,
 including formatting and commenting conventions, so not following them is a
 mistake that will be flagged as such.  Fortunately this is easy to correct,
 you don't even need to read the (whole) documentation, just look around in
 the existing code you're modifying and make it so that the new code cannot
 be distinguished from the old one in this respect.

 Write proper ChangeLogs.  They are kind of executive summaries for patches
 and help to grasp what they do.  The various ChangeLog files have many
 examples.

 Moreover, I think that having a patch that's improperly formatted or
 missing or improper ChangeLog may simply cause reviewers to ignore the
 patch because they don't want to have to deal with explaining these
 things to people.  This SHOULDN'T happen, but I'm pretty sure it does.

In the aerospace industry we have a somewhat similar problem. Every
part of assembly drawing has to be reviewed (checked) and approved.
But the common mistakes often are so distracting that checkers don't
even want to begin to comment on to-be-released drawing in the PDM
system. It is very demotivating to review something and you're just
pointing out issues with formalities instead of focusing on the actual
design.

The solution for this in my working environment is an automatic
checker. This checker validates the drawing against a set of
requirements (proper design principles, proper drawing formatting,
correct label, etc.). You can't upload a drawing for check in the PDM
system until it passes the checker (it is part of the PDM system, and
it simply rejects drawings that don't pass).

Perhaps it is possible to create some kind of check-patch script for
GCC too, e.g. one that checks the following things at least:
* ChangeLog presence
* ChangeLog format and completeness
* formatting / coding style of the patch itself

We should perhaps make tools available in contrib/ that help people
set up things properly for patch submission. For example Diego had a
script that extracts a skeleton ChangeLog from a patch, perhaps it
should be put in contrib/ and advertised somewhere (e.g. wiki).

There are many things beside this that we could do to simplify the
patch submission process. It's just part of the problem but perhaps it
helps.

Ciao!
Steven


Re: Why not contribute? (to GCC)

2010-04-25 Thread Ralf Wildenhues
I don't like self-advertising, but ...

* Steven Bosscher wrote on Sun, Apr 25, 2010 at 03:05:45PM CEST:
 Perhaps it is possible to create some kind of check-patch script for
 GCC too, e.g. one that checks the following things at least:
 * ChangeLog presence
 * ChangeLog format and completeness
 * formatting / coding style of the patch itself
 
 We should perhaps make tools available in contrib/ that help people
 set up things properly for patch submission. For example Diego had a
 script that extracts a skeleton ChangeLog from a patch, perhaps it
 should be put in contrib/ and advertised somewhere (e.g. wiki).

FWIW, I wrote vc-chlog a while ago (ships together with vc-dwim[1]) which
IMVHO is fairly accurate at creating stub ChangeLog entries if you have
Exuberant Ctags installed.  Without it, updates to the GCC build system
would have been rather painful.

I would add blurb about it in the wiki if that is acceptable.

Cheers,
Ralf

[1] www.gnu.org/software/vc-dwim/


Re: Why not contribute? (to GCC)

2010-04-25 Thread Chris Lattner

On Apr 25, 2010, at 2:47 AM, Manuel López-Ibáñez wrote:

 On 25 April 2010 06:20, Chris Lattner clatt...@apple.com wrote:
 
 On Apr 23, 2010, at 3:35 PM, Manuel López-Ibáñez wrote:
 
 On 24 April 2010 00:18, Alfred M. Szmidt a...@gnu.org wrote:
 
 The disclaimers are legally necessary though, the FSF needs a paper
 trail in the case your employer comes back and claims that they have
 copyright over a change.
 
 BTW, in this aspect there is no difference between GCC and LLVM. The
 latter also requires to assign copyright to the University of
 Illinois. If you don't have a copyright disclaimer before contributing
 to LLVM, you are exposing yourself to some future legal troubles.
 
 On what do you base these assertions?  Every point seems wrong to me.
 
 Quoting from the link: http://llvm.org/docs/DeveloperPolicy.html

The key distinction is that contributing to LLVM does not require you to sign a 
form (which isn't even publicly available) and mail it in to a busy and 
high-latency organization before non-trivial patches will be accepted.

-Chris


Re: Why not contribute? (to GCC)

2010-04-25 Thread Manuel López-Ibáñez
On 25 April 2010 16:55, Chris Lattner clatt...@apple.com wrote:

 On Apr 25, 2010, at 2:47 AM, Manuel López-Ibáñez wrote:

 On 25 April 2010 06:20, Chris Lattner clatt...@apple.com wrote:

 On Apr 23, 2010, at 3:35 PM, Manuel López-Ibáñez wrote:

 On 24 April 2010 00:18, Alfred M. Szmidt a...@gnu.org wrote:

 The disclaimers are legally necessary though, the FSF needs a paper
 trail in the case your employer comes back and claims that they have
 copyright over a change.

 BTW, in this aspect there is no difference between GCC and LLVM. The
 latter also requires to assign copyright to the University of
 Illinois. If you don't have a copyright disclaimer before contributing
 to LLVM, you are exposing yourself to some future legal troubles.

 On what do you base these assertions?  Every point seems wrong to me.

 Quoting from the link: http://llvm.org/docs/DeveloperPolicy.html

 The key distinction is that contributing to LLVM does not require you to sign 
 a form (which isn't even publicly available) and mail it in to a busy and 
 high-latency organization before non-trivial patches will be accepted.

So, is the copyright disclaimer implicit in the patch submission? Who
defines the conditions?

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Chris Lattner
On Apr 25, 2010, at 7:59 AM, Manuel López-Ibáñez wrote:
 
 On what do you base these assertions?  Every point seems wrong to me.
 
 Quoting from the link: http://llvm.org/docs/DeveloperPolicy.html
 
 The key distinction is that contributing to LLVM does not require you to 
 sign a form (which isn't even publicly available) and mail it in to a busy 
 and high-latency organization before non-trivial patches will be accepted.
 
 So, is the copyright disclaimer implicit in the patch submission? Who
 defines the conditions?

That web page is everything that there is.  I am aware that this is not as 
legally air-tight as the FSF disclaimer, but empirically many companies seem to 
have no problem with it.

-Chris


Re: Why not contribute? (to GCC)

2010-04-25 Thread H.J. Lu
On Sun, Apr 25, 2010 at 8:04 AM, Chris Lattner clatt...@apple.com wrote:
 On Apr 25, 2010, at 7:59 AM, Manuel López-Ibáñez wrote:

 On what do you base these assertions?  Every point seems wrong to me.

 Quoting from the link: http://llvm.org/docs/DeveloperPolicy.html

 The key distinction is that contributing to LLVM does not require you to 
 sign a form (which isn't even publicly available) and mail it in to a busy 
 and high-latency organization before non-trivial patches will be accepted.

 So, is the copyright disclaimer implicit in the patch submission? Who
 defines the conditions?

 That web page is everything that there is.  I am aware that this is not as 
 legally air-tight as the FSF disclaimer, but empirically many companies seem 
 to have no problem with it.


Can't resist. So in theory, someone can sue LLVM and win. If it is the
case, I may
not want to use LLVM as my system compiler.


-- 
H.J.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Denys Vlasenko
On Friday 23 April 2010 21:10, Richard Kenner wrote:
 I've happened to be looking at a number of other free-software projects
 recently (having nothing to do with compilers) and find the quality of the
 code ABSOLUTELY APALLING.

That's because you didn't look at non-open code. It's no better.

 The formatting is random and very hard to read. 
 There are almost no comments.  There are few, if any, indications of what
 each function is supposed to do.

This is typical for most code, open and closed.

 And many of these projects have no 
 documentation AT ALL except for some small FAQs or Wikis.
 
 When we ask why is contributing to GCC so hard, we must never forget that
 a large part of the answer to that question is that we have much higher
 STANDARDS than most free-software projects in terms of code quality
 and documentation.

And such attitude (denial that we have any problems) is typical too...

 I don't believe that lessening those standards to 
 increase contributions would ever be a good thing in the long term.

This statement carries an implicit assumption that the only barrier
for contribution to GCC is the high quality of code required.
This is not true. For one, copyright assignment requirement
is an untypical requirement for open-source world,
and may turn away some contributors.

-- 
vda



Re: Why not contribute? (to GCC)

2010-04-25 Thread Jonathan Corbet
On Sat, 24 Apr 2010 08:51:17 -0400
Alfred M. Szmidt a...@gnu.org wrote:

 Not much can be done to either of those, the copyright assignments are
 necessary to keep GCC legally safe.

Given that there are plenty of high-profile projects out there which
seem to be entirely safe in the absence of copyright assignment
policies, why, exactly, does GCC need one to be legally safe?

Note that copyright assignment and being sure that the developer
has the right to contribute the code are two very different things.

Thanks,

jon


Re: Why not contribute? (to GCC)

2010-04-25 Thread Steven Bosscher
On Sun, Apr 25, 2010 at 5:34 PM, Jonathan Corbet cor...@lwn.net wrote:
 On Sat, 24 Apr 2010 08:51:17 -0400
 Alfred M. Szmidt a...@gnu.org wrote:

 Not much can be done to either of those, the copyright assignments are
 necessary to keep GCC legally safe.

 Given that there are plenty of high-profile projects out there which
 seem to be entirely safe in the absence of copyright assignment
 policies, why, exactly, does GCC need one to be legally safe?

 Note that copyright assignment and being sure that the developer
 has the right to contribute the code are two very different things.

IANAL but the copyright assignment is probably necessary for the FSF
to have the rights to change the license at will (within the
limitations allowed by the copyright assignment). If there are many
copyright holders, like for say the linux kernel, a change of license
requires the approval of at least all major copyright holders, IIUC.

Ciao!
Steven


Re: Why not contribute? (to GCC)

2010-04-25 Thread Manuel López-Ibáñez
On 25 April 2010 17:44, Steven Bosscher stevenb@gmail.com wrote:

 IANAL but the copyright assignment is probably necessary for the FSF
 to have the rights to change the license at will (within the
 limitations allowed by the copyright assignment). If there are many
 copyright holders, like for say the linux kernel, a change of license
 requires the approval of at least all major copyright holders, IIUC.

I think this is not worth discussing. The FSF is not going to not ask
for copyright assignment. The question is whether the process can be
simplified.

LLVM has also copyright assignment, however, it is implicit in the
patch submission. Whether this is enough or not or the legal
consequences of it are not clear to me.

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Alfred M. Szmidt
   IANAL but the copyright assignment is probably necessary for the
   FSF to have the rights to change the license at will (within the
   limitations allowed by the copyright assignment). If there are many
   copyright holders, like for say the linux kernel, a change of
   license requires the approval of at least all major copyright
   holders, IIUC.

This is incorrect, anyone can upgrade the license for GCC (and the
rest of the GNU project), since GCC is licensed under the `GPLv3 or
any later version'.  Linux on the other hand is explicitly licensed
only under GPLv2; i.e. it lacks the `or (at your option) any later
version)' clause.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Alfred M. Szmidt
Not much can be done to either of those, the copyright assignments are
necessary to keep GCC legally safe.

   Given that there are plenty of high-profile projects out there
   which seem to be entirely safe in the absence of copyright
   assignment policies, why, exactly, does GCC need one to be legally
   safe?

I do not know what high-profile projects you are refering to, you will
have to ask them why they think they can ignore a paper trail.  Having
one copyright holder solves many issues when enforcing copyright, you
do not need to contact all parties.  There is a short article on why
you should assign copyright to the FSF at:
http://www.gnu.org/licenses/why-assign.html


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
  Quoting from the link: http://llvm.org/docs/DeveloperPolicy.html
 
 The key distinction is that contributing to LLVM does not require you to
 sign a form (which isn't even publicly available) and mail it in to a busy
 and high-latency organization before non-trivial patches will be accepted.

I'm confused.  If nothing's signed, then how is the copyright being
assigned?


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
 That web page is everything that there is.  I am aware that this is not as 
 legally air-tight as the FSF disclaimer, but empirically many companies
 seem to have no problem with it.

There's nothing to have a problem WITH!  No assignment has taken place.
The statement on the web has no legal significance whatsoever.  Unless
the company SIGNS something, they still own the copyright on the code
and can, at any time, decide they don't want it distributed.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
 That's because you didn't look at non-open code. It's no better.

Nobody said it was.

 This statement carries an implicit assumption that the only barrier
 for contribution to GCC is the high quality of code required.
 This is not true. For one, copyright assignment requirement
 is an untypical requirement for open-source world,
 and may turn away some contributors.

I said A large part.  There is certainly a perception that the
copyright assignment is an issue too.  But, as was discussed here, there
IDENTICAL liability with and without the assignment.  So this is illusory.
And if the reason for not wanting to assign the copyright is that they
aren't comfortable with the code being part of the project, then there's
a larger problem than the assignment itself.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
 Note that copyright assignment and being sure that the developer
 has the right to contribute the code are two very different things.

Although that's true, the stated concern with the assignment document
had to do with the question of the right to contribute the code.

But I'm confused here: if the entity submitting the code doesn't use
an assignment document to guarantee that he has the right to contribute
the code, then what document DOES that entity sign?  What DOES make sure
that no third party has a claim on the submitted code?


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
 LLVM has also copyright assignment, however, it is implicit in the
 patch submission. 

Do they have any legal opinion which backs the claim that this sort of
implicit assignment has any legal force at all?


Re: Why not contribute? (to GCC)

2010-04-25 Thread Michael Witten
On Sun, Apr 25, 2010 at 11:33, Richard Kenner
ken...@vlsi1.ultra.nyu.edu wrote:
 There's nothing to have a problem WITH!  No assignment has taken place.
 The statement on the web has no legal significance whatsoever.  Unless
 the company SIGNS something, they still own the copyright on the code
 and can, at any time, decide they don't want it distributed.

If I submit a patch to the GCC project---necessitating an assignment
of the copyright to the FSF---then can the people of the FSF decide
that they don't want me to distribute my own work in another project
(proprietary or otherwise)?

That is, could I actually become liable for infringing on the
copyright of my own original work? Are we just trusting RMS not to be
a troll (tongue-in-cheek)?


Re: Why not contribute? (to GCC)

2010-04-25 Thread Manuel López-Ibáñez
On 25 April 2010 18:48, Michael Witten mfwit...@gmail.com wrote:
 On Sun, Apr 25, 2010 at 11:33, Richard Kenner
 ken...@vlsi1.ultra.nyu.edu wrote:
 There's nothing to have a problem WITH!  No assignment has taken place.
 The statement on the web has no legal significance whatsoever.  Unless
 the company SIGNS something, they still own the copyright on the code
 and can, at any time, decide they don't want it distributed.

 If I submit a patch to the GCC project---necessitating an assignment
 of the copyright to the FSF---then can the people of the FSF decide
 that they don't want me to distribute my own work in another project
 (proprietary or otherwise)?

 That is, could I actually become liable for infringing on the
 copyright of my own original work? Are we just trusting RMS not to be
 a troll (tongue-in-cheek)?

This is explicitly mentioned on the copyright assignment form from the
FSF. And the answer is NO.

On the other hand, when the assignment is implicit like for LLVM, I
really don't know. You need to ask your own lawyer (not the ones from
Apple or from the U. of Illinois).

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
 If I submit a patch to the GCC project---necessitating an assignment
 of the copyright to the FSF---then can the people of the FSF decide
 that they don't want me to distribute my own work in another project
 (proprietary or otherwise)?

No, because the assignment agreement says that the FSF agrees to
grant the Assigner non-exclusive rights to use the Work (i.e. the
changes and enhancements, not the program which was enhanced) as it
sees fit.  And, indeed, this is commonly done.  For example, Cygwin
had two different license agreements, one when it's distributed by the
FSF and one when it's purchased by Cygnus.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Alfred M. Szmidt
The FSF copyright assignments grant you back ultimate rights to use
it in anyway you please.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Steven Bosscher
On Sun, Apr 25, 2010 at 6:48 PM, Michael Witten mfwit...@gmail.com wrote:
 On Sun, Apr 25, 2010 at 11:33, Richard Kenner
 If I submit a patch to the GCC project---necessitating an assignment
 of the copyright to the FSF---then can the people of the FSF decide
 that they don't want me to distribute my own work in another project
 (proprietary or otherwise)?

No. This is very explicitly mentioned in the copyright assignment
papers. For example, from my own copy (2002):

1.(d) FSF agrees to grant back to Developer, and does hereby grant,
non-exclusive, royalty-free and non-cancellable rights to use the
Works (i.e., Developer's changes and/or enhancements, not The Program
that they enhance), as Developer sees fit.

In other words, you can distribute your own work in another project in
any way you want.

Ciao!
Steven


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
 On the other hand, when the assignment is implicit like for LLVM, I
 really don't know. You need to ask your own lawyer (not the ones from
 Apple or from the U. of Illinois).

I don't believe there IS such a thing as an implicit assignment.
You either signed a contract that assigns the copyright or you
haven't.  If an employee of some large company (say, Microsoft) writes
a patch for LLVM and submits it, what in the world would bind
Microsoft to having given up their copyright interest in that patch?
Certainly not some statement buried someplace in a web site.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Manuel López-Ibáñez
On 25 April 2010 17:04, Chris Lattner clatt...@apple.com wrote:
 On Apr 25, 2010, at 7:59 AM, Manuel López-Ibáñez wrote:

 On what do you base these assertions?  Every point seems wrong to me.

 Quoting from the link: http://llvm.org/docs/DeveloperPolicy.html

 The key distinction is that contributing to LLVM does not require you to 
 sign a form (which isn't even publicly available) and mail it in to a busy 
 and high-latency organization before non-trivial patches will be accepted.

 So, is the copyright disclaimer implicit in the patch submission? Who
 defines the conditions?

 That web page is everything that there is.  I am aware that this is not as 
 legally air-tight as the FSF disclaimer, but empirically many companies seem 
 to have no problem with it.

So, the copyright transfer is implicit in the patch submission
process. And any submitter that does not have a legal document stating
that his employer company allows the submitter to send that particular
code to LLVM is exposed to be sued not only by his/her employer but
also by the U. of Illinois. Nice.

I can understand companies not having problem with it. If something
goes wrong, they can always blame the employee because there is no
paper proving he or she had permission from his/her employer. Perhaps
the FSF is a bit too cautious, but this rings as a bit reckless. I
find surprising that the U. of Illinois has such relaxed approach to
copyright. But perhaps it is also in their interest to not ask many
questions. If something goes bad, they can just sue the individual
contributor rather than dealing with the whole legal department of a
company. Even more, if the company sues the contributor but not the U.
of Illinois, they may even get to keep the code. Sweet.

Have you made a poll in LLVM asking how many contributors actually
have some legal paper allowing them to contribute? That is how many
are currently legally exposed to a lawsuit. Would LLVM remove code if
a contributor starts doubting his legal position?

Cheers,

Manuel.


Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Kenner
 I find surprising that the U. of Illinois has such relaxed approach to
 copyright. But perhaps it is also in their interest to not ask many
 questions. If something goes bad, they can just sue the individual
 contributor rather than dealing with the whole legal department of a
 company. Even more, if the company sues the contributor but not the U.
 of Illinois, they may even get to keep the code. Sweet.

A University is a big place.  Do we know that their legal department is
even AWARE of this?  Or did some group within the University who doesn't
understand copyright law just decide this is the right way to do it?


Re: Why not contribute? (to GCC)

2010-04-25 Thread Ian Lance Taylor
Ralf Wildenhues ralf.wildenh...@gmx.de writes:

 FWIW, I wrote vc-chlog a while ago (ships together with vc-dwim[1]) which
 IMVHO is fairly accurate at creating stub ChangeLog entries if you have
 Exuberant Ctags installed.  Without it, updates to the GCC build system
 would have been rather painful.

 I would add blurb about it in the wiki if that is acceptable.

Certainly acceptable for the wiki.  Thanks.

Ian


Re: Why not contribute? (to GCC)

2010-04-25 Thread Steven Bosscher
On Sun, Apr 25, 2010 at 7:23 PM, Richard Kenner
ken...@vlsi1.ultra.nyu.edu wrote:
 I find surprising that the U. of Illinois has such relaxed approach to
 copyright. But perhaps it is also in their interest to not ask many
 questions. If something goes bad, they can just sue the individual
 contributor rather than dealing with the whole legal department of a
 company. Even more, if the company sues the contributor but not the U.
 of Illinois, they may even get to keep the code. Sweet.

 A University is a big place.  Do we know that their legal department is
 even AWARE of this?  Or did some group within the University who doesn't
 understand copyright law just decide this is the right way to do it?

Whatever their reasons, this has very little to do with GCC. If
copyright assignment is an obstacle for contributing to GCC, we should
do something about that (clarify the reasons, simplify and speed up
the process, etc.). Let's talk about that instead :-)

Ciao!
Steven


Re: Why not contribute? (to GCC)

2010-04-25 Thread Ian Lance Taylor
Chris Lattner clatt...@apple.com writes:

 The key distinction is that contributing to LLVM does not require
 you to sign a form (which isn't even publicly available) and mail it
 in to a busy and high-latency organization before non-trivial
 patches will be accepted.

For the record (Chris probably knows this), the exact copyright forms
are no longer posted online because in practice it often slowed down
the copyright assignment process.  Contributors routinely downloaded
the wrong form and arranged to have it signed by their employer.  When
the FSF received the wrong form, they had to request a different form,
and the contributors had to go through the signing process again.

That is, the forms are not publically available not because they are
secret, but to avoid confusion because international law is
unavoidably complex.  This fear of confusion is based not on
hypothesis, but on actual experience.

Instead, the process is to fill out a request for assignment
form--those forms are publically available--and the FSF will send you
the correct form.  For most contributors, the correct request for
assignment form may be found here:

http://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future


I agree that this is all far more complex and time consuming than it
ought to be.  I hope that the SC can work with the FSF to simplify the
process.  However, the legalities are there for a reason, as seen by
the copyright challenge from Unipress long ago and the SCO lawsuit
against the Linux kernel.  Apple and the University of Illinois are
taking a risk by permitting patches without any paperwork.  It's a low
probability risk, but it's one that the FSF wants to avoid based on
actual past experience.

Ian


Re: Why not contribute? (to GCC)

2010-04-25 Thread Chris Lattner

On Apr 25, 2010, at 9:33 AM, Richard Kenner wrote:

 That web page is everything that there is.  I am aware that this is not as 
 legally air-tight as the FSF disclaimer, but empirically many companies
 seem to have no problem with it.
 
 There's nothing to have a problem WITH!  No assignment has taken place.
 The statement on the web has no legal significance whatsoever.  Unless
 the company SIGNS something, they still own the copyright on the code
 and can, at any time, decide they don't want it distributed.

It's unclear whether the LLVM-style implicit copyright assignment is really 
enforceable, and this certainly isn't a forum to debate it.  In any case, it 
doesn't really matter, because the only reason copyright needs to be assigned 
(AFAIK) is to change the license.  The LLVM project does not aim to be able to 
change the license in the future, all that is really important is that 
contributors agree to license their code under the llvm bsd license.

For at least some contributors, not being able to change the license is 
actually a major feature.  They aren't comfortable with assigning code to an 
organization which can then change the license of the code to something they 
don't agree with.  This is exactly what happened when code written and 
contributed under GPL2 got relicensed as GPL3 for example.  I'm not saying that 
this is right or wrong, but perceptions are held by people.

In any case the aims of the FSF are quite clear, and IMO it seems that the 
explicit copyright assignment is a real and necessary part of achieving those 
aims.  Different projects just have different goals.

-Chris


Re: Why not contribute? (to GCC)

2010-04-25 Thread Mark Mielke

Copying David Daney's response to contrast against it:

GCC is a mature piece of software that works really well and it is in a 
programming domain which is not as well understood and for people such 
as myself, I would be intimidated from the start, to delve in and expect 
any contributions I make to be valuable enough to bother the existing 
machine with. :-)


But yes, if I overcame that intimidation, I'm sure David Daney's 
comments would describe the *next* barrier to overcome...


Cheers,
mark


On 04/23/2010 03:33 PM, David Daney wrote:

On 04/23/2010 11:39 AM, Manuel López-Ibáñez wrote:

This seems to be the question running around the blogosphere for
several projects. And I would like to ask all people that read this
list but hardly say or do anything.

What reasons keep you from contributing to GCC?



I am going to answer why I think it is, even though I like to think 
that I do do something.



GCC has high standards, so anybody attempting to make a contribution 
for the first time will likely be requested to go through several 
revisions of a patch before it can be accepted.


After having spent considerable effort developing a patch, there can 
be a sense that the merit of a patch is somehow related to the amount 
of effort expended creating it.  Some people don't have a personality 
well suited to accepting criticism of something into which they have 
put a lot of effort.  The result is that in a small number of cases, 
people Bad Mouth GCC saying things like:  The GCC maintainers are a 
clique of elitist idiots that refuse to accept good work from outsiders.


Personally I don't agree with such a view, and I don't think there is 
much that can be done about it.  There will always be Vocal 
Discontents, and trying to accommodate all of them would surly be 
determental to GCC.


I think that some potential contributors are discouraged from 
contributing because they have been frightened away (by the Vocal 
Discontents mentioned above) before they can get started.



David Daney







Re: Why not contribute? (to GCC)

2010-04-25 Thread Mark Mielke

On 04/23/2010 06:18 PM, Alfred M. Szmidt wrote:

My personal opinion is that this legal reason is a *huge*
bottleneck against external contributions. In particular, because
you need to deal with it *before* submitting any patch, which,
given the complexity (4MLOC) and growth rate (+30% in two years) of
GCC, means in practice that people won't even start looking
seriously inside GCC before getting that legal paper.

Simply not true, you can submit patches without the legal leg work
done.  The patch cannot be commited to the tree though.  And the time
it takes to do this is less than it took me to read your message...
   


I don't follow this comment...

Wouldn't contributing a patch to be read by the person who will be 
solving the problem, but without transferring of rights, introduce risk 
or liability for the FSF and GCC?


I thought clean room implementation implies not seeing how somebody 
else did it first, as the clean part is tainted after somebody 
examines the patch?


Cheers,
mark




Re: Why not contribute? (to GCC)

2010-04-25 Thread Mark Mielke

On 04/23/2010 08:37 PM, Basile Starynkevitch wrote:
However, I would believe that most GCC contributors do not actively 
check their patch against the US patent system (because I perceive the 
US patent system to be very ill w.r.t. software). I confess I don't do 
that - it would be a full time  boring job.




At some companies, the lawyers specifically request that employees do 
NOT check for violation of patents or research any patents before 
writing code, as this process actually increases liability. It's similar 
to the clean room implementation model. If I look, then my ability to 
say I wrote this myself without any input is tainted. If I just write 
it myself without researching what others have done, then I can at least 
claim I never copied any ideas, and although I might still be found in 
violation of a patent, this can be addressed if and when it is found 
(either pay license/royalty fees or re-write the code to NOT use the 
now-known-to-be-patented ideas).


Just thought that this opposite approach might be interesting to 
readers... :-)


Cheers,
mark



Re: Why not contribute? (to GCC)

2010-04-25 Thread Mark Mielke

On 04/23/2010 08:47 PM, Ian Lance Taylor wrote:

Basile Starynkevitchbas...@starynkevitch.net  writes:

I also never understood what would happen if I had a brain illness to
the point of submitting illegal patches (I have no idea if such things
could exist; I am supposing today that if I wrote every character of
every patch I am submitting to GCC they cannot be illegal.),
 

The liability for the action would land on you rather than on the
FSF.  That is what matters for the future of the gcc project.

...

There is no unlimited liability in the copyright assignment, either in
words or in action.
   


In the first quote The liability... you agree that there is liability. 
In the second you say no unlimited liability.


So how much liability is required for somebody to accept in order to be 
allowed to contribute to GCC?


Cheers,
mark



Re: Why not contribute? (to GCC)

2010-04-25 Thread Richard Guenther
On Sun, Apr 25, 2010 at 2:40 PM, Eric Botcazou ebotca...@adacore.com wrote:
 So we need more patch reviewers.  How can that be addressed?

 The situation has improved in this area since the Reviewer position was
 introduced a few years ago though.

 It is also important to make more effective use of the patch
 reviewers we already have.  What could be done to make the
 patch review process easier or less time-consuming?

 Write small patches.  Even if you know that the change is not a complete
 solution to the problem, it might be good enough as a first try so adding
 a ??? comment would be sufficient.

 Eliminate the easy mistakes in patches.  GCC uses strict coding conventions,
 including formatting and commenting conventions, so not following them is a
 mistake that will be flagged as such.  Fortunately this is easy to correct,
 you don't even need to read the (whole) documentation, just look around in
 the existing code you're modifying and make it so that the new code cannot
 be distinguished from the old one in this respect.

 Write proper ChangeLogs.  They are kind of executive summaries for patches and
 help to grasp what they do.  The various ChangeLog files have many examples.

Do not followup your patch with new versions every other day.  Doing so
sticks with reviewers and so you get ignored until they are confident
enough their review time is not wasted.

Thus, be confident of your own patches!  Have them tested _before_
submitting them (well, if you're not in the small group of people that
patch reviewers forgive when doing so).  Test your patches on a
common target (like i?86/x86_64-linux).

Richard.


  1   2   3   >