We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

OpenLayers 3 - How To Successfully Run A Crowdfunding Campaign For An OSS Project

00:00

Formal Metadata

Title
OpenLayers 3 - How To Successfully Run A Crowdfunding Campaign For An OSS Project
Title of Series
Number of Parts
95
Author
License
CC Attribution - 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
Publisher
Release Date
Language
Production PlaceNottingham

Content Metadata

Subject Area
Genre
Abstract
The impressive list of OSGeo Projects [1] show the necessity to develop OpenSource software. Behind all lines of code, there is the work of one developer. And, in our capitalist world, work means money. This presentation will underline the challenges of the crowdfunding effort organized for the development of the next major release of OpenLayers 3. OpenLayers is one of the most famous OSGeo library and is widely used for the development of web mapping applications. Its development started in 2007. In 2012, it was clear for the developers that the current release was at the end of its life. The emergence of new technologies implied to create a complete new libraries based on these new technologies. As usual in the OpenSource world, some developers started this work in the middle of 2012. Since a complete rewrite was required, it appeared clearly that the work needed to obtain a library that would allow the migration to the new release was huge. It was estimated to 2’500 hours of work. At this time, swisstopo planned a migration of its web mapping applications. swisstopo decided to use the future release of OpenLayers, which was only a very first prototype. In order to benefit of the advantages of OpenSource developments made by a community, it was not possible for swisstopo to simply mandate a company for the development of this library. The commitment of the OpenLayers community and its committers/developers was needed. So, in order to speed up the development process, swisstopo decided to invest a substantial amount of money and to organize a crowdfunding effort together with companies active in the OpenLayers development scene. Several financement channels were used: micro fundings from individuals and more important fundings from companies and administrations. This presentation will describe the main problems and challenges faced during this crowdfunding effort and how they have been solved. Here is a list of these problems and challenges: - Some key actors had to be convinced to donate in order to convince others to follow the movement. It is important that one or two big players make the first donations. And, since the money is managed by the higher manager, a lot of energy has been put in explaining how an OpenSource community works. The OpenSource development model is still not very well known and the higher management often think that a normal contract with one company is the best way to develop softwares. - The general objective was to be clear and strong enough in order to convince individuals, companies or administrations to invest on something that didn’t exist. - The financial capacities of individuals, companies or administrations are not the same. But all are part of the OpenLayers community. It was important to be able to handle donations of some dollars to some thousand of dollars. - OpenLayers is an OpenSource community, but is not a legal entity. It’s therefore not possible to make a contract with OpenLayers. In order to solve that, the main companies of the OpenLayers development scene decided to create an association in order to simplify the administrative aspects. - The commitments and the resources of the OpenLayers committers was needed in order to ensure that the library could be developed in a short time frame and with the necessary level of quality. - A worldwide communication concept has to be put in place in order to reach all potential crowdfunders. And this only with a few persons working partially on this project. - An organization had to be put in place in order to coordinate the work of persons located all around the world. But at the end, the result is here: more than 350’000 USD have been found and the development of OpenLayers 3 is a reality. And everyone can now benefit of a modern, performant and 2D/3D web mapping library, thanks to all crowdfunders and developers !!!
Disk read-and-write headMachine visionGeometryComputer networkInformationComputing platformBasis <Mathematik>Twin primeProjective planeOpen setOpen sourceInformationPerspective (visual)Associative propertyOrder (biology)BitProcedural programmingFreewareExtension (kinesiology)Point (geometry)Computer animation
EmulationDedekind cutMenu (computing)Interprozesskommunikation.NET FrameworkLink (knot theory)Data structureSimulationSpecial unitary groupSummierbarkeitMaxima and minimaGeometryLevel (video gaming)Conditional-access moduleUniform resource nameSystem programmingSurfaceAnalogyMetreCorrelation and dependenceQuantum mechanicsPoint (geometry)Dimensional analysisInformationView (database)Image resolutionCASE <Informatik>SoftwareBuildingFile viewerThree-dimensional spaceSet (mathematics)
Context awarenessOpen sourceLibrary (computing)SoftwareChi-squared distributionData structureChannel capacityGreatest elementLibrary (computing)Open sourceProjective planeContext awarenessSpecial unitary groupOpen setOrder (biology)Diagram
Open sourceContext awarenessSoftwareSoftware developerInternetworkingRaw image formatModel theorySoftware bugComa BerenicesPhase transitionComputing platformAssociative propertySpeciesMetropolitan area networkPower (physics)Data modelTheory of everythingElectronic mailing listDesign by contractConfidence intervalPairwise comparisonBasis <Mathematik>Direction (geometry)MereologyCommutatorBitLattice (order)Case moddingMultiplication signSystem callLie groupResultantDesign by contractMUDPoint (geometry)Identity managementMoment (mathematics)Roundness (object)Order (biology)Metropolitan area networkView (database)Perspective (visual)Software testingFood energyPhysical systemDependent and independent variablesEndliche ModelltheorieTelecommunicationInternet service providerOpen setState of matterOperator (mathematics)CodeTheory of relativitySpecial unitary groupTrailEstimatorCodeFactory (trading post)Flow separationOpen sourceCoordinate systemAssociative propertyParity (mathematics)Software bugPole (complex analysis)Model theorySoftwareFormal grammarLatent heatCASE <Informatik>Group actionAsynchronous Transfer ModeDifferent (Kate Ryan album)Electronic mailing listComputing platformComputer animation
Row (database)Direction (geometry)Data modelDesign by contractPhase transitionOpen sourceDirected setTwin primeAssociative propertyOrder (biology)Level (video gaming)Social classData typeCross-site scriptingMobile WebWorld Wide Web ConsortiumWeb browserSpecial unitary groupAlpha (investment)Type theoryFile formatVariety (linguistics)Open setInformationTexture mappingEvent horizonWeb pageJava appletDemonMiniDiscPerspective (visual)GeometryLibrary (computing)Metropolitan area networkUniform resource nameComputer-generated imageryWindowRule of inferenceSupremumAreaSummierbarkeitSystem administratorParity (mathematics)Archaeological field surveyOpen setOpen sourceWeb 2.0Complete metric spaceMathematicsDesign by contractCASE <Informatik>Data managementOrder (biology)Functional (mathematics)Goodness of fitProjective planeKeyboard shortcutPhase transitionEquivalence relationEmailCodeMappingMereologyProcess (computing)Software testingConfidence intervalLibrary (computing)Group actionAreaWorkstation <Musikinstrument>Physical systemEvent horizonHypermediaMultiplication signPoint (geometry)View (database)Numbering schemeGreatest elementPresentation of a groupNetwork topologyPopulation densityNeuroinformatikSinc functionMedical imagingIntegrated development environmentDigital photographyMusical ensembleVideo gameComputer animation
GeometryLevel (video gaming)TwitterParameter (computer programming)NumberPermanentMathematical optimizationOpen setBeta functionInformationOrder (biology)Endliche ModelltheorieDecision theoryLibrary (computing)Multiplication signDirection (geometry)MereologyDisk read-and-write headSummierbarkeitKey (cryptography)Identity managementWhiteboardState of matterGroup actionCASE <Informatik>Arithmetic meanPopulation densityDirected graphCausalityPressureView (database)Demoscene
Transcript: English(auto-generated)
OK, thank you. So all open source projects are free. So you can use it freely. But unfortunately, the cost of development is not really free. There is companies behind open source projects. There is people behind open source projects. And you have seen that Open Layer 3 is really a great,
fantastic project. It's really fantastic, awesome, what all the developers did. But they need a salary at the end of the month. So at some point, we need to finance also this project. So for Open Layer 3, we started, the development started officially in January. But several months before January of this year, we
started a crowdfunding campaign. And I will explain a bit this procedure with the perspective of a founder, with the perspective of a customer or a user of Open Layers. As a user, in my case, I am working by Swiss Topo.
And GeoAdmin is the Swiss geo-portal, and also the Swiss spatial data infrastructure. Our target is simply to publish geo-data to our cities and to our companies in Switzerland. We have a Geo-Information Act. The law says that we need to do that.
And this is the first article of the Geo-Information Act. And the main tool in order to provide this information to our user is the viewer, mapgeoadmin.ch. And this viewer contains about 200 geo-data sets. This viewer is three or four years old.
And this viewer was, from our point of view, outdated because we plan to create a 3D viewer. We have the whole Switzerland in 3D, all buildings, all streets in 3D, DTM with a two-meter resolution. So we need to go in the third dimension.
And also, this software is not based on HTML5. Basically, this software was outdated. So how can we create a new software? We are in an open source contact. And we wanted, really, a complete new library. That was the original goal.
In an open source context, we have this kind of person. We have users on the bottom. And we have the project steering committee on the top. Basically, we have the capacity to develop on the top. And we have the capacity to finance on the bottom. So how can we merge these two worlds?
How can this person finance the work of the developer? The challenge was really to federate the developer on one side, to federate the founders on the other side, and of course, to formalize the relation between the founders and the developer. As government agency, I need to have a contract.
I need to have something, I can't simply say, please develop, I give you money. And that's it. We need to have something formalized. So then came the idea of crowdfunding and forth. And you see, in the definition of crowdfunding, we
have also these two poles. On one side, we have someone who wants to make something, and on the other side, we have the money. So that's why we decided to go in a crowdfunding mode. That was the original idea. But there are several models of crowdfunding.
We can have a feature-oriented approach or a community-oriented approach. And I will try to explain this to approach. Funding models, feature-oriented, it's simply you have a founder that needs a feature. He pays a committer who develops the feature. And at the end, it goes in the open source software.
I would say it's a quite common approach. Another founder can do the same, and you have a new feature in the software. There are several advantages. It's quite agile. It's very efficient in bug fixing or for new development. But you have a lack of coordination.
Of course, the open source community will discuss that. But between the founder, you don't have any coordination. And it can be that at some point, the feature is not accepted. And of our point of view, it's not very efficient for new development. Typical example, you have this platform, Bunty Source. You can provide money to the bankers, can provide money
to developers, and you can ask for a feature. And with this platform, you can formalize this exchange between bankers and developers. There are other equivalent platforms. Community-oriented model, it's a bit different.
You have several founders that specify that they have some money, and that discuss with an open source like legal entity. It can be an association. It can be a consortium. Within this legal entity, you have the committers. And at the end, the committers can create code and
develop open source software. We believe that this is interesting because there is a global responsibility on the legal entity. The legal entity is responsible for the new development. There is a kind of coordination on the legal
entity, the developer committers are federated under this legal entity. And it's quite efficient for new development. The drawback, it needs a consensus by the founders. And it needs an agreement between the main actors of
the open source community. And we believe also it's quite easy when you make simple bug fixing or simple new, small features. So I said at the beginning that we had three challenges. First of all, to federate the developers, in the
feature-oriented model, the probability that development is not accepted is higher compared to the community-oriented model. Because in a community-oriented model, you have all the main developers, so they will discuss together, and we also
take the responsibility of this development. And you have also the question of homogeneity here. It's clear the legal entity, which groups all the main actors, is able to create a more homogeneous software
comparing to a feature-oriented model. On the founder federation, on the founder side, in the feature-oriented model, it's very difficult to create a global feature list, because every founder wants to make his own feature and doesn't care of the other.
And that's the second sentence. The founder focuses on their specific needs. In a community-oriented model, you have the possibility to agree on a global feature list. And you have the possibility to encourage the funding of other founders. Because if you have a feature list, and in the case of open layer, it was quite easy.
We said we want a feature parity with open layers, too. And in addition, it has to be WebGL compatible. So this feature list was quite easy. Not so easy, but quite easy to make. And the problematic of relationship between founder and developer, here, in the feature-oriented model, you
don't have relationship between developer, and you don't have relationship between founders. And the founder can only request and contract the features they pay. They don't have a global responsibility. They think feature after feature.
In a community-oriented model, here, you have the possibility to request all features, but pay only one part, if the legal entity accepts that, basically. If I compare these two models for new development, I would say feature-oriented model is a reference.
And you see several advantages and disadvantages of the community-oriented model. I believe a long-term community-oriented model is better, because you create only one software, what is coherent. The risk that is less coherent on the feature-oriented
model is higher. The benefit for others is also bigger, because you have one coherent software. But you have some drawback from the founder perspective. You have here some drawback. You have less control, because you can only say what
you want, but you don't actively participate to the development. And you have not a clear, direct contract for one feature. You have more of a general view. OK, and for Open Layer 3, again, with a Swiss Topo perspective, we decided in 2012 to finance for $100,000
US, if a global amount of $350,000 can be found. This estimation was made by the Open Layer Steering Committee that it's the amount that is needed in order to create an equivalent library, equivalent to Open
Airs 2. And I can say that it's not easy to go to a manager and simply say, well, I need $100,000 US. And I hope to have something good at the end. So it's something that we need as open source actors. We need to improve on the management level, because they
simply don't understand how open source functions. But it works in the case of Swiss Topo. And because of that, we were able to, with this follow me principle, we were able to ask coordinate survey, to ask EJN in France, to ask other government agency in Germany, in US.
And with this support, it was possible to find $350,000 at the end. And it was more than 100 crowd founders. It was individuals, companies, administration that collected this $350,000.
And we created a contract with a legal entity. And this legal entity was a group of main companies working in open layers, namely Open JO, Bondless now, Chem2Chem, and Antares Tris in Germany.
What was the phase? The first phase is discussion. At the beginning, I sent an email to the project steering committee of Open Layer with this idea to create a new library. Of course, they made previously already some first test with WebGL. So it started not from zero.
But we tried to propagate this idea of code funding. Then we needed to define what was the goal. And here, the idea was really to create something equivalent to Open Layer 2, but with modern technologies. Then we made this one month code funding campaign.
We made a contract with the legal entity. And all founder made a contract with this legal entity. And in January of this year, they started the development. And now, since three or four months, we are at using this development in order to launch a new release
in October of this year. What did we learn? First, we need to think worldwide. So we had a good founder from all the continents, I think. We are from Japan. We are from US. South America, I don't think so. Europe.
So we have really to think worldwide. We have really to interest people all over the world. We need to discuss with the open source community. As user, we need to go into the open source community, ask questions, discuss with the person of the open source community. We have also seen that direct and personal contacts
are really efficient. Typically, my director, Atris Topos, Jean-Philippe Einstein, he send hundreds of mails to all these colleagues in Europe, all the person, by on and survey. Because, of course, he has contact with the manager of this other mapping agency. And with his personal and direct contact, it was quite
easy to find some money by other mapping agency. You will find important contribution by companies and administration. And I have also to say that the companies that I seated, previously, Bondless, Cantucamp, and Therastis, they
have also invested their own money in this development. And I want to underline that. But you can find this important contribution by company and by administration. You will find less important contribution, let's say $100,
$20 by individual. But this contribution are also very important. Of course, the sum is not very important. But this proves that there is an interest in the community. And so I think it was quite important to discuss with administration and company, but also to discuss with the
person that are part of the community. What were the issues? This legal aspect, all companies, all government agencies, they need to have contract. It's not possible not to make a contract or a contract based on confidence. It's something that doesn't exist in this world,
unfortunately. So we needed to have a legal entity in order to make this contract. And another aspect, it's quite difficult to, legally speaking, it's quite difficult to bind the contribution and the requirements.
And this binding is basically made by the legal entity. But at Swiss Topo, we made a contract of $100,000. And we asked for the whole package, for the complete feature parity with the OL2. In parallel, Ordnance Survey did the
same for another amount. But we didn't have the relationship between Ordnance Survey and Swiss Topo. So the binding is made by the legal entity and is not made by the contributors. And the problem for us is that if Ordnance Survey doesn't pay anything, then we will not reach the goal, which is
this feature parity. But that's the risk that we took as contributor. OK, the result, I think you have seen that in the three last presentation. We have now a very nice release, which is not a release, or is it now? Next couple minutes. Next, he's working on his iPhone, so it will be done.
The last slide, and then the first one. OK, but I can say we worked with it since four months. It's already very, very good, and you can really work with it. Of course, I expect some change in the API, but it's a risk we take.
And from our perspective, we will have a new job portal based on a modern web mapping library. We believe that the parity of this library is ensured, and we have relatively modest investment. Of course, if we decided to pay for everything, we had to pay $350,000, and we only pay $100,000.
And now, I think others can benefit of this work, and that's also the idea of open source, I think. And I will not demonstrate it, but that will be the new job portal, or it's a preview here. And here, you have Open AS3.
Thank you for your attention. Thank you very much, Cedric. Any questions? And what were the most important arguments to convince your decision makers in your decisions?
I think it was because of Open AS2. Because they knew that Open AS2 was successful, and they knew that we were very happy with Open AS2. And saying that we want to create a new library which is
equivalent to that, which is made by the same person, was a key argument, I think. Two questions about the entity that you created. How much of the fundraising had to go towards overheads,
like legal costs and accounting costs? And do you see the entity being a permanent thing for open layers, or was it just for this funding, and then it will be connected? I think the legal entity is for Open AS3. The overhead cost, I think maybe Claude can speak about
that, because he was. Actually, there is no overhead cost that was taken from the funding money. It was supported directly by the company, so by management time. So it was an additional information and came across?
Every single dollar goes to the government. And I have just to precise that the funds are not part of this legal entity. The legal entity is composed, really, of the three companies that I mentioned. I assume the 350Ks are used now, and will there be
another additional funding for the 3D picture? Thank you for asking, because that's clear. Now, with this 350K, we will have one beta. But the goal is also to go in the 3D direction. They plan also optimization in this version.
So we need more money in order to continue the work. But I think from now on, it's probably possible to go back to a feature-oriented model, and to continue the development based on a feature-oriented model. But that's only my opinion. Maybe we can continue with the legal entity.
For me, I have not strong opinion about that. So that's amounts already. How much of this amount was already spent? Everything. Actually, you have to take into account that if you sum
up the number of hours, there's also lots of investment directly from the companies involved in the technology. And individual, too, because some of the contributors work a lot on their spare time, too.
So it's really a good amount of people. Actually, I would think it would be good to have a lot of funding for the 3D, because it's basic work to do, and you probably don't immediately see results. So probably more than one entity can help.
Any more questions? What kind of entity you actually took, because it's