Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] JFace Generics
  • From: Krzysztof Daniel <kdaniel@xxxxxxxxxx>
  • Date: Sun, 01 Sep 2013 16:58:46 +0200
  • Delivered-to: cross-project-issues-dev@xxxxxxxxxxx
  • Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAHIklEQVRYw61YTWwbxxX+SC5FmVr9mCuzNF1KlFFT5GphG1VaJYHSGE4QA+LNhwrJQb32XLg5BT4YaBAkhdGjz0JTQD4YuYiHIjHk2khqIKnlYLUUKcCmvYFD0FqHspcEKS61PbzlcMU/kyIHxGJ3uDvzzffe+96bcVRKBnppVaPq4lx07eadhit7p93nzl7RNA9XNapGSTNKWsO/9nfsPR1WAoDrBgEbwj6WUdIeZ4prqze21ldZ51x8ZXnlz6d/E2z5STfN0cFk7RiuGtWHX9784vrHHcb9618+P7v8ATcstBytA9C2gJiXNLjLzrbawEq7RmydiYbsTDdQ3htDzW1nW726/HZPJri29u2ZaKjd8vpyaqOkra3eQI/t6vLbO9sqcUP0sJu+AFWN6mfXrnew1McfLdmNxa4A1lZvGCWty4m410oO3T/88mZLNHPxlfj4LsO0vjdJrzE0ALbWV3+clX77pw87ENMVIIamalQTKdkOYmt9tQZld31vkmGKj+/GP1oCrEfEVwhfIiWfa9LGozu13ZftlHTTGGf//Oo/rpmZltLasw+9un/P7hzre5PdA2LoH5W5fn2og7sAiIUiSTXd/FosFGnyd3z+r8Sr+/cQ/XAwgBIpeS6+ckXyQfgDAGgyAMyLsXkRPygAkmo6dv4ywgetv1fTRG2/Tm2X/Pj4roUGwLzIewPW/TsBAL/DxeYP9WLWxll6PSWfwx9fO11v2R7hg7Y0NLU66MPO1C+gQ+GQceIITZAAmIELA3Pq+uJs9JgeoVFCyhp1Osqa3WTQ5FgoolQwGIaaF9dgi3YQ2702UB/qpsIqay1NBgDq08EAEgO+7kGYHoF+dZLCBwAc2Y3Kd7dMI9+XD1WNauXmP5RKUAxFaNyWhrAbqzw2Qjeel4eAkmB6XhbKY3Bw! E0cEZBp5C JKoyUolKNbUhWGiuT0vC/Z7eiw8SBo1/QSgVILimxMsSE0jD044CiBaCv/ORdzeRsapZF84shvWis9f5kU/cUNohp8/1YtZ5b/5REqOj+9aOeQHhTCRpu8XIhjrw2QuzlUBdCVXyxjB2PnLSvYFgOTmLWxasIafawB0JZfc/MoBLM1eiAV8CB/w3gBBFAM+aM+SavrsW30XaLzo1+/eFgPS3+/IVyQAPkd2Y31vEpiMj+9Ck/ViPZPEQhGlEkyk5EQK8c0aSQgifICwGBtI2JeNCYqU+PhuUk0nN2+ZgQtLs5b4JtU02YIopPwfH9+9Ivko6UKQRhcWLZUXpKERV78Fmiv3tPAgCUDJvhADPmiypSuanFTTRInVz9q8yHsDZGjys8IvW4SJe/cNyzTDwhFTx77vFMJbAET4eNGvF0Xe6wegKxIzAS/6gYv63dsMjekReLFRpXjRXxpIcuW9Ad4baKFDggRAdD9r4IaBYApJAd+c/o6o1KUTU3b5OZQ47ZlhXmzQayaSFHH1xyNEmX3Pyw0LnuNz+i9bhMn0CDwAkWBJDQmVKROJpKOs0WJKJ6YGkFxpl1k1qvu+U+6haIsSzO7LGaeu5FokVxaqVkqx1HwQBVq7fM6qJU0mTC2n7IDjKOVHs4ToSg6CxIv+0okp0yOQIPGiv9235EPlsZEOzvR6QORMppHfL7TaM2iyruSGnz+1lKbm18Qi43K/UGX0dDZZp/MhwvE4Uww9USh//f5i9FCU2Uvs9sWJruTUafG0x6jsb7uHosRW1T/VW5QRFNqzKgDJf9kwPFy+RcFfq7UPyUENX3Lzlpl98Whh8bQnWkmnK4A7EnH1GvY/rv2bakV1uq4uj8pcjDtkLxIhmlgvZpFxWp3hA9ZJFf5M2GsCbkQAVNJp18xMz6ljdGFRtW3vayRNeLg87w3oyNHqY6GIfvdQBc2LfqLKIkyQxFp1ZZ4EarB6AzS6sMjOGET3s2Q2D! SzS4ipkoD DqFYUgNTsToeG9AT2cdQ9FTcA08sad793vvY/QRM9RFvrfTUd2w5HdoFTFdkJ1C2acVFFYtiOFrBVlDE1tuCkHN+H4+SWAyjdfdyj12zKkVIIIBAFA8KnT4igwE/Y+zhSZt5LJqPKqdfrr/9pyH0m8i3OV0tZpiXHne+7Spd4YIo8ZXVhklBCambDXVnJY0zdEO6Fhud08OUY6wr37hvu99weg1K/u33t1/x4dwT7OFFVTslKs6EfGaQ91ZixCQznfwU1Q/qGb4UuX3JHenZpOx+1nl4Ts7PIHAPQn2RGqdcJUwzsBp44c4ET4YOT4HNsV7ftOscN/ovxMNNQu5gG4rn5ytfVhyk+5Pd/JxsNGLXdq+tzxCfeT/PFjpa2hY/6hY/5fT43sPy9AkyFO8sFfufnpBjR0iJtIyTtabrpU+vmhfCIadHLennVoaVYaXVicCXvZRpPkG5aDS6EHCnkSlbD2mpDQkKV2tlU2YCIlL81Kn127/smnf2s56f8BT1i2ky/8xFYAAAAASUVORK5CYII=
  • List-archive: <https://dev.eclipse.org/mailman/private/cross-project-issues-dev>
  • List-help: <mailto:cross-project-issues-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev>, <mailto:cross-project-issues-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://dev.eclipse.org/mailman/options/cross-project-issues-dev>, <mailto:cross-project-issues-dev-request@eclipse.org?subject=unsubscribe>
  • Organization: Red Hat

