Hi Goktug and John,

Thanks for your answers, here's what I can say to be more explicit in my 
thoughts

@Goktug
  

 you were basically asking about exposing a method from a class that is not 
even 
a public API in the first place, which basically means "please start 
maintaining the API of some internal implementation detail for my use case"


Usually, internal APIs are in a package named "internal" because they are 
subject to change and the architecture is still not clear (the first 
iterations usually). I experienced this in the years 2005 (already at that 
time) when I was at Omondo and we needed to develop plugin features even 
using those cutting edge libraries (at our own risks of rewriting at the 
next eclipse version). The libraries were marked "internal" but were still 
designed well enough so we were able to use them (that's why I mentioned 
that the protected access should be the default one in open sources). 
Naturally everything was not blue sky at that time, but it was great to be 
able to know that we take risks by using those libraries (marked "internal"), 
and at the same time to be able to use them (at the same risks as the 
eclipse team itself).

So to mark a library as "subject to change" or "only for experts" you may 
write it explicitely in the docs, but I don't see the point of 
overprotecting the developers by forbidding them to enter the zone, or 
considering it's too hard and dangerous for them. I pointed the 
consequences of "forbidding" zones at the first mail here : saying it leads 
to forking the project. That's definitely not a good strategy to get people 
consider them selves at home. I prefer warning but letting people do at 
their own risks, you might be surprised of what the community can do (and 
as I said, it's completely valid to refuse to treat bugs on a part that is 
marked as "subject to change"). 

So that's why I proposed to make the necessary methods (not one method, I 
was talking about roughly 20 classes) accessible from the outside to permit 
extending GWT in that part (even as independent libraries) without having 
to fork GWT (or extract those too restricted classes)

@John
      "in any community project, whoever cares about a feature the most is 
the one that designs it, convinces others it is worth including, and 
implements it"

I agree with you, I didn't know how it works inside the GWT team, that's 
why I supposed the most votes features are given more importance. Anyway, 
what I was asking in that bug was exactly : "to permit access to the class 
members so I can do a lib that relies on it without having to fork a part 
of GWT". 

//---------------------------------------------

We left the principal subject and focused on a specific bug, I think it's 
good to do this but to a certain extent. as long as we don't loose focus on 
the subject of the post, which is not that tightly related to that bug, 
even if it was triggered by it. The subject is more "procedural" than 
technical

I was thinking about Ubuntu that raises the xx.04 versions that are 
maintainable for some years and the xx.10 versions that are more 
experimental. Having a similar model for GWT with the community releases 
and the incubator releases might be an answer to permit both a stable and 
head and a dynamic community move?... I wouldn't like to reinvent the 
wheel, I'm wondering what can be done to allow the community to feel like 
home on the GWT project. Ideally, people should be able to try patches 
independently (somehow as plugins) and the GWT team can have visibility on 
the most popular patches that might be candidates to the head version (or 
are worth thinking on how to specify them cleanly). 

This would imply having versions of the GWT incubator (not a constantly 
moving trunk) and a system for dependency control (gradle, maven, ant) 
between both module-module and module-GWT builds. A similar system was used 
for the browser plugins, which showed to be complicated, especially when 
modules depended on each other (an app the uses flash that is compatible 
with a certain version of the browser)

Take as an example what I'm adopting now (for the bug I submitted): I 
prefer to change the GWT core code locally and maintain my code working on 
the core code each time a pull a new version than copying the GWT classes 
to my own library where I will have to do manual comparing of which class 
became what in the next GWT version (loosing the git history of the files).

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/86ef2834-ca05-43a9-9402-91539bd03f40%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to