GCC Mission Statement

2021-06-08 Thread Valentino Giudice via Gcc
Hi.

The Mission Statement of the GCC project recently changed without any
announcement.

I am not a contributor to GCC, merely a user.
However, I'd like to understand more, especially about the
transparency of the project.

The GCC Steering Committee is supposed to follow the mission statement
as a guide for its decision.

Who changes the mission statement, and for what reason?
How can a modification of the statement be guided by the mission statement?
How were users and contributors informed of this?

Thank you in advance for your response.
Best regards.

For reference:
- The GCC homepage states the SC is "guided by the mission statement":
https://gcc.gnu.org/
- The mission statement before the update:
https://web.archive.org/web/20210331192925/https://gcc.gnu.org/gccmission.html


GCC Mission Statement

2021-06-09 Thread Christopher Dimech via Gcc


> Sent: Thursday, June 10, 2021 at 3:26 AM
> From: "Giacomo Tesio" 
> To: "Richard Biener" 
> Cc: "gcc@gcc.gnu.org" , "Valentino Giudice" 
> 
> Subject: Re: GCC Mission Statement
>
> Sure Richard, I know.
>
> On June 9, 2021 2:32:22 PM UTC, Richard Biener  wrote:
> >
> > You are free to create "DCO-free" branches for the GCC 11 series
> > (and older), reverting any DCO "incumbered" backports that reach
> > the official GCC branches for those series.
>
> I could.
>
> Like all other people affected by the change.
> If they know they should.
>
> But isn't this a responsibility inversion?
>
>
> I wonder: is this how you treat your users?
>
> "Go fuck yourself" but politely stated?
>
> To be honest, this comes to me as a great surprise.
>
>
> That's what one would expect by the random guy on github, not by employees
> of RedHat or Google serving as the Steering Committee of GCC.
>
>
> Giacomo

We could start all over again.  We have already done it once with just one man.
And he shocked the world!




Re: GCC Mission Statement

2021-06-08 Thread Siddhesh Poyarekar

On 6/9/21 10:13 AM, Valentino Giudice via Gcc wrote:

Hi.

The Mission Statement of the GCC project recently changed without any
announcement.


Well there was an announcement; the changes in the mission statement 
reflect the new reality introduced by that announcement:


https://gcc.gnu.org/pipermail/gcc/2021-June/236182.html

Siddhesh


Re: GCC Mission Statement

2021-06-08 Thread Valentino Giudice via Gcc
Thank you.

> Well there was an announcement; the changes in the mission statement reflect 
> the new reality introduced by that announcement:
>
> https://gcc.gnu.org/pipermail/gcc/2021-June/236182.html
>
> Siddhesh

I was aware of that announcement, but it doesn't mention the mission
statement at all.
It appears that the decision in question was, at the time, in contrast
with the mission statement (rather than guided by it).

If the Steering Committee updates the mission statement, it may appear
that the mission statement follows the decisions of the steering
committee (in place of the contrary). In that case, what would be the
purpose of a mission statement?

The mission statement was also updated beyond simply making it
consistent with the change: in "Supporting the goals of the GNU
project, as defined by the FSF" the reference to the FSF was removed.

Was there any announcement about the update of the mission statement itself?
On what basis does the Steering Committee change the mission statement?


Re: GCC Mission Statement

2021-06-08 Thread Siddhesh Poyarekar

On 6/9/21 10:39 AM, Valentino Giudice wrote:

I was aware of that announcement, but it doesn't mention the mission
statement at all.
It appears that the decision in question was, at the time, in contrast
with the mission statement (rather than guided by it).

If the Steering Committee updates the mission statement, it may appear
that the mission statement follows the decisions of the steering
committee (in place of the contrary). In that case, what would be the
purpose of a mission statement?

The mission statement was also updated beyond simply making it
consistent with the change: in "Supporting the goals of the GNU
project, as defined by the FSF" the reference to the FSF was removed.


