Much ado about scripting, Linux & Eclipse: card subject to change

2008-05-20

p2: The Good, The Bad, The Whiners

After taking a break from reading the Planet this past week, tonight I discovered several p2-bashing posts. Now, I admit, in December I had some less-than-positive things to say about p2, but that was over 5 months ago. It's been evolving rapidly ever since, and has one of the most responsive dev teams I've ever had the pleasure of working with.

Some statistics, to prove my point:

  • 695 resolved Equinox.p2 bugs; 472 open Equinox.p2 bugs. Closure rate: 60%. Given the oldest changed bug is in February, that's over 200 features and work items a month for the past 3 months! (A bug is not always a problem. I use bugs as TODOs, thanks to the wonderful workflow integration provided by Mylyn. But I digress.)
  • Of the 20 Equinox.p2 bugs I've opened; only 5 remain. Closure rate: 75%.
  • Of the 39 Equinox.p2 bugs I've opened, commented on, or am watching; only 8 remain. Closure rate: 80%.
  • Articles in the Eclipse Wiki related to p2: at least 46
  • Time required to go from knowing nothing about p2 metadata to having it enabled for all the Modeling projects' update sites and integrated into automated promote scripts: about 2 hrs
  • (Recently) active committers for the whole Equinox project: 14
  • Lines of code committed in Equinox project in the past year: 378,000
  • Number of commits in Equinox project in the past year: 28,000

Bottom line? Ask (early) and ye shall receive. Wait to complain when there's no time left in the cycle, and ye shall be disappointed. This is open source, people. You get back what you put in.

7 comments:

schriner said...

I don't know, aside from P2 bashing there is also P2 critics' bashing.

If P2 hadn't entered 3.4 in M6 but in M3, there would be halve as much uproar. 472 open bugs is a joke when a product should be "feature complete" and is at RC1 status.

And btw "number of closed bugs" or "percentage of closed bugs" must be the worst metric for software quality I've ever heard of. Write crappy software with trivial bugs and get kudos for closing these? Come on...

The main criticism towards P2 is not that it's a good idea, it's not that it doesn't work - it's mainly that the update UI doesn't expose halve of the features, and the that the agent should not be used (That's from the wiki), and that P2 is too buggy to enter the game that late.

Tiran Kenja said...

I think the blogger is miss-understanding what the criticism is about.

Most people don't complain about non-working code (aka bugs). But about missing features and p2's inability to be used in ways we are used to.

None of the issues I am following, of the missing-feature kind, have even gotten close to being resolved. And several of them likely won't because it is now too late to do any major changes.

And as Patrick said, p2 was introduced in M6. I think most of us wasn't really aware of it before. Personally I can't spend all my time hacking together Eclipse builds. I use milestones as they become stable enough for me to work on it.

AlBlue said...

"Of the 20 Equinox.p2 bugs I've opened; only 5 remain. Closure rate: 75%."

How many of them are closed FIXED, versus (say) WONTFIX, DUPLICATE (and the duplicate is still open) etc.?

nickb said...

> If P2 hadn't entered 3.4 in M6 but in M3, there would be [half] as much uproar.

No, there'd have been more uproar. Read my blog about the p2 experience in M3 -- it was much harder to use 5 months ago.

> worst metric for software quality

What metric would you use? I was only presenting some stats I could easily get to quantify the amount of work done on the project.

> too buggy to enter the game that late.

So, you'd rather have another year of Update Manager? Google for "update manager sucks" and you'll see the motivation for something better. Of course, if you want to disable p2 and revert to using Update Manager, you can. p2 does not replace Update Manager -- Eclipse 3.4 will ship with BOTH.

> None of the issues I am following, of the missing-feature kind, have even gotten close to being resolved.

Ah, it's the cake-and-eat-it-too argument. "p2 sucks. p2 is buggy. p2 doesn't work. p2 doesn't include my new feature." How do you prioritize your own workload? Do you make it work, or do you enhance it to make it better? If all your bugs are enhancements, and there's pending actual bugs, surely you can see that a small team would focus on the problems before gilding the lily with new features?

> How many of them are closed ...

1 INVALID (because many of the issues in it are obsoleted by the new p2 system); the rest are RESOLVED:FIXED or RESOLVED:DUPLICATE (of another RESOLVED:FIXED bug). So... none.

Doug Schaefer said...

All I can say is that I hope these people don't notice the 1200 bugs open on the CDT. That's 100 more than the 1100 bugs CDT 4.0 delivered with.

Bug reports don't always mean there are bugs. Sometimes it's just peoples opinions or perception that things aren't working right.

I think the community needs to start dealing with the fact that p2 is here to stay. If you want your missing features back (and so far I've only heard of one and I think there's a workaround for it anyway), as Nick says, give back.

Or we can refund your money, either way...

L. Mihalkovic said...

> > too buggy to enter the game that late.
>
> So, you'd rather have another year of Update Manager? Google for "update manager sucks" and you'll see the motivation for something better. Of course, if you want to disable p2 and revert to using Update Manager, you can. p2 does not replace Update Manager -- Eclipse 3.4 will ship with BOTH.

there used to be a simple trick.. wait until it disables itself due to a bug after an install of a plugin that conflicted with itself..

my other favorite is to hear the platform team constantly talk about API freeze, all the while making P2 a standard component at such late date, despite a demonstrated lack of reliability.

from an image point of view, it is difficult to make a comeback after such a difficult launch... anyone outside technology knows that.. considering the amount of frustration attached to Update Manager, it would have been a lot wiser to delay P2 until its launch could have been made a single successful post ganymede event.. with even a little bull@#@ like "we heard you, and we answered all your hopes.. [drum rolls] P2!!". people would have been ecstatic.

fire one of the P2 programmers and hire a marcom manager instead... just kidding.. :)

Unknown said...

I fully approve with Patrick Schriner's comment.

For me, the correct way to use p2 is to disable it. That's it.

Using Bugs as "Todo's" is the best way to scare potential upcoming users (like me).

By the way, searching for p2 issues will to to lots of frustrated users.

It's unbelivable that a mature tool (which Eclipse was before p2) is getting worse this way...