How to submit large patch for xtensa-linux?
Bob Wilson
bwilson@tensilica.com
Wed May 12 19:30:00 GMT 2004
Thanks, Roland and Ulrich, for answering my questions. If I'm interpreting your
statements correctly, the main issue is that you don't want new, non-mainstream
architecture ports to be a burden to the core glibc developers. That makes
sense to me.
Your proposal to implement the Xtensa port as a glibc add-on might work fine for
us, but I have some more questions and concerns.
First, for the record, let me say that we're trying to be good citizens of the
community here. We're not trying to take advantage of you. We've written some
code, and we'd like to contribute that code back to the GNU project. Such
contributions benefit the community at large (although not necessarily the core
glibc developers). There aren't a lot of Xtensa users out there yet, in
comparison to some of the mainstream architectures, but the numbers are growing.
Contributing the Xtensa port of glibc _will_ benefit the community, albeit a
small segment of the community, as long as it can be done in a way that doesn't
place a burden on others.
It would be great if someone from Tensilica could be involved in glibc
development on a daily basis, but the best we can realistically offer right now
is to contribute occasional bug fixes and to maintain the Xtensa port so that it
isn't a burden to anyone else.
So, anyway, here are my questions....
Roland McGrath wrote:
> The question of copyright ownership and of the general notion of
> contribution to Project GNU is really a separate one from how we slice
> up the glibc source tree and the maintenance responsibility for its
> pieces.... [text deleted]
> If all the copyrights are kosher, then the FSF would be happy to have
> your code distributed on ftp.gnu.org; all it takes is some paying
> attention to what's shaking in libc hacking and you can easily
> coordinate with me and other glibc developers to get your bits where
> they need to go and mentioned in announcements and so forth.
This sounds pretty good. We certainly agree that someone other than the core
glibc developers will need to take the responsibility to maintain the Xtensa
port. Joe Taylor, who wrote almost all of the code, is willing to be the
maintainer. I personally don't have a strong opinion on how you slice up the
source tree.
We've already assigned the copyright for the glibc code we've written to the
FSF, and this assignment also covers any glibc code that we contribute to glibc
in the future, so we ought to be OK to have the Xtensa port made available via
ftp.gnu.org.
So far, so good. I have two related concerns.
First, despite your intentions that add-on ports will not be "second-class", I
think that will be the inevitable perception if the add-ons are released
separately from the main glibc bits. (Certainly seeing Ulrich's list of
unmaintained ports that will be made into add-ons makes me think that we will
suffer from guilt by association.) You offer to coordinate with us to get our
bits released -- can we get them included in the main glibc release tarballs?
Second, I'm concerned about possible confusion of users trying to build an
add-on port. I haven't seen the details of this add-on mechanism, so maybe this
concern merely reflects my own uncertainty. Will extra steps be required by a
user trying to build glibc for an add-on port? If so, will the process be kept
reasonably simple and be well-documented?
It sounds like you folks had pretty much made up your minds to go with this
add-on approach before we even came along with the Xtensa port, so I suppose
there's not much chance of getting you to reconsider. Nevertheless, I'm still a
bit confused about why it has to be such a burden for you to add a new port when
someone commits to maintaining it. My experience maintaining the Xtensa ports
of GCC and Binutils makes me think it doesn't need to be that way. (Ulrich, I'm
not trying to argue that you ought to do it a certain way just because other
projects do. I'm merely reflecting my own positive experience with those
projects.) In fact, many of the GCC and Binutils developers go out of their way
to fix up Xtensa-specific code, for example, when changing an interface, but I
don't expect that of anyone. I consider it my responsibility to keep the Xtensa
code working, and I would not object at all if the other developers chose to
completely ignore the Xtensa code. Other costs? You mention the overhead of
checking contributions, copyright assignments, etc. Perhaps I'm ignorant of
what goes on behind the scenes, but my understanding was that by being a
maintainer of these other GNU projects and accepting cvs-write access, I was
assuming responsibility for the changes I commit. Someone had to check
Tensilica's copyright assignment before granting those privileges, but I assumed
that was essentially a one-time task. You also mentioned reviewing patches.
The other projects I've worked on allow port maintainers to commit patches
without reviews.
Just in case you're still open to other options, the alternative I would suggest
is something like the approach used by the GCC project (i.e., accept new ports
as long as they are actively maintained, drop unmaintained ports, give port
maintainers the authority and access to make changes without requiring
intervention from core developers, etc.). I like this approach, perhaps because
it is familiar to me, but also because it lets us "little guys" participate in
GNU projects without imposing a burden on the "big guys".
Any chance you'll consider that option?
--Bob
More information about the Libc-alpha
mailing list