The Right Approach: How Toscana Is Migrating To GFOSS
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 95 | |
Author | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/15585 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Place | Nottingham |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSS4G Nottingham 201384 / 95
17
25
29
31
32
34
48
50
56
58
68
69
70
82
89
91
00:00
Right angleOpen sourceGrass (card game)Digital signalCodePhysical lawSoftwareDatabaseSoftware maintenanceElectronic mailing listGeometryOperator (mathematics)PlanningInformationIntegrated development environmentOracleArc (geometry)View (database)FreewareProcess (computing)Data structureServer (computing)Axiom of choiceRule of inferenceGame theoryCore dumpUsabilityPhase transitionUbiquitous computingMathematical analysisFunction (mathematics)TopologyDevice driverSoftware bugLibrary (computing)Vertex (graph theory)outputData managementStructural loadWorld Wide Web ConsortiumTexture mappingSoftware frameworkDifferent (Kate Ryan album)Overlay-NetzPolygonLine (geometry)Artistic renderingData recoveryVector spaceField (computer science)String (computer science)Row (database)NumberSeries (mathematics)Dedekind cutComputer fileShape (magazine)BuildingLevel (video gaming)Archaeological field surveyTable (information)EmailComputer networkPerformance appraisalStrutElectric currentPoint (geometry)ImplementationService (economics)Formal grammarCurve fittingReal numberCASE <Informatik>Strategy gameCollaborationismFaktorenanalyseSystem programmingOperations researchSoftware developerMessage passingStaff (military)Machine visionQuicksortCASE <Informatik>Observational studyWhiteboardBlock (periodic table)BitNeuroinformatikCondition numberNumberExpert systemRow (database)Process (computing)PlanningData managementBuildingAxiom of choiceProjective planeDialectComputer programmingMusical ensembleSpherical capService (economics)Right angleTable (information)Figurate numberOrder (biology)RootGame theoryPosition operatorWordPhase transitionLocal ringComputer-assisted translationMassAreaState of matterWebsiteGreatest elementLevel (video gaming)Device driverRevision controlHypermediaLibrary (computing)Scripting languageCollaborationismMappingDecision theorySoftware frameworkSemiconductor memorySystem callFitness functionFeedbackNetwork topologyOffice suitePoint (geometry)DemosceneCopyright infringementDatabaseMultiplication signException handlingMereologyStudent's t-testWindowWave packetStandard deviationCausalitySingle-precision floating-point formatStrategy gameProgrammer (hardware)Computer configurationStructural loadGastropod shellServer (computing)SubsetCellular automatonFunctional (mathematics)Group actionSoftwareBasis <Mathematik>InformationCodeRule of inferenceDivisorInsertion lossSystem administratorVideo gameLattice (order)Data structureElectronic program guidePhysical systemUniverse (mathematics)Fiber (mathematics)ACIDSoftware repositoryInformation technology consultingProper mapSlide ruleMaxima and minimaVector spaceFreewareRoundness (object)Electronic mailing listTerm (mathematics)Direction (geometry)Software developerIntegrated development environmentOperator (mathematics)Plug-in (computing)Query languageStack (abstract data type)Virtual machineFlow separationPairwise comparisonFilm editingDifferent (Kate Ryan album)Digital photographyField (computer science)Web 2.0Symbol tableType theoryArc (geometry)Open sourceMathematical analysisSoftware bugGoodness of fitFunctional (mathematics)ResonatorEmailTheory of relativityInternet service providerComputing platformData recoverySpecial functionsCore dumpClient (computing)Address spaceHeegaard splittingWeightRotationMetadataExterior algebraOpen setPhysical lawXMLComputer animation
Transcript: English(auto-generated)
00:27
Well, actually, we had a poll throughout Europe, and people was asked which is the best place you want to be besides your hometown. It was Tuscany, et cetera. OK, so we were the first to issue a law on open source,
00:46
promoting open source. I'm not particularly in favor of laws of promoting open source, because usually there is something written on paper and nobody really applies. But it means that we have kind of a feeling towards open source.
01:02
More recently, we have an Italian law, a state law, where every manager has to consider the open source alternative before the others and has to justify his expenses on proprietary software. Of course, it's paper, but still, it
01:22
theoretically have financial consequences for the top manager of the administration. So it's something that pushes towards open source. In Italy, it's the regional administration who holds most of the data.
01:41
The state is more of a collector, and the lower level don't do much. But most of the things are collected at the regional level. So it's a fairly big region for Italian standard, at least. They got a lot of data, well, plus 25 plus terabytes
02:02
of data, especially imagery, but also vector stuff. They migrated all their topographical map to a proper database. So they have several databases of several hundreds of gigabytes. So it's serious stuff somehow.
02:22
They act as an inspired node. In Italy, the decision was to keep an inspired central level in the Ministry of Environment and to have the region as local nodes. And then they decide at the lower level how they want to organize. So they are obliged to publish the WMS, WFS, CSW, et cetera,
02:45
et cetera. You can have a look at what is published at this address if you want. OK. There are a number of people who's working on the JS
03:01
in the region. It's more than 400 people. They have central offices with a core team of the JS specialists who keeps the infrastructure alive. But they also have a number of local offices that deal with agriculture, forestry, engineering, bridges, roads, and all sort of stuff.
03:22
So it's a pretty diverse environment. And the mission of the Redonatoskana, all the region, is to produce first and maintain all the geographic information over its territory.
03:42
And it's a mandate of facilitating the access both to information and to the use of this information. So for them, having software that is usable for everybody, it's a plus. It's one of the important things for them. And in Europe, we have this ARUS convention
04:05
that requires states or region to publish their environmental data for public screening, just like in Japan. OK. They came from the usual stack.
04:23
So Oracle, Oracle Special, ArcView. They still had ArcView around since very recently. ArcGIS, ArcGIS for publishing on the web. So more or less what we are used to see, what we were used to see in the old days.
04:43
In 2009, they decided formally to get rid of this and to go for free software. And so the idea was to migrate the whole structure, both the server and the client, to geographical free software. In the meantime, they also are migrating
05:03
from another department. They are migrating all their desktop to free software. That's much more complex. It's a few thousands of people working. So you can't just go and change everything and put an Ubuntu machine on it. But they already migrated first to Firefox and LibreOffice.
05:23
And slowly, slowly, they eventually arrived at. But the fortune is that geographical entities, it's a bit separated. So they can go at their own pace. It was decided to work with the communities. That's one of the reasons why I like to do this talk,
05:40
because this was a non-obvious decision. So they understood early. That was a key factor for the success of the operation. And they want to contribute back. I see very often people that take and then less often people that case. Of course, it's not finished. We're still in the process of doing it,
06:00
but we are quite advanced. So I mean, we passed the point of no return. So I think I'm entitled to talk about that. So it was very, very clear from the beginning that all people that work on this project must be committers of the project they are used.
06:23
That was, I think, a clever thing. Well, it was very good for me being a committer, but I think it was good because I've seen other regions in Italy or other places that employ the usual IT firms or societies
06:42
that employ them to just let them know that, okay, you stop Oracle and you do also a positive ES. And they can do it, of course, if they hire people, but it's not the same thing. So they understood clearly that if you are inside a project, you work better with open source than if you just try to.
07:05
Okay, they say it from the beginning in the formal bit, they put that all the codes written must go in the central repo. So the one who were not entitled to do so or couldn't guarantee this,
07:21
they couldn't access to the bit. Okay, so that was an important choice. Of course, there are a few exception for tools that are really useful only for them, but it's a really, really very exceptional few scripts, things like that. So they didn't decide to go free to spend less.
07:42
It was very clear that they didn't want to save money. Of course, it's nice if it's a side effect, but this was not a name of the project. Not even performances were important, okay? So they have to have their minimum level of service,
08:02
but they didn't go open source because they want faster map server or whatever, okay. The idea was to spend better than money, okay? We all know that most of the, well, maybe all the big JS company are American. So we want to keep as much as money as possible in Italy.
08:22
We want to have tools that are usable for everybody and not just those who can buy it. So we want to make our university students have their tools for working with the proper infrastructure and so on. So make both the data and the software data
08:40
allows the use of this data available for everybody. That was the basic idea. So a choice which is not technical, which is a political one, cultural and political. So it's deeply rooted in a way in our, yeah, political culture in Tuscany especially, okay.
09:01
Of course, the other pillar of this building is that they have strong skills inside the region. That is not always the case. Very often there's our empty shelves, you know, or people that is able to buy things from outside, but not really to use it. They had it so they could do
09:21
a much more confident choice in a way. Okay, so phase one was training. They understood early that they had to train people to understand these new tools. Then developing what is missing.
09:40
Of course, we have all this nice software, but we all know that it's not complete. We need here and there things to improve. And then support. Having a nice software deployed, but not supported by anybody. Don't have, not having a phone number to call or an email to write.
10:00
It's, well, a recipe for disaster, of course. So that was the idea. We start with training. We did a lot of training. We, as a finale, I must say. Almost everybody who use a more or less JS went to the courses.
10:20
Of course, most of them were general courses, cartography mainly. A few were on analysis because, of course, less people is doing analysis properly. They had this acceptance sheet to be filled compulsory and the scores were very high. So, and they were very high because they were acquiring new skills.
10:42
Even those who say, no, but I still want to use my arc something. But they say, but I learn something about WML, WFS, things that they were not used to, okay? And I think this is not just because I'm good at doing training, but I think it's because open source software is better for training.
11:02
You learn more of the function and less of the buttons. So, I think this has a relation, a strong relation with the type of software we are using. Okay, I don't want to go into detail about what we develop in these years,
11:22
but GML support in the good old was rather poor. We improved it. We added these types. We added the Specialite driver. Who of you knows Specialite? Wow, everybody will be happy. So, the Specialite driver in good old JR was improved,
11:43
was quite poor at the time. We added a function to Gails or Gails or whatever. Like this, a few you see in the comments all the reference to Resonator Scanner. We did bug fixing for this. Working with this size of data,
12:00
I mean, you find bugs a bit more easily. So, we developed this nice, I would say, library, which it's a split in a way of Gails. It has a special function that don't fit into Gails and this can be used on its own now.
12:25
It was, there were quite a few functions in Pod.js and now a proper library that can be used by Specialite, by QJS, et cetera, et cetera. And lots of things on the Pod.js.
12:43
Sandro Santilli worked for us for a while. Lots of topology, what you find about topology in Pod.js now is largely due to Resonator Scanner. We made this make-valid, which is quite useful.
13:02
I don't know if any of you have already used it. Okay, thank you. And now, this is in LWGL. So, it can be used also from QJS. We have a nice plugin for that. Improvements here in the GML, they use heavily, of course, GML
13:20
and so the topological GML, so they improved a lot. We also worked on the Specialite. We made a system of reusing lots of functions that were used by Pod.js. So, basically, you have more or less the same function in Pod.js and Specialite, which is very good.
13:43
So, you can use it more or less transparently, one or the other. Support for metadata insights by Specialite, support for SLZ, et cetera, et cetera. These last functions were just added.
14:00
This was not made by us, by Fanalia, but other people. This is not known, I would say, but interesting web mapping framework, which is, the nice thing is, sorry, is that it is data-less, so you can set up your thing and you take your data from whatever WMS, WFS
14:23
is available on the net. We did a lot of work, not surprisingly, I think, on QJS. So, lots of things on symbology. They need to publish real maps with the cartography option so there were a lot of architects and planners
14:43
that were quite picky about transparency on the borders and the rotation of the symbols and all sort of things. So, we did a lot of things with that. Some of this, probably, you already use it. SLD is very useful. I discovered that people that were not using QJS,
15:03
they start because they were web people, you know. They start using it because of this SLD import-export, so you can design your SLD with QJS, is possibly the easiest way of doing that now, et cetera.
15:20
Then we improved the field calculator, adding a few functions. We improved, well, no, we developed the recovery of geometries, of features, from WMS, which is something that not too many people know, but you can get a vector from WMS
15:43
and we can do it now from QJS. Lots of bug fixing. Now we can run your plugins from a custom path, so you can put your QJS on a disk or on a pen drive, which was not possible before.
16:02
We developed quite a few plugins. RT SQL layer, you can run arbitrary queries from QJS without having any permission on the database, apart from select, of course. So you can have your queries stored on your client
16:21
rather than on the database. You can extract data from, cut your data from a database. You can have all your data there and cut at a commune, a municipal level, okay, and extract one by one all the vector
16:41
that belongs to each of the multiplets, et cetera. We have a maps ever export plugin. It was present in the earlier version of QJS, but it has been completely rewritten based on a map script, so it's much more powerful. Actually, I invite you to test it
17:01
because we still are in experimental phase, so any feedback will be good. Can create a vector from DBF tables for the points or lines, et cetera. You have the mirror map. I don't know if you have seen it, but it's nice. You can split the canvas of QJS in two or three or four,
17:21
et cetera, and you can keep this in your project, and so you reopen it and you can compare WMS or photos and et cetera, et cetera. Then we have a very specialized plugin, which is used for surveying of pre and post-earthquake buildings,
17:41
which is very tuned to Italian situation, but I think it's a lot of software, so it can be useful for you to extract features and reuse it in your plugins. Okay, LWJOM plugin, as I mentioned already. Then we start with support.
18:03
We are in the first year. It's mainly, of course, on desktop. Support for server is more of a consultancy. It's a bit of a different story. Of course, it's email, telephone on site, et cetera. We included also a certain amount of hours
18:22
for bug fixing so that they can fix things easily without restarting with all the bidding and process, et cetera, et cetera. The funny thing that I discovered is that people were surprised that they were a bit shy of asking because they were surprised that people could actually answer and reply
18:41
and find solution for their problems because apparently they are not used to have this kind of service of proprietary software, which is funny. And of course, our main advantage was that we could deliver a fix just like this. The next day, you can have your nightly build of QGES with your bug fix,
19:02
and nobody can compete really on the proprietary work. So our problem is really to go to people and say, well, please ask me a question because I can reply. Okay, so here you have a list of what's available,
19:21
more or less thing that you probably know. A weak point is an empty slide because the only thing is that we couldn't find a proper replacement for AutoCAD. That's something that I think we should start working seriously on that.
19:41
I'm not fond of CAD. I find ugly environments, but still for the administration, they use it. So it's pretty strange that in all the free world, I think the CAD is the only area where really we didn't make any big impact. Okay, so what has been concluded,
20:03
that of course the cost was much less. So they had much more resources to improve things, to have more services around what they need. A lot of things that they did on their own before, now they are free to call people to help them. So they basically kept the same budget
20:22
but could do much more. And the nice thing that they learn is that they could influence the development. So if they need something in Pod.js and QGIS, of course if something makes sense, but they could have it. They could have a different direction of development.
20:42
And also for us as developer was very good because they provided real and heavy use cases. When you develop your software, you think that something is working, but when you put it on the road, then it's difficult. And so I think it was, yeah,
21:00
both sides profit by that. They discovered early that some of the things they improved were more than improved by other subjects, public administration, some Italians, some French, some other places. So that was a pleasure for them. They discovered that with their money, they got more than they paid for,
21:21
so that was good. And so they are starting networking with other administration because of course the needs are more or less the same and so they are sharing it. And what they develop now, they know that they have to put some money to maintain it, but they are not, everything is not on their shoulder.
21:41
So they can rely on others to keep things alive, which was not the case for the custom development they had before. What is problematic is that not everybody is understanding this. In Italy, we don't have a national strategy about that.
22:02
In central government, they spent a lot of money in strengthening, I mean. They don't have the same efficiency. The tools of collaboration top-down are not really working. They have this round table and everything, but it's not really working. What is working is people-to-people collaboration.
22:23
Technical collaboration is working very well and the free JS world in Italy is working very well. We have a mailing list with almost 700 people and very often the same people that are in the top level that discuss things, serious things on our homemade mailing list, which is interesting.
22:43
Okay, there are reasons, I think I'm a bit long now, but there are reasons why the others are not doing the same. There are good reasons and bad reasons. Of course, you are faster if you decide everything on your own. You don't have to discuss with the community. Sometimes the community has strange ideas.
23:02
Sometimes they don't understand you, et cetera, et cetera. So it looks nicer to go ahead with your fork or whatever, but of course, that's not gonna work on the long term. Okay, you have to think only to your platform.
23:22
So if you compile on your Windows, everything works and you don't have to bother if Saga doesn't work on Ubuntu or whatever. The other thing is that to do this, you need some internal skills. You cannot really rely on somebody else because if you buy a package, more or less, maybe it works.
23:43
But if you want to go into this process, you really have to understand what's going on. Many times we were discussing, okay, should we implement this this way or the other? Okay, do it like this. And if you don't have the internal skill, that's gonna be a bit of a problem. Or either you trust very much your software provider
24:02
or it's gonna be a problem. So the more you understand what's really going on, the better it's your development. So it needs a lot of work. They did a lot of work internally to support this choice. So if some of you want to do the same thing
24:20
or want to go home and convince the administration to do the same, let them know that they should never work on isolation. That's bad. They should share with the community from the beginning. You don't have to have your tool ready and then publish, okay? And so work together with the community.
24:40
Avoid as much as possible solution that can seem nicer if you develop on your own, but then you break up sooner or later. And make sure that when you hire a developer that it understands all this very well. It's not someone that goes into his office and type and stuff, okay? And of course, raise everything off it, okay?
25:02
Thank you. We've got over in a little bit, so well, we've got a couple of minutes for some questions before we swap over to the next talk. So if any of these are any questions or if you can catch a follow-up.
25:21
Of course. All right.