Open Source strategies in a federal office - migrating from closed software to OS development


Formal Metadata

Open Source strategies in a federal office - migrating from closed software to OS development
Title of Series
Part Number
Number of Parts
Lechner, Marco (German Federal Office for Radiation Protection)
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
FOSS4G, Open Source Geospatial Foundation (OSGeo)
Release Date
Production Place

Content Metadata

Subject Area
On of the task areas of the German Federal Office for radiation protection (BfS) in an case of a radiological emergency is to collect available and capture own relevant data, process and evaluate these and create documents including the necessary information to enable the crisis unit to make the right decisions for emergency preparedness and response. Some time ago, the BfS started to migrate from a proprietary monolithic system to an approach combining several OSGeo projects into a whole emergency system, including PostGIS, GeoExt, OpenLayers3, Geoserver, GeoNetwork and MapfishPrint and other software even from non-Geo but Open Source projects. To fill missing links between software components and to meet all demands of radiological disaster management, the BfS does not only use Open Source GIS software, but started several own software projects using free licenses as well. To seriously follow the Open Source strategy the BfS started to publish some of its projects using GitHub as a commonly used platform for Open Source projects, but not a common way for a federal office. The talk presents GitHub-driven Open Source projects of the BfS embedded in an OS driven software stack using several well known OSGeo projects.
German Federal Office for Radiation Protection
Human migration Meeting/Interview Scientific modelling Software Open source System programming Thermal radiation Office suite
Metropolitan area network Open source Software developer Open source Nuclear space Iterated function system Bit Food energy Maxima and minima Maxima and minima Computer animation Strategy game Personal digital assistant Thermal radiation Software System programming Thermal radiation Office suite Software testing Process (computing) Hazard (2005 film) Office suite Arithmetic progression Task (computing)
Model theory Decision theory Nuclear space Bit rate Mereology Field (computer science) Workstation Measurement Natural number Phase transition Thermal radiation Process (computing) Hazard (2005 film) Units of measurement Metropolitan area network Hazard (2005 film) Information Decision theory Workstation Point cloud Computer animation Thermal radiation Field (mathematics) Natural number Equation Electronic visual display Units of measurement Task (computing)
Area Summation Natural number Calculus of variations Emulation
Decision theory Model theory Multiplication sign Workstation Time series Point cloud Measurement Computer animation Lecture/Conference Field (mathematics) Website Office suite Electronic visual display Units of measurement
Point (geometry) Metropolitan area network Theory of relativity Information View (database) Point cloud Calculation Computer animation Causality Software testing Office suite Units of measurement Units of measurement
Web page Ewe language Decision theory Model theory Decision theory Workstation Point cloud Bit Measurement Summation Centralizer and normalizer Digital rights management Goodness of fit Computer animation Personal digital assistant Pareto distribution Field (mathematics) Electronic visual display Units of measurement Conditional-access module Physical system
Decision theory Model theory Decision theory Moment (mathematics) Workstation Point cloud Motion capture Summation Measurement Category of being Independent set (graph theory) Computer animation Software Field (mathematics) Dependent and independent variables Right angle Electronic visual display Units of measurement Units of measurement Sinc function Oracle
Moment (mathematics) Java applet Insertion loss Software maintenance Process (computing) Independent set (graph theory) Computer animation Software Database Software Electronic visual display Right angle Block (periodic table) Oracle Oracle
Standard deviation Service (economics) Electric generator Geometry Software developer Java applet Mathematical analysis Line (geometry) Software maintenance Software maintenance Component-based software engineering Finite element method Independent set (graph theory) Computer animation Telecommunication Software Visualization (computer graphics) Utility software Block (periodic table) Physical system Units of measurement Physical system
Product (category theory) Service (economics) Connectivity (graph theory) Multiplication sign Mathematical analysis Staff (military) Strategy game Software Office suite Conditional-access module Physical system Metropolitan area network Boss Corporation Service (economics) Standard deviation Block (periodic table) Software developer Moment (mathematics) Staff (military) Component-based software engineering Computer animation Software Office suite Right angle Physical system Resultant
Read-only memory Product (category theory) Open source Network operating system Connectivity (graph theory) Staff (military) Summation Term (mathematics) Software Damping Office suite Metropolitan area network Product (category theory) Software developer Moment (mathematics) Functional (mathematics) Open set Component-based software engineering Computer animation Software Repository (publishing) Office suite Physical system Modem Wide area network
Product (category theory) Open source Software developer Open source Letterpress printing Design by contract Staff (military) Generic programming Staff (military) Code Wave packet Inclusion map Component-based software engineering Summation Latent heat Arithmetic mean Computer animation Software Software Process (computing) Physical system Library (computing)
Product (category theory) Divisor Code Connectivity (graph theory) Design by contract Generic programming Staff (military) Code Wave packet Software Physical system Metropolitan area network Process (computing) Software developer Projective plane Element (mathematics) Open source Component-based software engineering Inclusion map Category of being Latent heat Computer animation Software Physical system Wide area network
Mobile app Product (category theory) Block (periodic table) Geometry Server (computing) Connectivity (graph theory) Bit Letterpress printing Heegaard splitting Independent set (graph theory) Computer animation Software Computer network Electronic meeting system IRIS-T Decimal Oracle Sanitary sewer
Mapping Block (periodic table) Geometry Server (computing) Connectivity (graph theory) Real number Software developer Scheduling (computing) Staff (military) Power (physics) Component-based software engineering Mathematics Process (computing) Independent set (graph theory) Cache (computing) Computer animation Term (mathematics) Computer network Database Quantum Process (computing) Office suite Oracle Physical system
Point (geometry) Server (computing) Scheduling (computing) Mapping Service (economics) Code Letterpress printing Time series Metadata Open set Variance Maxima and minima Mathematics Computer network Process (computing) Service-oriented architecture World Wide Web Consortium Addition Service (economics) Standard deviation Mapping Geometry Software developer Scheduling (computing) Letterpress printing Stack (abstract data type) Cartesian coordinate system Component-based software engineering Process (computing) Computer animation Software Internet service provider IRIS-T Limit of a function Probability density function
Mapping Bit rate Linker (computing) Computer network Energy level Service-oriented architecture Process (computing) Office suite Subtraction Units of measurement Physical system World Wide Web Consortium Service (economics) Information File format Content management system Geometry Software developer Moment (mathematics) Letterpress printing Stack (abstract data type) Cartesian coordinate system Component-based software engineering Plane (geometry) Computer animation Software IRIS-T
Mapping Service (economics) Proxy server Mapping Geometry Server (computing) Letterpress printing Content (media) Letterpress printing Mereology Emulation Maxima and minima Digital rights management Computer animation Computer network Computer cluster IRIS-T Normal (geometry) Software testing Process (computing) Probability density function Physical system
Proxy server Mapping Content (media) Letterpress printing Bit Letterpress printing Digital rights management Computer animation IRIS-T Process (computing) Object (grammar) Units of measurement Probability density function Physical system
Open source Code Decision theory Software developer Open source Code Bit Metadata Summation Computer animation Software Strategy game Uniform resource name Office suite Office suite
Slide rule Building Server (computing) Vapor barrier Computer file Open source Code Connectivity (graph theory) Programmable read-only memory Instance (computer science) Computer Summation Office suite Content management system Building Software developer Computer file Projective plane Moment (mathematics) Open source Code Client (computing) Binary file Plane (geometry) Computer animation Software IRIS-T Cloning
Slide rule Building Slide rule Building Server (computing) Software developer Projective plane State of matter Staff (military) Staff (military) Summation Computer animation Phase transition Office suite Cuboid
Slide rule Slide rule Server (computing) Software developer Multiplication sign Bit Quantum state Summation Computer animation Extreme programming Lie group Cuboid Sanitary sewer Wide area network
I think that if you have already in the
model all right on his talk on the history know all might post-hoc you will as well the this year much of a year or so not the and we find that the column will have a related to the last session today is the last thing you will really not a lot of and I will
tell you a little bit about all these tools strategies the federal Office of offices in Germany usually means that you want to change something we want to move things forward in case of it is possible at all and if you will of expect me to use solution out you them all is you can do the overall that and that you do not affect much so more homes talk work in progress about things that we tried to and so on so far away that you're looking at is
already should actually based on working there is little more than 1 year the overall open-source GIS Development in Norway and the German Federal Office for Radiation Protection is the use of the partial and during the offices that is made past to protect people from radiation after the maximum of it's to the energy bill in the use of walls of implemented in the various diseases as little more than 25 years and we try people then different
topics with have 2 of the equations and 1 thing of of course is emergency preparedness that means that people maybe harmed by you united the radiation from natural of course also many activities but also him causing hazard then in the other is that it has to be or that has to
deal with the problem of not will lead you know real people out but we do all the things collect information that crisis unit units is able to do there is a long 1 on the knowledge of the part of the of the of the other thing is that we can capture it the Americans and all data and when also other the data that might have making decisions and 1 of the reasons we are have about 1800 stations pondering radiated heat in the field of fire they 1800 station on all of
Germany and on this now because the of those really really pretty huge amount of
variation natural radioactivity in the area that on their end where the journey so
these are the measuring realizes that when you walk through the long or you 1 of our website you might see where they are and look at it as you can see the data that they good old times the look at time series and
so that was not thinking emergency but we're collecting the data of course all the time to make there is an emergency you already have to just do not realize that we
also going a little emergency the German Weather Officer and running dispersion models for cost for example related around where it will give that and so information you have unit prices you can figure it is the places where people name you are and all that is 1 of of calculations that half of the and we're initially is on the on your point of view on the left side there is no condemnation of slowly which intervals of causes small really accident that happened but this is an exercise and
there is so relations are already done this in years
so I will review it only and filtering data all we have here is documents and made In the case of humans that and available in a centralized management system while it is believable that we have to do the same world prices there will not be able to deal with knowledge of maybe a little bit on the Google Maps not really good decisions analyzes and you will be using them again this year utilizing Pareto their decisions on what is based
on that the the so therefore we have common management that collects all the data collected generates documents from and so on why and injuring page where prices you can see in the house with the United
Kingdom at the moment and have made their decisions on that so this is
a document collection on prices units on
our hours to make the best decisions for emergency preparedness and response and overly of human rights of course the software already exist we a productive property we years since arm and this article we only realizes versus you
find there is used to software right at the moment we have a lot which is the situation displays of competences and there's some oracle database background data problems that thing is being used to because these 2 is a holiday job loss especially you know for all around here but
it is all clear it long-standing growth but it has very the feature really satisfying our needs will it's proletarianization like this piece of work but we are depending on
what they see long as the company not 1 of those that you want and we have really high and increasing costs for annotating any further development and that 2 or 3 years ago was 1 of the main reasons why we said we cannot go on with this situation we have to find a new way so those positive things especially developed for us OK I don't know if that's good or bad and really satisfying our needs sounds good but depending on 1 single company and high and increasing costs for maintenance and for the development so they just code 1 line then we are not allowed to be coded for for than costs really a lot of money so we have chosen
to go a different way so and we have new requirements was set from all in all during the last years geographical with utilization and analyzes became more important and that's what the old system notes the running system is definitely missing so we need a solution having more geographical with utilization and analyzes of course at the end for the crisis units it's still comes out to be documents but the gene generating of the documents that so we we need more geographical Stefan at that if we wanted to have on the continuous development in our own hands not being dependent on 1 company empress said a
monolithic software block is not what we really want to we want to split the software up in several components that have 1 of the components that do not work anymore because the situation changed we just have to change this small or replace the small component and replace it to a different 1 we want those components to communicate to each other using international standards and if it comes to geographical things then of course those standards might be based on OGC we want a service based approach and what came to us is that our office also and yields the or create some data that are important for the inspire and therefore we also have to publish data and we want to publish it from in the way inspire tells us to do on all my boss said and at the end we want to keep it short and simple because even if we would have the the rights on the software that we're running at the moment I'm and it's so complicated that nobody besides the company that developed its is able to maintain it so from our aim is to replace the productive system running at the moment within a few years so our time slot at the moment is 2018 shut down the system that is running at the moment and replace it with the 1 you want can so we still a federal
office not full of developers so well OK I came to the team may be as a result of the new strategy that's a lot of the staff has only basic knowledge in modern software development as say
in modern software development because most of my colleagues are or physicians or so they they did some c come see you on developing or something like this but if please if you talk about modern software development and repository in dealing deep-sky top or whatever on aging genes then this are terms they never heard of and of course we're office if we re engineered the functions of a software already existing that's a lot of work to do so we have the problem that we do not have enough manpower in our office due due to develop all those components that we need to replace the software that's there at the moment and we are not sure if there are already existing products that fit our needs because we didn't want to the memory engineer everything from scratch we wanted to use
software where available from that is commonly used yeah so new additional requirements are using existing open source software product with
dual topic that means using was to use that were possible to improve the existing before developing new software
we do know would not need to write some printing library if we have mapped fish print which has can do some development in fish print that it fits our needs but because we are not enough in our staff the main development of course is not done by ourselves but is done by external companies now that we have and contract of course if we have a contract this contract has to take care that they do not create a software and we buy the software from them but they do coding for us and the coding is under open-source and so whatever they do do later on hopefully they stay with us but we still can use the software and can do with it what we need to but after 2018 when we replace the software our aim is to but to be able to do further development with our own staff meaning that we have to qualify our own staff including training by the external
companies doing workshops during code sprints within our company with external companies and this of course component-specific on we said we want to try to use generic approaches when developing not very specific that it always fits our needs but if it's the if it's possible to go for a generic solution that can be better fed into 1 of the existing projects let's do it that way i'm and all the further development of software
components after the main development onto the replacement of old system shall be possible by the old stuff that's what I already said training is 1 of the the main factors that we have to take care of it doesn't help if in 2018 external companies and did all the coding for us and we have the code we could use it to but we cannot because we have no idea how the code works element of some connected with that is L and introducing modern methods of development build process and deployment and of course after all those nice things what we all want to do the financing of the whole thing is a question because it's much more expensive so and then staying with the old property every company and then it doesn't really work out that the financing thing was possible and since I guess about 2 years of development or 1 and a half years it seems to be slightly working and that's what we that that always might work and we need much less money than staying in contract
with gold product so the old was very simple because it was 1 monolithic block our new
concepts is a little bit more complicated but that's normal if you have 1 software that does everything it does everything in itself and just put it up in several components that it comes out that there's a lot of things some to do splitting up and so that's what our new concept looks like so what what does it do then detail so we have not an
oracle database that will be substituted by
PostgreSQL those JRC not really a big thing in our own and with our things found in the old system there was just a small GAS component was this term included in this job block that will be replaced by an that g ideas of development based on basics and OpenLayers 3 and already some of coach changes that happen to G x 3 are based on on on our development for power users our target is to on to train the staff and to use quantum GI as within the office but that's only for the real power users that do more complicated on GIS analyzes so that's not really I'm not yet from
happening a lot of a development we newly introduced of course was that we want to based on open standards server of there 4 for delivering OGC services and we some use gene networks to but provides the metadata and to our data layers we have to have because of inspire but we also use its arms to provide metadata for additional metadata for all layers that are commonly used by the GIS application so that that J has application because of the major data that it gets from network it knows what this layer can do not only do I have to call if I want to know anything there's something about this layer but later also knows or the metadata tells the GIS as that GIS application that this is a layer point layer having time series and if you but if you read utilize the time series of this layer that an it knows that for x axis you should use this label for epsilon axis this label and what the maximum values are what the time-stepping is and so on so that's all included in G. network with edges that might work but we will see and usually not a big thing for printing so generating PDF we want documents at the end of the we use map fish print the worship 3 also some small code changes have been undone but but really very little but it's a good starting point the few other things that are connected with OpenStreetMap that we or also processing to render our own background maps and we have fun as as jobs schedule I don't know if you have heard of that that some Java-based software that's really great for doing automatic jobs so what Kron drops to it does job scheduler really very sophisticated with the pending jobs and so on that's more dramatic thing not really depending on some justice so
of but it was also
necessary to do some owning application development so we're undeveloped 1 lab data software where a company is where where laps from in different and some laboratories are able to put in their data and tell them at the moment we working at the new link those missing link between laboratory data the from the way to we dualize it's in the GIS in a simple way from we developed as an O development of our of and content management system the system that collects the documents for the crisis unit and for this because we're dealing with regular gical data we had to implement an IR expect I guess nobody of you may have heard of Irix yet in the no it's not that I that I rates is the end of exchange format for regulating the ideological information that's used by all those some regular logical officers that's an exam now the warehouse lot of information can be put in for example you can put in whole documents that are
put into the XML and 64 encoded and so on and we have to use that for exchanging information not within our and software stack them necessarily but if we exchange data on the European or global level with EIA our other officers like that and then Irix will be the 1st work that has to be used to so now we need a solution on to use the PDF and make Irix from it and so on that was 1 thing that we developed some meaning and that usually when you
using the that GIS you can print using that FIFPRO and you get the PDF from it and with
Irix I'm saying the normal print requests usually sentiment fish print is just extended it with an Irix part and not directly printed onto map fish prints but is printed to and Irix of print service and these are explained service requests the PDF or PNG is from the map fish and to them collects all this puts it into direct 6 ML and sends it to our content management systèmes system that unpacks and makes nice content documents from it so here you
can see some little bit of this in closed object which is the base 64 encoded PDF within those are extinct the content
management system the print out from the GIS and then using MAP fish print and I expected but can be seen here from the from from the prizes unit and they can open the documents and conceal what they have to know 2 of them go for the
right decision for for the right decision with all the metadata that is connected with this document and so on so a few
steps further further on I have to hurry up a
little bit I guess some our own development using open source licenses that's OK that's what really is the way that we went to our we improved our in office coat built using Jenkins because some before our new strategy we had to some which has to get the software we just had to prove of the stuff works like we wanted and now we are we have to do with the code we have
to build it we have to look at the code is good so we have our we're running a Jenkins server during our and want to lower the barriers to entry um we choose to and add to our own development better build instructions example data and we ended up a file our own projects that it's easy for anyone wanting to run in 1 of our components and to just look at it so it's easy for them if you have our code you just need 5 commands and then you have the content management system running or you need for commands and you have to content management system running in the doctor container the last 2
slides I guess the last thing that is really missing is who can get the code and this is I think the most important thing usually when officers federal officers or national offices use open source and say they are doing open-source they use it sometimes they develop it so there might be a license file saying it's GPL a Apache but usually they do not use common ways to publish it and that's where it was not easy but we managed um that we were allowed to to really publish or a coating on the happen of course there might be discussions as if it had the role of the right way but if you want your software to be found than at the moment I guess did have is the right way and and so we do not only use and to develop our software we all always also publish it and get up and we as a federal office are allowed to publish it uh which was a lot of discussion within our office and if anybody uses it wants to use
it it's possible so we have no idea and this is definitely my last slide if some kind of community building will happen we have no idea what if other German countries join
our projects or international office would join our projects we will we do not really know if it works to qualify our own staff but we are working hard on that and we do not yet know if further developments will be small enough that we can handle it on our own but we doing the best that this we really happen at the end of maybe we stay together with Our some external companies that's to help us with further development but it's still that our hands that are on the projects and
that's how all this goes together in our development and that's really confusing slide that's why
I think you and thank you for giving me a little bit more time that usually I have maybe 1 or 2 questions thank you


  701 ms - page object


AV-Portal 3.9.2 (c7d7a940c57b22d0bc6d7f70d6f13fde2ef2d4b8)