The Need for Integrated Open-Source-Systems and How To Get There (Call for Participation)

von Timo Kucza (Deutsches Forschungszentrum fr Knstliche Intelligenz (DFKI) - Institut fr Wirtschaftsinformatik)

** Intro
Most functionality for everyday needs is available via open-source software. Yet, many people and organisations are still stuck to using commercial software. There are probably various reasons behind this behaviour, but I assume that from an end-user-perspective the integration of different projects to one functional unit is a cornerstone in achieving more acceptance for the open-source alternatives. The problem is how to get there. But first let me demonstrate with an example how I see the current situation ...

** Example
I will try to explain this upon the example of various kinds of communication solutions (chat, mail, file-exchange, social networks, maps, and telephony) that many people use today on different plattforms (mobile phone vs. desktop computer). For all of these open-source-solutions are available. However, there seems to be no easy way of setting up all of these so that they can be easily used by end-users, as for example Google does with GoogleMaps, GMail, GoogleTalk, GoogleDrive, Google+, and GoogleDocs and according interfaces for Android and the browser. One can exchange these with Microsoft, which has its alternatives. While Google is actually using open-source behind the scenes in many cases, it can be considered obvious that the personal data one provides to Google by using those services is used for purposes most people actually do not want. So why do people and organisations do not use their own servers for example running OpenStreetMap, Zarafa, OSTN, SeaFile, WebODT, XMPP, and Diaspora (just to name examples, there are further alternatives) to achieve the same? My assumption is, that the main problem is missing integration to get these all to run together "nicely". This escpecially also concerns details like how do I get my secret keys from my desktop to my mobile? This is not only relevant for e-mail encryption, but also for secure chatting like with Pidgin/OTR on a Linux-desktop and SecureChat on an Android-Mobile. Building an according infrastructure with the open-source projects is a difficult and time-consuming undertaking that at the current state hardly can be managed by one person alone. Yet running ones own server with these services is exactly what seems to be needed in the "Aera after Snowden". So the question would be: How can we get there?

** The Idea - How Conceptual Modelling Could Help Us Achieve This
I would like to propose using conceptual models to communicate what single projects cover and what interfaces they offer to integrate them with each other. Process models can be used to describe functionality while data models can provide concrete data-structure needed for integration. Both are well-known and established methods in science and also used by businesses. So what would it need to use them for open-source projects? Well, first of all an open-source modelling tool. While there are some tools around I know of none that would fulfill all the needs. However, the Oryx platform seems to be a good basis. So at least that is a solveable problem. It further would need the knowledge of according projects to create the models for that project. If we only consider the models (processes + data structures) relevant for integration, this probably wouldn't even be that much effort (if tool and modelling knowledge is available). For easy integration with each other there migh arise the need for modifications in the projects, like for example integrating authentication mechanisms or access to other projects data-structures. The efforts for such activities are hardly predictible. But knowing what would be needed to achieve better integration would be a big step towards actually doing it, right? Finally it would be nice to model scenarios (like all the communication-streams from the example above) as a reference-model. Different projects and what processes they cover could then provide variants of such a reference-model showing different ways to achieve certain goals, like for example covering the scenario from the example above.

** (How) Can we do this?
Interest and participation from the teams working on according projects will be necessary to get there.

(Q1) Are there any project developers present/known to you that might be interested? I would like to collect contact details of interested people/projects to see if we can get something started in this direction.

While I am personally willing to assist in any undertaking in the described direction, my time is as limited, as probably is that of the project's developers. Therefore, getting funding for the work on modelling as proposed above could be key to achieving good results or even results at all. At the research institute I work at we mostly do projects funded by the government or the European Union. Integrating open-source teams to such projects seems to be a problem, if they are not represented by companies or other kinds of official organisations.

(Q2) Do you know about good practices, how to involve open-source project-teams in funded projects? If so, please let me know. I would like to bring this forward but I am unsure how to ...

** Scientific perspective
Finally, from a scientific viewpoint, there are interesting question to explore. Firstly, this concerns what parts of these processes can be assisted or even automated (code- and/or log-analysis and automatic generation of models and mapping concrete project-models against reference models. Secondly, an according project could provide a valuable evaluation on the usefullness of conceptual modelling itself. It seems that conceptual models are today mainly used within single organisations, so that the usage accross different projects would be interesting to evaluate. Open-Source projects seem to be very well suited for this, so that it seems the question of funding and how to get an according project on the way seem to be the major issues here. Without participation from the project-teams (having all the knowledge of the specific project) the amount of work required seems to be too large to handle.

Über den Autor Timo Kucza: