Hi!

On Sat, Sep 17, 2011 at 00:10, Bert Verhees <bert.verhees at rosa.nl> wrote:
> The main reason is, the Linux Kernel development must not be
> depending on a single person or company. That is too dangerous.

I think this "dependency" is one of the key things to consider
regarding openEHR too.

When it comes to version control of software I don't think it it would
be a _huge_ problem if we used a free commercial solution in the
cloud. If they start giving us trouble we simply move the code
elsewhere. It's still a problem though since we might lose the old
versioning history of the project. Tagged releases could be kept as
zip-files of course, but the continuous history is lost. Git is
different, everybody that wants it can have the complete digitally
signed tamper-proof versioning history. There is technically no single
central point of of control in GIT (even though you can socially set
up your project to work in a centralized manner regarding release
related branches etc if you wish). Thus if we use a commercial Git
provider like Github we could move elsewhere without losing versioning
history.

But again, regarding software up to now we have not had many
independent branches and most important design discussion and
announcements are facilitated out-of band in mailinglists rather than
via the versioning control comments etc so losing version history
might not be too disastrous.

Regarding archetypes on the other hand most discussion is nowadays
done in the combined CKM versioning & discussion tool, so losing
history from that combined repository would be a very bad thing. So if
we would be using a version control system as underpinning for a
future CKM alternative or for some kind of archetype "nursery", then I
think Git would be the very best way to go. Everybody that wanted a
copy could of the complete history could have one and you could in a
controlled manner at the same time follow and reintegrate development
work from local/national efforts etc. If we at the same time could
integrate the technical backend of the clinical
discussion/communication regarding the archetype development too it
would be great. (That does not mean that clinicians would be forced to
understand GIT - a clinical frontend GUI could be similar to the CKM
or whatever.)

So some suggestions:
- Let each software project pick their own versioning mechanism, but
perhaps try to agree on hosts, e.g. use cloud-service X for SVN and
cloud-service Y for GIT so that developers involved in several openEHR
projects don't need to register accounts in too many places
- If any future functionality (like CKM++) is BASED ON a versioning
control system (rather than just using one) then make sure it is open
source and that complete history is not only kept at a single point.
Git would seem to be the obvious choice here.
- If a unified issue-tracker service could be used for all projects
then that would be preferrable. Also here it is important to use an
open or decentralized system so that the issue tracking history does
not get lost if a commercial service changes terms or goes bankrupt.
- Regarding dependency and vulnerability I also think it's important
that (as in the Apache organization) every openEHR board and
sub-project has members or "committers" from at least three different
economically independent organisations.

Best regards,
Erik Sundvall
erik.sundvall at liu.se http://www.imt.liu.se/~erisu/? Tel: +46-13-286733


Reply via email to