# New open source ADL2-Library **Category:** [Implementers (archive)](https://discourse.openehr.org/c/implementers-archive/158) **Created:** 2015-10-28 17:19 UTC **Views:** 3 **Replies:** 6 **URL:** https://discourse.openehr.org/t/new-open-source-adl2-library/13894 --- ## Post #1 by @system I would like to announce a new open source ADL2 library, written in Java\. It is based on the ANTLR\-grammar released very recently by Thomas Beale\. You can find it at https://github.com/nedap/archie It is still very much in development, but it is now at a state where it could be of use to people\. It currently features: \- an ADL2\-parser that parses the full definition, specialises, terminology, value sets and \(a subset of\) rules sections \- an archetype object model implementation \- a flattener that can also make operational templates \- still needs testing and work\! \- basic path queries with node ids and node meanings\. \- an experimental Archetype treewalker for openEHR reference models ­ it can save you many instanceof calls\. It parses most valid ADL2 files i¹ve tested it with into an archetype object model\. That includes most of the content of the clinical knowledge manager\. We¹re currently using this same library for an openEHR implementation and we will add features, fixes and tests to it as we progress\. You might ask, why a new library? Don¹t we have adl2\-core already? The answer is quite simple: licensing\. We could not use the adl2\-core library for our projects, because it would require us to release the entire project under the \(A\)GPL\. So we ignored the existing library and built our own\. And now we release Archie under the Apache license\. This means you should be able to use it in any project you like\. Want to help? Great\! There¹s a list of missing functionality on the github page\. Just fork and create a pull request\. Or just report any issues you find on the github issue tracker\. Regards, Pieter Bos Nedap Healthcare --- ## Post #2 by @system Thanks very much, Pieter, great job! Bert --- ## Post #3 by @system Great news! Apache 2 is a good licensing choice, that is what we recommend for openEHR open source projects, although some contributors have felt reasons to use other licences. Apache 2 for example makes it easier for some companies to allow staff to spend paid working time on improving industry/community-shared open source components that they use in their closed or open platforms. Nowadays I'd guess more openEHR software implementation work is done by business employees during paid time than by volunteers using their spare time. Having more ADL2 parsers does bring some extra benefits: - compatibility tests and discussions can clarify the specification if needed - more of the possible design space is explored by more teams that can learn from each other However having a dozen of open source ADL2 parsers would probably be a waste of developer effort. I think the same goes for archetype/template editing tools, having a handful of tools explores more options and brings up more good discussions than having a single one, but having too many would potentially be a waste of developer effort. --- ## Post #4 by @system A small remark, Erik, I don't know why you write this, looks in this way like a congratulation with a remark\. We have, for example, many editors for Java, text, documents, all kind of things\. I would not regard that as waste, but as innovation\. Competition keeps the quality high\. For example, I am sure the effort of Pieter Bos improved the quality of the work of Thomas, and there is nothing bad in that\. Let thousand flowers bloom\. Encourage many ideas from many sources\. Best regards Bert Verhees --- ## Post #5 by @system Hi! It was not intended as a remark towards new initiatives. Sorry for being unclear. You raise some good points Bert. I tried to be balanced, encouraging new openEHR work and alternative implementations, there is always room for more, but at the same time encouraging people to first look at existing efforts and see if they can influence/modify/widen those to fit their needs before starting yet another effort since the openEHR community has still has many other software needs that would be worth spending time on. Regarding ADL2 parsers there was certainly room and a need for an Apache licensed one now. I understood Marand's reasoning behind releasing their ADL2 implementation under (A)GPL, but personally thought it was not the wisest licence choice for a component that we want to see maximal reuse and testing of, also in "industrial" settings. (Marand already knows my views on this.) So if there was something of a hidden remark in the message, it was more like "look, this is what may happen if you release reusable openEHR components under (A)GPL, people will need to redo the work mainly for licencing reasons". But as I said redoing work has benefits too, like exploring more options, learning, creating more choice and testing/validating/clarifying specifications in more ways. Having another ADL2 parser will make ADL2-adoption and specification even more mature. Personally I hope that also new web based archetype/templating tools (see [http://www.openehr.org/news_events/industry_news.php?id=134](http://www.openehr.org/news_events/industry_news.php?id=134) and [https://goo.gl/7Cd52R](https://goo.gl/7Cd52R)) in due time will shift more over from (A)GPL towards Apache 2. Pieter &Co's work might influence that shift by provoking thought and/or providing an alternative ADL2 underpinning. :-) --- ## Post #6 by @system Thanks, Erik, for understanding my point\. I think that the best way is if there is a grammar\-description and object description which exists vendor and platform neutral in a liberal license, f\.e\. Apache\-like\. Mostly this is already the case, and where this is not, the foundation/community should take care that it will come\. Only in this way, OpenEHR can stay a platform independent/open \(standard\) specification\. Best regards Bert Verhees --- ## Post #7 by @system Good to hear you appreciate our effort\. While developing Archie we found issues in both the ADL\-antlr grammar and the Marand ADL\-designer\. We¹re very happy to see how soon after we reported them the issues were fixed \- Often even within a matter of minutes after reporting\. So it already has helped the compatibility of different tools \- we can now parse the ADL2 output of the adl\-designer\. About our motivation: we develop and sell software for the Dutch care market\. Our current EHR\-implementation works great for many organizations, but is not flexible enough for some others\. That is why we are looking at openEHR and developing prototypes for the next version of our EHR\. When we realised the improvements in ADL 2 and the limitations of the java reference implementation we decided we needed to switch to ADL2\. We found out there was no open source tool available we could use\. So we developed Archie and released it under the Apache license \- so others will more easily be able to develop their own tools, whether open or closed source\. And because we think that for a platform like openEHR \- the more people using it, the more benefit there is to anyone using or developing openEHR\-based software\. o\. Regards, Pieter Bos Nedap Healthcare --- **Canonical:** https://discourse.openehr.org/t/new-open-source-adl2-library/13894 **Original content:** https://discourse.openehr.org/t/new-open-source-adl2-library/13894