Please read my reply below
I believe that the 1.4 archetypes and 1.0.1 reference model will be /open/EHR for some time. If adl2 has a lot of advantages we may see archetypes transformed to a new syntax, but this is not a priority from the clinical perspective. In fact the need for stability is paramount and something we have been working towards for many years.
I couldn't agree more.
I like to see a "freeze" or even "finalize" as they say in Eiffel, and save that for a version where everything works and works together, and is a complete system. It really is very annoying to find every day pieces of code which don't even compile. It spoils so much of my time, and I am working under time-pressure (we all are, life is short). And the documentation is sometimes behind, or incomplete, but one can not distinguish that from docs which are up to date.
without trying too hard to make excuses, I will try to offer an explanation:
the openEHR work until end 2005 has been fluid, driving toward Release 1.0. As anyone with experience in software will know, in fact you have to get to the release after that to get rid of the little problems. In our case it will be Release 1.0.1, which fixes various annoyances and minor errors in 1.0. Release 1.0.1 is the baseline for software engineering. Due to spending most resources on specifications and standards for the last few years, the software is only just becoming solid.
So the community here I hope will realise that although now is the point in time when software starts to crystallize, we are sitting on some millions of dollars worth of public IP, in the form of (I think) pretty good specifications. Anyone coming in and expecting a completely clean compile, bugfree execution of the software today won't always get it. But they will within the next few months. Some might complain that "other open source is better". Indeed it is...for now, but almost all other open source is in its own non-interoperable data silos. Very few other open source efforts could point to design or requirements documents, or know that many others around the world are working with common information models.
So, yes the "finalise" in the specifications is pretty much there (i.e. the CR rate is now very low, and I believe easily manageable by normal software efforts); the finalise in baseline software to implement these specifications will occur over the next few months. (The actual act of publishing takes many hours of work as well).
Some of us have been working 7 days a week for the last few months to get the specifications and tools close to a completely stable state, but of course we also have to do paid work to survive. Release 1.0.1 we expect to have issued within 2 weeks, but for practical purposes, the documents in the Release 1.1 candidate area can be used now (if anyone is wondering, we initially planned to go to Release 1.1, but decided after making the subversion branch to target 1.0.1 first).
People who want to work on the Java and Eiffel efforts in a serious way are welcome to join - just email me (Eiffel) or Rong Chen (Java). The C#/.Net effort will start a little later when Ocean Informatics makes its openEHR C#.Net kernel available open source.
The reasons for my experiences are just as I expected (hoped) them to be, it is because of dedication to this job done.
It is a very good build of specs, and the following code is of highly professional level.
And I can only express admiration for those people which made this happen.
It is because of this admiration for the people and the quality of their work that I recommend OpenEhr to investors, even when knowing we will run into problems, because we are early birds. (Most of the problems are of the kind, of not being able to follow tight time-schedules.)
I know, I just have to be patient.
It is not that I want to criticize the project, that I bring up this subject, let me please explain my feelings.
I was confused about the 1.0.1 and 1.1 release-naming. This confusion also came from the fact that the third figure should be used for a bugfix-release and the second should be used for a minor feature-release. (Errors happen, now I know it is no problem)
I was assuming there were two developing lines simultaneous, and I was afraid, the next developing line would distrub the actual one, which then could result in published code, that would never be compilable, or compatible, specs which would never be ready. Already defining a new ADL-version (2.0) while there is on the same time a 1.4 planned which should be delivered in two weeks? I wondered, in what stage would the code be at that time, will the documents be ready on time. or will it something I have to figure out by trial and error? How could I be sure that a moving target would ever stop a split second at a point where I could use it? And how would I know when that split second was there?
Now, afterwards, Thomas and others have explained that the goal is to come to a stable and complete version, my doubts from before seem silly, but isn't that always the case? Many of my previous questions came from the perspective of this doubts.
Now I know, I just have to wait some time.
I still have some small questions, but I keep them for the pieces may fall together anyway.
I know, that involved people, like Thomas, and others, despite of working seven days a week to get this done, offer a lot of time in communications, especially on this mailinglists. This is good. But some communications are hard to find, I must have missed the announcement that 1.1 should be 1.0.1, that there is a ADL 1.4 on the way, that ADL 1.4 is the version which works with the kernel 1 (.0.1)
I also see sometimes there are only minor changes in the different ADL-versions, which is confusing. I would expect then, (again) the third figure to express the changes, so ADL 1.0.1, ADL 1.0.4, etc.
Again this is not a big issue, but can easily bring someone to wrong conclusions. (it did with me)
Still, besides the criticism, one should realize that communication is often very much worse at other open source projects. Some very good projects find it sufficient to have just a page at sourcefore. It is not often that projects are so well documented as openehr is. It is sure that there is a huge amount of time and effort spent in doing this.
Thanks for the convincing replies
Bert