[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] Rewriting JGit history and standard comment template

Alex Blewitt <alex.blewitt@xxxxxxxxx> wrote:
> I undersand your pain and frustration with the rewriting of the
> headers. However, I'd like to help out if I can.
>
> I think that even though the road is bumpy, the EGit project
> and the wider Eclipse community will benefit

One of my problems is... it seems that the wider Eclipse community
that cares about the IP review is actually just the commerical
interests who are trying to sell commerical products built on top
of my open source work.

Fine.  My license permits that.  Heck, it practically encourages
it given how libral the 3-clause BSD is.  I have absolutely no
objection to my JGit work being reused in commerical software.
If I did, I would have kept JGit under some sort of GPL variant.

What I have a problem with is, that wider community is putting the
work effort associated with making sure they are legally entitled
to redistribute my code as they see fit on my time, and on my dollar.

There's something wrong with that.

Its not enough that I wrote the code for you.  Its not enough that I
provided it under a license that permits you to use it practically
however you see fit.  No, I also have to take additional time to
carefully document everything, so that your lawers can feel more
comfortable reusing my code, and can save time doing it.

I'm here to write code.  Not to save a worried lawyer time and money.
Lets face it.  I'm a Java programmer.  Probably will be until I buy
the farm.  Sure, I play C programmer some days on the Git mailing
list, but really, I only write Java.  I want a high quality Git
library available to me in my language and platform so I can build
things on top of it.

Right now, my anger is directed to the fact that I'm spending a
large amount of my time to make *other* commerical interests happy,
with nothing in return for it.

If I was spending this time to make my $DAY_JOB employer happy I
would be OK with things.  They pay me a salary and might issue a
small bonus if I do well, and that keeps me interested in working.
In other words, there's a damn tasty carrot involved that I'm
willing to work for.  That carrot gets me things I want, like a
roof over my head at night, and food on my dinner table.

If I'm writing code for JGit, I'm happy.  I can reuse that code
in the future.  It makes it possible to do more things with JGit.
Usually things I want JGit to do.  It doesn't get me dinner, but
it brings me some amount of joy.  (And some things I do with JGit,
like Gerrit Code Review, bring me dinner.)

But if I'm off rewriting my project history, and my file headers,
and doing things like writing tools to mine a Git repository and
produce an XML file which is copy-and-pasted into a PDF... WTF.
None of that provides any value to me.  I have no carrot to keep
me interested or wanting to do that work.

Yes, $DAY_JOB is a member company of the Eclipse Foundation.
But its out of altruism, and not because we need (or want) the
IP review process to be completed for us.  We are also members of
many other open source groups, to help make sure their contributors
have the infrastructure they need to communicate, build and release
interesting software.

The sad truth of it for me is this... $DAY_JOB doesn't pay me to
do IP logs and crap for JGit.  They pay me to produce code and
contribute it back.  I'm doing the IP log s**t in my free time.
That 1.5 man-months or whatever that I probably lost in the past
year to JGit and EGit related paperwork is really my volunteer
efforts to the project.

Yes, I'm bitter about it.


> Do we report (in the IP log) all contributions,
> or only those where the change size is above a certain threshold?

The Eclipse policies apparently require *ALL* contributions,
including those that are fully negative (e.g. only delete lines
of code) to be listed in the IP log.  Size doesn't matter here,
it has to be listed.

Contributions which add more than ~200 lines of code should have
a CQ opened and go through a CQ review.  Oddly enough, these CQs
aren't listed in the IP log, but their contribution is listed,
just like the smaller contributions.  And there is nothing to
set them apart.

Makes me wonder how the IP review team, when they review an IP log
for release, is able to validate that all of the larger contributions
were actually sent through the CQ process, and were accepted.

Its things like this that just seem f*cked up about Eclipse.  A lot
of the processes and so forth appear to be built up to verify that X
gets done, but they are some of the most inefficient ways to reach
that goal.

E.g. I love [1].  Seriously.  WTF.  I ask to reuse this code in a CQ.
I get told in that CQ to ask the contributor to verify these things,
and send in his form.  I ask these things in the bug.  He replies.
I update the CQ to let them know he's replied.  Then they approve it.

Uh.  Why was I involved in that process again?  Apparently I'm
here as a copy-and-paste monkey.  Woot.  I know I'm good and
copy-and-paste, there's a number of places in JGit where I've
just copied code between classes rather than reused it.  But you
shouldn't be encouring me to practice my Ctrl-C Ctlr-V skills.

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=300397#c4

> If we've got a full list of contributors (and by mail address,
> which is usually the way forward), then hopefully we can generate
> a new set of headers for each file change.

True.  But then we get into these arguments like in [2] where
people don't want their email addresses disclosed while they are
disclosing them in Bugzilla, and the foundation staff doesn't want
to disclose committer logins (even though they are currently shown
in CVS commit logs).

[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=257706#c180

-- 
Shawn.