|From:||johann Sorel (sore...@inbox.com)|
|Date:||Dec 18, 2010 4:11:10 pm|
I have been reading the previous discussion on the harmony roadmap and the
little message on the web site motivated me to make this proposal. "If you have an idea, come and join the community and talk about it."
So here it is, first to quickly introduce myself and what I'm working on. My
domain is Geographic Information Systems, developer on several java projects
like GeoAPI, GeotoolKit, Constellation, Puzzle-GIS ... In the last several years
I have always been very enthousiastic when developing and worked both on my
professional and personnal time for thoses projects. My work implied working
with ISO, OGC specifications and also JSR, even being part of the elaboration of
some of them at the OGC. Today my motivation is nearly gone after the death of
several projects I liked and mostly the behavior of oracle against the
I started exploring alternatives outside the java world a few months ago and
found out the Parrot VM project, to resume quickly what it is, it's an agnostic
vm not related to any language and provide a set of tools to 'parse' syntaxe and
run different languages, also allowing high interoperability between them. It
believe it has a bright futur because that's the way a VM should be.
Since it is now unlikely that harmony will be a 'validate' jvm, my proposal is
to change harmony to match a similar goal as parrot, an agnostic VM with java as
the reference language and start implementing other languages. Java is a great
syntaxe but not always appropriate for all works like small parallal tasks and
scientific operations / formulas. MatLab for example is much more used in
research areas, python also has a growing community in this domain, java is just
too complex and they don't want to bother with it and I perfectly understand
there concern. Same thing for web applications, there are plenty of alternatives
out there which are effective and have growing community.
There are 3 objectives for this new 'Harmony':
- make a neutral VM, not a JVM.
- allow companies who want to move away from java to do so. this can only be
possible when there is a high interoperability between languages, to enable us
to use our old java libraries and tools (maven,ant...) with different languages
while library are progressivly rewritten in some other language. - write programs in different syntaxes when they are more appropriate.
Actually, alternative langages like Fantom or Scala run correctly only on a JVM.
This gives them very little credit as replacement for java. Having a neutral, free and open source VM would benefit the community and
creation of alternatives. As I imagine it, there would be a very slim crossplatform Harmony core project
providing the low level mecanism : native interfacing system, exceptions,
debugging/profiling, threads. And several sub projects for each language.
You don't even have to rename the project. the 'Harmony' name perfectly matches this objective. :)
I don't want to see harmony dye because of some legal/license problems, you did
a great work to make this vm, all the core for a neutral VM is done, don't let
it all go to waiste. If the JVM path can not continue, then so be it. See
further, what needs the futur of programming ? Now, if the worst scenario happen and the decision to stop harmony is taken,
then for the sake of futur vm projects make a generous effort and release a last
version in public domain.
The apache foundation expressed it's opinion and quit the JCP. I don't think
it's a surprise, it's a natural decision after what happened. I am not part of
the apache foundation, and made only very little exchanges with it on some
mailing list like jackrabbit. This is actually the longest mail I ever written
on thoses lists, just to note that apache decision reflect not only the apache
foundation but also developers outside.
What I see around me at work and as moderator of development forums are three
kind of peoples : - base programmers, for them what does oracle is not there concern, they code,
they get payed and that's all. - Commercial, as long as it sells, it's fine, but if you raise a small phrase
like : 'hey, if we can make run our app on ZZZ vm, that's a good selling
argument and since we only do LGPL libraries that's one more point for our tools
don't you think.". they get interested, anything is good to use for promotion,
making the jvm look like evil is pretty easy, clients get's attracted to the
fact that they are not binded to some big company, that's specialy true when you
work with research and public instituts who are surfing on the "open-source"
belief. - Inovating programmers, doing more then their job time, answering student
questions on forums, lead there own projet aside from work, thoses are the real
strength of open-source, their main motivation is not money but the sake of the
project and leaving behind them something helping the community. They are
concerned by what does oracle, most don't like what's going on but are chained
to continue because it's too much work to start again in a different language,
and they can't really express themselves since commercial are behind them to
ensure no harm is done to the company, the general atmosphere is something like
"damn I'm trapped" or "let's hope it calms down".
My concerns are not for the two first categories, but the last one, if there is
a chance to move away without loosing the work done then they'll definitly try
it and the two first categories will follow. If Harmony can offer this small
door to exit the trap then Harmony will won. I believe apache Maven is the key
project, if a project can run with dependencies of different languages and
bytecodes, you won!
that was a long mail ... sorry :) I hope my english wasn't too bad and that it gave ideas.
____________________________________________________________ TRY FREE IM TOOLPACK at http://www.imtoolpack.com/default.aspx?rc=if5 Capture screenshots, upload images, edit and send them to your friends through IMs, post on Twitter®, Facebook®, MySpace™, LinkedIn® – FAST!