Quite a few projects under the GNU project[1] have dissociated 
themselves from the FSF, so "as defined by the FSF" perhaps doesn't 
apply as consistently as it did before.  That is my understanding 
anyway; maybe there's more context that others may be able to add.


Siddhesh

[1] https://gnu.tools/en/software/


Re: GCC Mission Statement

2021-06-08 Thread Didier Kryn
Le 09/06/2021 à 07:09, Valentino Giudice via Gcc a écrit :
> If the Steering Committee updates the mission statement, it may appear
> that the mission statement follows the decisions of the steering
> committee (in place of the contrary). In that case, what would be the
> purpose of a mission statement?

    A chicken and egg question, hey (~:

--     Didier





Re: GCC Mission Statement

2021-06-09 Thread Gabriel Ravier via Gcc

On 6/9/21 7:09 AM, Valentino Giudice via Gcc wrote:

If the Steering Committee updates the mission statement, it may appear
that the mission statement follows the decisions of the steering
committee (in place of the contrary). In that case, what would be the
purpose of a mission statement?


In essence, a mission statement is just that, a statement of the mission 
that the SC aims to follow. If the SC wishes to change that mission, it 
follows that the statement should be adjusted to adapt. The statement 
serves as any other statement serves: it gives information to others.


Of course, the mission statement is also binding on the SC itself, in a 
more social way: If it does not wish to lose faith of the GCC community, 
it should not go against the mission statement nor should it change it 
recklessly.


Speaking on the "change it recklessly" issue, I would personally say 
that SC has indeed arguably done this: I believe there should have been 
discussion of this change in the mailing list before it occurred, as 
essentially the only discussion on the mailing list that could have 
implied something like this would happen was the discussion from a while 
back about RMS and the FSF where some people threatened to pull away 
from GCC entirely if it remained tied to the FSF. I personally happen to 
agree with the change (which seems to have especially avoided what would 
have been a painful split that could have had disastrous consequences 
for GCC as a whole), but find it rather disconcerting that such changes 
with potentially major consequences were done without any direct 
discussion of them with the community whatsoever.




Re: GCC Mission Statement

2021-06-09 Thread Giacomo Tesio
Hi Gabriel,

On Wed, 9 Jun 2021 11:44:10 +0200 Gabriel Ravier via Gcc wrote:
> Speaking on the "change it recklessly" issue, I would personally say 
> that SC has indeed arguably done this [...]
> some people threatened to pull away from GCC entirely if it remained
> tied to the FSF. I personally happen to agree with the change (which
> seems to have especially avoided what would have been a painful split
> that could have had disastrous consequences for GCC as a whole), but
> find it rather disconcerting that such changes with potentially major
> consequences were done without any direct discussion of them with the
> community whatsoever.

Did you consider that, in fact, the lack of transparency of the
Steering Committee has shown since then (or even just the lack of
professionalism, when it comes to explicit intruduce major changes in
major versions) is a "disastrous consequence for GCC as a whole"?

Unilateral undiscussed changes by the Steering Committe is the new norm.


And such Steering Committee is in no way representing the interests of
the worldwide users of GCC, first because its members do not know them
(the vast majority is from the US, work for US corporations or both)
and second because they do not listen to any objection / request that
does not comes from their own circle / social group.


Are you sure that an explicit fork with two projects with different
names and governance would had been worse than what GCC has become?


Giacomo


Re: GCC Mission Statement

2021-06-09 Thread Gabriel Ravier via Gcc

On 6/9/21 12:11 PM, Giacomo Tesio wrote:

Hi Gabriel,

On Wed, 9 Jun 2021 11:44:10 +0200 Gabriel Ravier via Gcc wrote:

Speaking on the "change it recklessly" issue, I would personally say
that SC has indeed arguably done this [...]
some people threatened to pull away from GCC entirely if it remained
tied to the FSF. I personally happen to agree with the change (which
seems to have especially avoided what would have been a painful split
that could have had disastrous consequences for GCC as a whole), but
find it rather disconcerting that such changes with potentially major
consequences were done without any direct discussion of them with the
community whatsoever.

Did you consider that, in fact, the lack of transparency of the
Steering Committee has shown since then (or even just the lack of
professionalism, when it comes to explicit intruduce major changes in
major versions) is a "disastrous consequence for GCC as a whole"?


I do consider that a lack of transparency is pretty bad, and that 
discussions on subjects like this should be done in public, but I 
wouldn't say it's just as bad as the potential risk that a fork would incur.


As for a lack of professionalism, I think it's pretty clear that GCC 11 
is the cutoff point here, and although there might be some problems with 
licensing bug fixes to old versions (which could not be reasonably 
avoided unless GCC made no major releases until GCC 11.5 is out), there 
isn't much reason to make a major version just for this when there was a 
major version a month ago. Note that releases are done ~1 time per year, 
so there isn't much FSF-copyrighted work "lost" with this.




Unilateral undiscussed changes by the Steering Committe is the new norm.


And such Steering Committee is in no way representing the interests of
the worldwide users of GCC, first because its members do not know them
(the vast majority is from the US, work for US corporations or both)
and second because they do not listen to any objection / request that
does not comes from their own circle / social group.


From what I know on this subject, the SC is meant to represent the GCC 
community (those that actively participate in GCC development, at 
least), and they are composed of well-recognized members of that 
community. Adding in random unknown people to represent the "worldwide 
users" of GCC would certainly not be taken well by the community and 
would heavily hurt the credibility of the SC in the eyes of everyone 
involved in working on GCC, which would consequently hurt the project.


You might have your own views on the subject, but I would prefer having 
a credible SC that might not represent everyone in the world well than 
have an SC representing everyone in the world that isn't trusted by the 
people involved with the project (which could then result in the SC 
becoming trusted... by the few people who remain after all those that 
don't trust it leave).




Are you sure that an explicit fork with two projects with different
names and governance would had been worse than what GCC has become?


To be clear: From what I can see, the GCC project has effectively 
declared their independence (which they already pretty much had, they've 
just made it publicly clear) from the FSF in terms of who is at the helm 
of the project. It is their right to do so, and they certainly had the 
power to do so when the only power the FSF could exert over them was 
very minor, with as the only leverage some minor reputation loss from 
the loss of association with GNU and the DNS records for gcc.gnu.org. If 
RMS wants to try to do anything, the most he can do is expel the SC as 
the maintainers of the "GNU Compiler Collection", take the DNS records 
for gcc.gnu.org and make a fork that would most certainly be considered 
by everybody to be "FSF GCC" or something like that to distinguish it 
from what would most certainly be the GCC basically everyone uses. The 
only result of this would be that basically everyone would move over to 
gcc-compiler.org or something like that, and the situation would be 
functionally unchanged from what it is now.


Note: GCC as it has been for the past 2 decades was already a fork of 
the original GCC: RMS just decided to accept EGCS (former name of the 
current GCC) as the official version of GCC endorsed by GNU (this is why 
it was already effectively independent).




Giacomo


Re: GCC Mission Statement

2021-06-09 Thread Giacomo Tesio
Hi Gabriel,

On June 9, 2021 12:41:09 PM UTC, Gabriel Ravier 
wrote:
> 
> I do consider that a lack of transparency is pretty bad, and that 
> discussions on subjects like this should be done in public, but I 
> wouldn't say it's just as bad as the potential risk that a fork would
> incur.

I really wonder what kind of risks are you thinking about.

Really, I could not see anyone.

Two organizations with different goals and values that explore
different ways to implement a compiler collection cannot cause any harm.


> As for a lack of professionalism, I think it's pretty clear that GCC
> 11 is the cutoff point here

May you point me to the line in the GCC 11.1's Changelog that
document this?

I cannot find anything!

Please give it a look: https://gcc.gnu.org/gcc-11/changes.html

> and although there might be some problems with 
> licensing bug fixes to old versions (which could not be reasonably 
> avoided unless GCC made no major releases until GCC 11.5 is out),
> there isn't much reason to make a major version just for this when
> there was a major version a month ago. 

GCC 11.1 is the first release of the 11 series.

In a professional environment more respectful of downstream users,
such major change would have been announced for the 12 series and
applied only to it an successive ones.

It would be very easy to achieve, allowing people around the
world to properly assess and handle the subtle legal risk introduced.


I mean: are we talking about GCC or a random hobby compiler on github?


> Note that releases are done ~1 time per year, 
> so there isn't much FSF-copyrighted work "lost" with this.

To be honest, I do not see the change as an issue for FSF.

The new legal risks affect users.


> > Unilateral undiscussed changes by the Steering Committe is the new
> norm.
> >
> > And such Steering Committee is in no way representing the interests
> > of the worldwide users of GCC, first because its members do not know
> > them (the vast majority is from the US, work for US corporations or
> > both) and second because they do not listen to any objection /
> > request that does not comes from their own circle / social group.
> 
> From what I know on this subject, the SC is meant to represent the GCC

The steering committee was founded in 1998 with the intent of
preventing any particular individual, group or organization from
getting control over the project [1].

But as Juvenal wrote "Quis custodiet ipsos custodes?"

I argued that FSF had such role (through RMS [2]), but now the members
of Steering Committee itself are "getting control over the project".


> community (those that actively participate in GCC development, at 
> least), and they are composed of well-recognized members of that 
> community. Adding in random unknown people to represent the 
> "world wideusers" of GCC would

Strawman: nobody ever suggested this.

You could radically increase SC diversity very easily, by removing
people who comes from the same corporation and adding people who are
well respected but do NOT share the exact same demographics and
interests of the other SC members.

Do you really think that ONLY white men working for a US tech company
or another ought to be "well-recognized members of that community"?

If not, they need not to be "random unknown people".

> certainly not be taken well by the community and 
> would heavily hurt the credibility of the SC in the eyes of everyone 
> involved in working on GCC, which would consequently hurt the project.

I always love how diversity completely stop being important when called
on the right group of good ol' well-respected US-centric white men! :-D
 

> You might have your own views on the subject, but I would prefer
> having a credible SC that might not represent everyone in the world
> well than have an SC representing everyone in the world that isn't
> trusted by the people involved with the project 

This is a false dilemma.

GCC could have a diverse AND trustworthy Steering Committee.
The current one is not diverse at all.

And if it was trustworthy they would have had no issue in discussing
this major change BEFORE applying it.


> > Are you sure that an explicit fork with two projects with different
> > names and governance would had been worse than what GCC has become?
> 
> To be clear: From what I can see, the GCC project has effectively 
> declared their independence (which they already pretty much had,
> they've just made it publicly clear) from the FSF in terms of who is
> at the helm of the project. It is their right to do so

Sure!

It's called "forking" and usually comes with a clear change in name.

GNU Compiler Collection is... uhm... a GNU project.



> they certainly had the power to do so when the only power the FSF
> could exert over them was very minor, with as the only leverage some
> minor reputation loss from the loss of association with GNU and the
> DNS records for gcc.gnu.org.

Well, you are right, it's plain clear: all of this has been a power p

Re: GCC Mission Statement

2021-06-09 Thread Richard Biener via Gcc
On Wed, Jun 9, 2021 at 4:22 PM Giacomo Tesio  wrote:
>
> Hi Gabriel,
>
> On June 9, 2021 12:41:09 PM UTC, Gabriel Ravier 
> wrote:
> >
> > I do consider that a lack of transparency is pretty bad, and that
> > discussions on subjects like this should be done in public, but I
> > wouldn't say it's just as bad as the potential risk that a fork would
> > incur.
>
> I really wonder what kind of risks are you thinking about.
>
> Really, I could not see anyone.
>
> Two organizations with different goals and values that explore
> different ways to implement a compiler collection cannot cause any harm.
>
>
> > As for a lack of professionalism, I think it's pretty clear that GCC
> > 11 is the cutoff point here
>
> May you point me to the line in the GCC 11.1's Changelog that
> document this?
>
> I cannot find anything!

Because GCC 11.1 was not affected by this change though GCC 11.1.1+
will.

You are free to create "DCO-free" branches for the GCC 11 series
(and older), reverting any DCO "incumbered" backports that reach
the official GCC branches for those series.  git should make that
easy up to the first major conflict / dependence issue.

Richard.


Re: GCC Mission Statement

2021-06-09 Thread Giacomo Tesio
Sure Richard, I know.

On June 9, 2021 2:32:22 PM UTC, Richard Biener  wrote:
> 
> You are free to create "DCO-free" branches for the GCC 11 series
> (and older), reverting any DCO "incumbered" backports that reach
> the official GCC branches for those series.  

I could.

Like all other people affected by the change.
If they know they should.

But isn't this a responsibility inversion?


I wonder: is this how you treat your users?

"Go fuck yourself" but politely stated?

To be honest, this comes to me as a great surprise.


That's what one would expect by the random guy on github, not by employees
of RedHat or Google serving as the Steering Committee of GCC.


Giacomo


Re: GCC Mission Statement

2021-06-10 Thread Valentino Giudice via Gcc
> Quite a few projects under the GNU project[1] have dissociated
themselves from the FSF, so "as defined by the FSF" perhaps doesn't
apply as consistently as it did before.

That doesn't really answer any of my questions, though.


Re: GCC Mission Statement

2021-06-10 Thread Valentino Giudice via Gcc
I am glad this email created some discussion.

Some users seem to think the change was either reckless or nontransparent.
This includes one user who replied me off list:
> Please continue until they tell the truth.

Given the additional context provided by the answers, I agree with that opinion.

I therefore call for the Steering Committee to reconsider the decision
and, at minimum, discuss it openly and transparently both on this
mailing list (seeking for consensus) and the FSF (especially given its
strong role in the previous mission statement).

I think the SC is accountable to the users as well, given that it
being guided by the mission statement is plainly stated on the GCC
homepage. But of course, it is also accountable to the people directly
involved.

I think the SC needs to clarify whether it gets to do whatever it
wants and change the mission of the project at will, for any reason
whatsoever.

I personally believe a positive answer is in contradiction with what
the SC is meant to be:

> The primary purpose of the steering committee is to make major decisions in 
> the best interests of the GCC project and to ensure that the project adheres
to its fundamental principles found in the project's mission statement.

https://gcc.gnu.org/steering.html


The GCC Mission Statement says nothing about conforming to international standards!?

2007-02-03 Thread icrashedtheinternet

I just read the GCC Mission Statement and I see nothing there about
conforming to international standards for programming languages.  Why
does the GCC Mission Statement not include conforming to
internationally accepted standards?  Its very counterproductive not to
use standards.

-John Burak


The GCC Mission Statement says nothing about conforming to international standards!?

2007-02-04 Thread icrashedtheinternet

I guess I could have worded my email a bit better.  Of course I don't
assume that the GCC developers are ignoring standards.  Nor do I think
any of us are unaware of GCC's ability to support a standard and have
extensions to it that go beyond the standard.  So I simply want to
suggest to the proper people (who hopefully are reading this ;)  that
perhaps the mission statement should include something about the GCC
project efforts to encompass programming language standards and then
go beyond them whenever necessary in order to make the compiler even
more useful.

-John


Re: The GCC Mission Statement says nothing about conforming to international standards!?

2007-02-03 Thread Robert Dewar

icrashedtheinternet wrote:

I just read the GCC Mission Statement and I see nothing there about
conforming to international standards for programming languages.  Why
does the GCC Mission Statement not include conforming to
internationally accepted standards?  Its very counterproductive not to
use standards.


Of course not including it in the mission statement does not mean
that it is not a requirement, so the last sentence is a bit of a
non-sequitur. To me, implementing C means implementing the standard,
and I think that this is the general approach of gcc, so it is not
entirely clear it should be explicit in the mission statement.

Ultimately the more important goal is to implement a widely
useable compiler, to the extent that includes following the
standard, that's what will happen.


-John Burak




Re: The GCC Mission Statement says nothing about conforming to international standards!?

2007-02-03 Thread Joe Buck
On Sat, Feb 03, 2007 at 01:42:06AM -0700, icrashedtheinternet wrote:
> I just read the GCC Mission Statement and I see nothing there about
> conforming to international standards for programming languages.  Why
> does the GCC Mission Statement not include conforming to
> internationally accepted standards?  Its very counterproductive not to
> use standards.

You incorrectly assume that the mission statement is an exhaustive list
of every GCC priority.  It isn't.

Many GCC contributors are active members of the appropriate standards
committees, and GCC tries to conform to appropriate standards and to
document known areas of non-compliance.  Standards conformance is a goal,
but it is not the #1 goal.  For example (to risk reviving a recent
debate), it appears that almost every large C program in existence
assumes, deliberately or accidentally, that int overflow wraps around in a
two's complement manner, but a compiler that rigorously enforced
conformance to internationally accepted standards could happily break all
of that code (e.g. by trapping on every overflow).

The result is that GCC explicitly rejects something that you might have
been taught in compiler class, that the standard is a contract between
the compiler developer and the users and that the compiler can do anything
it wants with any code that does not rigorously meet what is defined in
the standard.  Standard-conforming code should work, but the issue of
what to do with technically incorrect, but commonly occurring code is
something that we'll continue to struggle with.  In some cases, serving
the users might require going beyond the standard, in other cases, the
cost in lost opportunities for optimization might be too high.





Re: The GCC Mission Statement says nothing about conforming to international standards!?

2007-02-04 Thread Robert Dewar

Joe Buck wrote:


The result is that GCC explicitly rejects something that you might have
been taught in compiler class, that the standard is a contract between
the compiler developer and the users and that the compiler can do anything
it wants with any code that does not rigorously meet what is defined in
the standard.  Standard-conforming code should work, but the issue of
what to do with technically incorrect, but commonly occurring code is
something that we'll continue to struggle with.  In some cases, serving
the users might require going beyond the standard, in other cases, the
cost in lost opportunities for optimization might be too high.


Indeed ...

Of course it would be more controversial to depart from the standard
on the basis of making the compiler more useable, and it is hard to
see such a case, though I cam imagine a case where we decide the
standard is plain wrong, and we won't conform to it pending it
being fixed.

The fundamental goal here is to generate an effectively useable
compiler, conforming to the standard is a means to this end, not
an end in itself.

I actually think that in these cases that Joe alludes to above,
concentrating *too* much on standards compliance can be the wrong
emphasis, since it can lead to a position of "if it isn't in the
standard, we are not interested!" which is not quite the right
attitude for dealing on a case by case basis with situations where
expected behavior goes beyond what is required by the standard.

So putting conforming to the standards in the mission statement
is not only unnecessary for me, it is probably a bad idea.



Re: The GCC Mission Statement says nothing about conforming to international standards!?

2007-02-04 Thread Brooks Moses

icrashedtheinternet wrote:

I guess I could have worded my email a bit better.  Of course I don't
assume that the GCC developers are ignoring standards.  Nor do I think
any of us are unaware of GCC's ability to support a standard and have
extensions to it that go beyond the standard.  So I simply want to
suggest to the proper people (who hopefully are reading this ;)  that
perhaps the mission statement should include something about the GCC
project efforts to encompass programming language standards and then
go beyond them whenever necessary in order to make the compiler even
more useful.


Why?

(Or, to be less gnomic: Why do you feel that this should be included in 
the mission statement?  You're proposing the idea, but you're not giving 
any reasons for it at all.  If it were obvious why it should be in 
there, it would already be there, presumably.)


- Brooks