On Sat, 2013-08-31 at 09:07 +0200, Ed Merks wrote:

Ed,

> John,
> 
> Please me be equally provocative.  Suppose I decide I'd like EMF to
> progress a lot faster, after all, it's very limiting maintaining all
> this binary compatibility and it would be so wonderful to fix mistakes
> of the past.   So, all things considered (well, all things considered
> that matter, i.e., just my own opinion), I'm going to make changes to
> introduce EMF 3.0, and of course I'm going to release it into the
> train as I've always done.  Unfortunately EMF's plugins are
> singletons, so everyone on the train will have have to consume what I
> provide; no EMF 2.10 won't be on the train.  It will start use
> dependency injection right in the core, so adopters will depend on
> those bundles too; dependency injection is great.   Yes, that means
> you too, Eclipse platform, you must live with whatever I decide it
> best for my project's future; just go read the rules and if in doubt
> ask John about the subject, he's stated his opinion very clearly.  I'm
> well within my rights to disregard anyone's and everyone's feedback as
> I see fit.   Of course I know you adopters won't all be pleased, but I
> can find one or two who are will be ecstatic, so clearly I'm right,
> and in any case, I'm not on this earth specifically to please anyone.
> I know it will be very hard for everyone to change their bundle
> constraints, and to use the new refactored bundling of EMF, but it's
> for the long term good of EMF, progress is king, and nothing you say
> will sway me from my course.  And don't bother making any technical
> arguments because firstly, I'll throw those back it into your face and
> scream "progress and the committers are king," and secondly, I'll just
> argue that I'll find some way eventually, hopefully, probably, maybe,
> to address them all, so please be patient and expect and accept my
> half baked ideas in M2.  I'm so looking forward to your feedback
> (which of course I can ignore as I see fit) as you help me find the
> flaws in my designs. And by the way, the more noise you annoyed
> adopters generate, the more I'll argue that my whole approach of
> simply inflecting all this upon you without warning and without
> recourse has worked a charm.  Isn't that all simply charming?
> 
> Everything I said above is 100% counter to what I've grown to expect
> from other projects at Eclipse and what I feel is expected (and yes
> required) of me personally as a steward for widely adopted technology.
> So I'm definitely not pleased by your provocative commentary.  I
> suggest you be careful with that approach because in open source what
> goes around comes around.
> 
> More constructively, I suggest you move this to a branch and provide
> branch builds for adopters; it's seems you've not made that decision
> yet.   Technically you'll need to consider carefully the poor
> interaction between arrays and generics.  To make to make sure it all
> pans out and to understand the cost of doing so, you ought to refactor
> the entire platform's code base, Equinox, JDT, and PDE included, to
> accommodate this new design.  After all, how else can you assess
> whether the new approach really makes a significant portion of the
> code significantly better?  While you're at it, you might decide to
> finally get rid of all your existing raw type warnings.  If that all
> sounds daunting, consider carefully what you're asking of your adopter
> community.
> 
> Regards,
> Ed

I'm just back from my vacation and did not really planned to take part
in this discussion, because a sort of technical consensus seems to be
achieved already, but I find your scenario really important, because it
might happen. 

Some day, for some project. 

Maybe not necessarily for EMF, because of personally you being the
guardian. It is good for EMF to have you as a commiter, but it is
definitely not good to have nearly only you as a contributor [1]. EMF
without you would instantly enter maintenance mode (aka "die"). 
Monolithic contributor group being significantly smaller than the
adopter group resembles tyranny very much, and it is all OK (or even
desired) as long as the dictator is the enlightened and active one
(which happily is true for EMF), but, in general, larger
consumer-contributor base would ensure that no sudden and drastic
changes happen to the project.

For this reason I find your scenario rather supporting John's statement:
"[...] I have a clearly defined obligation to enable the project's
contributors to make progress in the direction they want to take." :-).

Of course it's up to a project to define how open it would like to be,
but I believe one of the biggest sins of *any* development to limit
project scope strict to dependency APIs, without caring for the entire
stack (and providing 100% binary compatibility makes you a partner in
the crime ;-), although some balance is necessary, of course).

[1]
http://dash.eclipse.org/dash/commits/web-app/summary.cgi?login=y&year=x&top=modeling&project=modeling.emf.emf&company=individual


-- 
Krzysztof Daniel <kdaniel@xxxxxxxxxx>
Red Hat



Back to the top