IoT Projects in FLOSS Foundations Dashboard
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 |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 490 | |
Author | ||
License | CC Attribution 2.0 Belgium: 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. | |
Identifiers | 10.5446/47218 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 2020335 / 490
4
7
9
10
14
15
16
25
26
29
31
33
34
35
37
40
41
42
43
45
46
47
50
51
52
53
54
58
60
64
65
66
67
70
71
72
74
75
76
77
78
82
83
84
86
89
90
93
94
95
96
98
100
101
105
106
109
110
116
118
123
124
130
135
137
141
142
144
146
151
154
157
159
164
166
167
169
172
174
178
182
184
185
186
187
189
190
191
192
193
194
195
200
202
203
204
205
206
207
208
211
212
214
218
222
225
228
230
232
233
235
236
240
242
244
249
250
251
253
254
258
261
262
266
267
268
271
273
274
275
278
280
281
282
283
284
285
286
288
289
290
291
293
295
296
297
298
301
302
303
305
306
307
310
311
315
317
318
319
328
333
350
353
354
356
359
360
361
370
372
373
374
375
379
380
381
383
385
386
387
388
391
393
394
395
397
398
399
401
409
410
411
414
420
421
422
423
424
425
427
429
430
434
438
439
444
449
450
454
457
458
459
460
461
464
465
466
468
469
470
471
472
480
484
486
487
489
490
00:00
View (database)Presentation of a groupInternet der DingeSlide ruleProjective planeRevision controlWikiOpen sourceComputer animation
01:03
Software maintenanceChaos (cosmogony)Process (computing)Mathematical analysisSource codeComputing platformComputer programmingOpen sourceSoftware developerProjective planeComputing platformSoftware maintenanceFlow separationSinc functionSource codeGraph (mathematics)Software frameworkCommunications protocolInternet der DingeOpen sourceReverse engineeringMereologyComputer animation
02:10
ArchitecturePresentation of a groupInternet der DingeSelectivity (electronic)Projective planeMathematical analysisDifferent (Kate Ryan album)Category of beingOpen sourceComputer animation
03:06
Open sourceSoftwareChaos (cosmogony)Open sourceInformationInternet der DingeComputing platformOpen setAnalytic setFlow separationGraph (mathematics)Focus (optics)Software developerProjective planeComputer animation
04:10
Chaos (cosmogony)Focus (optics)Metric systemRevision controlAbelian categoryLattice (order)Category of beingDigital photographyProjective planeMetric systemSelectivity (electronic)Software developerGraph (mathematics)Internet der DingeInformationMessage passingDivision (mathematics)Computer animation
05:42
SoftwareRule of inferenceCategory of beingMathematical analysisComputing platformTerm (mathematics)Machine visionStrategy gameImplementationMetric systemPairwise comparisonInternet der DingeOperator (mathematics)MultilaterationSelectivity (electronic)BitProjective planeLatent heatWeb 2.0Category of beingFlow separationGraph (mathematics)Different (Kate Ryan album)MereologyComputer animation
06:38
ArchitectureTransportation theory (mathematics)Food energySystem programmingComputing platformComputing platformCategory of beingDifferent (Kate Ryan album)Computing platformProjective planeCategory of beingFocus (optics)Internet der DingeComputer animation
07:03
Computing platformCommunications protocolData managementInformation securityDisintegrationInterface (computing)CodePoint cloudTexture mappingFunktionalanalysisPublic domainComputing platformMultiplication signStandard deviationInternetworkingInternet der DingeEnterprise architecturePosition operatorMachine visionComputer animationProgram flowchart
07:53
WorkloadComputer networkGraph (mathematics)Convex hullGateway (telecommunications)Point cloudProjective planePattern languagePresentation of a groupComputer animation
08:35
Strategy gameOpen sourceComputing platformProjective planeSoftwareComputer animation
09:04
VirtualizationSoftware frameworkCommunications protocolComputing platformProcess (computing)Gateway (telecommunications)DisintegrationCartesian coordinate systemReal-time operating systemGateway (telecommunications)Software framework1 (number)Internet der DingeCategory of beingMereologyMathematical analysisComputing platformAbelian categoryCommunications protocolVisualization (computer graphics)SoftwareProjective planeBuildingComputer animation
10:17
Component-based software engineeringInternet der DingeInformationMereologyNumberSoftwareOpen sourceEmailCategory of beingGraph (mathematics)Computer programSoftware developerData storage devicePoint (geometry)Line (geometry)Web pageAnalytic setExtension (kinesiology)IdentifiabilityVideo gameComputer animationEngineering drawing
13:53
Mass flow ratePublic domainCategory of beingUniverse (mathematics)WebsiteInternet der DingeSelf-organizationEvoluteVirtualizationINTEGRALInformationComputer animation
15:58
Category of beingInstance (computer science)Projective planeCartesian coordinate system1 (number)MereologyAbelian categorySelf-organizationPresentation of a groupSlide ruleVisualization (computer graphics)CASE <Informatik>Computer animation
17:40
Repository (publishing)Slide ruleIntelPoint cloudSlide ruleGraph (mathematics)Multiplication signCategory of beingAbelian categoryCASE <Informatik>VirtualizationComputer animation
18:04
Graph (mathematics)Core dumpComputing platformReal-time operating systemCodeDisintegrationIntelAbelian categoryTraffic reportingBuildingInformationGraph (mathematics)Decision theoryAbelian categorySoftwareProjective planeCategory of beingSlide ruleSelf-organizationCASE <Informatik>FeedbackField (computer science)Complete metric space1 (number)CollaborationismComputer animation
19:39
MaizeIntelPoint cloudSystem programmingLocal GroupCodeAbelian categoryVirtualizationProcess (computing)Communications protocolSoftware frameworkComputing platformCategory of beingAbelian categoryTable (information)Projective planeNumberComputer animation
20:26
Process (computing)Strategy gameInternet der DingeCategory of beingGraph (mathematics)Category of beingStrategy gameOpen sourceView (database)Observational studyGoodness of fitComputer animation
21:18
Open sourceComputing platformComputing platformTraffic reportingComputing platformWeb 2.0Information technology consultingEstimatorProjective planeOpen sourceDifferent (Kate Ryan album)Computer animation
22:22
Projective planeCollaborationismOpen sourceField (computer science)Gateway (telecommunications)Computer animation
23:30
IntelProjective planeRepository (publishing)Graph (mathematics)Selectivity (electronic)InformationSlide ruleMultiplication signComputer animation
24:28
Open sourceProjective planeInternet service providerPosition operatorClosed setCategory of beingMultiplication signFocus (optics)Computing platformMereologyComputer animation
26:10
Point cloudFacebookOpen source
Transcript: English(auto-generated)
00:05
Hello everybody. First of all, thank you very much for coming to this talk. We are going to present a dashboard we have been creating the last three months trying to show the current status of the IoT projects in the open source. In this slide, you can see
00:24
the URL. If you want, you can just now go to the URL and start playing with the dashboard we are going to present now. Also, these slides are in the talk page in the website, so you can also download the slides you want now. This is the version 0.1 because
00:46
our idea is to present you this presentation of the dashboard, but for now, try to do it in a community way, trying to incorporate the views of the IoT community. This dashboard is a kind of tool for everybody in the community, so this is our main goal.
01:04
I am Alberto Castillo. I'm working right now in things of those, developing another IoT platform. Mainly, I'm an open source advocate, and also I'm developing in several open source projects. Now, I'm working with the PLC4X guys. They are creating a framework
01:26
for communicating with the industrial protocols in order to offer a common API for communicating with them. Valerio is presenting this one with me. Valerio Castillo I'm a GrimoireLab maintainer and CAUS contributor, since GrimoireLab
01:44
is part of Chaos, and I work for Bitter, that is maintaining the platform that we use to build the dashboard. Anyway, the platform is open source, and you can use it if you want. My interests are source code analysis, ETL processes, and reverse engineering, and
02:03
I know basically nothing about IoT, but I was just analyzing the data. Alberto Castillo This is all the end of the presentation. We are going to present to you some of IoT architectures, because we have based our analysis in these architectures, trying to find common categories that we are going
02:25
to use in the dashboard and the presentation to compare the status of IoT in different categories. We have followed some criteria to select this open source project, because you can imagine that selecting between the hundreds of open source projects that exist
02:46
in IoT is something that is difficult, so we have decided to focus in the projects that are already in the open source foundation, the main open source foundation, the Apache foundation, the Eglise foundation, and the Linux foundation. After that, we are going
03:01
to show you some findings and insights and some conclusions about our work. Why are we doing that? What is our main motivation for creating that digital world? Probably the main motivation is, on one hand, understanding the IoT community. I have joined this community around six months ago, and I want to know the main projects, the different
03:23
architectures, and to get this knowledge about this world, and also to offer visibility of the main projects in open source. Both of us are believers in open source, and we want to collaborate as much as possible in this field. How are we doing that? In Green Card Lab, we worked together in the past, and the
03:45
focus of the platform is to doing analytics about software development communities. We are using these tools to extract this information from the several communities in IoT. As I said at the start, we want contribution by the IoT community in order to have this
04:08
as a shared tool in the community. Some warnings about our work. The first one is that initially, we are pretty focused in the industrial IoT sector, but after some
04:22
thoughts about it, IoT and industrial IoT are not so different. In some way, they are merging the technologies, so it is not so important. About the project selection and classification, it's something pretty divisible. For example, when we start showing you the categories and how we have classified the projects in this category, you can say, okay,
04:42
this is a project. I know about it, and you have to classify it in a category that is not the best category. It's something that we can discuss about it, and we can modify the report and create future versions, improving it with your knowledge. We are using pretty basic metrics, baseline metrics, because we prefer having this as
05:02
a simple report, simple as well, in order to send clear messages. If they are interested and we have value in it, we can go deeper with projects like CAUS from Linus Foundation that we have here a photo for past Friday. They have a meeting here in Brussels, and
05:20
we can cooperate with these communities in order to have more advancing metrics. About the data, we use creative combine agencies for all the data we are producing, the data that we are creating, but you are going to see data from GitHub, and this data at the end is from the developers that are providing this information.
05:43
About the selection of the projects, I have talked about it a bit, but at the end, we decided to sell a project from the main operations foundations. Probably you can say that with Apache, Eclipse, and Linus Foundation, also the Mozilla Foundation is working in Web of Things, but they are working in a pretty specific part of IoT. These foundations
06:09
are working in several categories with different projects, so we think that this is a better solution now, but this is something that we can change. About the comparison, we have analyzed the IoT, we have analyzed different architectures,
06:28
and we have, at the end, decided to use some categories to classify the projects in order to compare them. We are going to present them a bit later. The first step, once we have decided to use the project from the foundation, is to
06:44
define how we are going to classify these projects in different categories. For doing that, we have put the focus in the IoT platforms because they are really complex platforms that cover a lot of different things, a lot of different systems, and we have based our analysis in them. I'm going to explain more of them here.
07:04
These are the basic features in these kinds of platforms. The first one we have used is the one that is the reference architecture from the Industrial Internet Consortium. That is a consortium that is defining different standards in the IoT fields, and they have
07:23
a strong knowledge and position in the IoT. We find that this is an interesting one. You can find here that there are three tiers, the S tier, the platform, and the enterprise tier. This kind of architecture is the same architecture that we are going to find in the architecture provided, proposed by the different foundations.
07:45
I'm going not to enter into details because we are going to lose all the time if I do that, but if we compare this high-level vision with the one from Eclipse Foundation that they also proposed to have three tiers, the constrained devices, the gateways
08:02
and the smart devices, and at the end, the cloud platform, you can map it against the previous one. If you take a look to the proposal from the Linux Foundation, the architecture proposed by them, they are proposing an architecture and also the different projects, they are also in some way classifying them in these architectures.
08:20
You can find here also the three layers, the three tiers, in the same way. It seems that there are common patterns between all the architectures that we can use to classify our projects in a common way for all of them. This is the goal we have following the presentation. Talking about the Apache software foundation, they don't try to create this kind of approach,
08:41
a strategic approach, trying to classify architectures in IoT and so on. They just offer a very attractive framework, a very attractive platform to work inside Apache, and they have, in the big data, clearly they have attracted the best open source projects about big data, and in IoT, they are also attracting some pretty interesting projects, but mainly focusing in data.
09:05
Project classification. After doing analysis of all of that, we have concluded that the best categories for IoT are these 10 categories that we have here. Probably in the next release of the report, we are going to simplify that,
09:20
and for example, the four categories of ecosystems that are pretty generic categories, we are going to merge in another one. The idea is to have one category for, always, mainly real-time operating systems and build visualization in the age. Also about protocols, the different protocols used to communicate in this IoT field, about the gateways,
09:42
the software used in the gateways that are a critical part of the platform, the profession of the data, doing the persistence of the data in the age, frameworks and platforms that exist, that cover most of the different systems, and at the end, the application framework is designed
10:02
to deploy applications that are going to use the IoT information, the IoT data, and profess it, for doing added value things, and at the end, the ecosystems that are the two large ones. Okay, so now Valerio is going to present you the people lab.
10:24
As Alvaro said, the idea of this work was to understand the IoT ecosystem and after defining the category, the idea was to have a dashboard, so some way to visualize these categories and how to understand this ecosystem.
10:41
So we use Greenward Lab. Greenward Lab, as I mentioned before, is a platform-free open source and is used to make software development analytics. So in this case, we can see that we have, this is an overview of Greenward Lab, we have different components. One component is in charge of retrieving data from popular data sources used in software development.
11:03
Then we have another component that takes care of digesting this information that is stored in Elasticsearch, a JSON-based database, and then once we have the information here, we can visualize it, so we can generate reports, or in this case, the dashboard.
11:22
So for this specific work, we focus basically on two data sources that are Git and GitHub. So we selected the projects, we use Percival to retrieve the data. Percival is a tool that simplifies the life of people that want to extract data from software development tools.
11:43
For instance, from Git, we extracted commits, and from GitHub, we extracted pull requests and issues. The other two components are Graal, it wasn't used for this work, but it's used to extract information about source code, so lines of code, comments, cyclomatic complexity,
12:00
and then Artur is a tool that is able to execute Graal and Percival at scale. So once we collected the data from Git and GitHub, we use the data storage component that is grimoire-elk. Grimoire-elk is in charge of reaching the data. So basically, in this case, we are adding information that are not directly available
12:23
in the data we are collecting. So for instance, if we focus on Git, we could add here information about paid programming. If you focus on GitHub, we could add information about the number of comments that is something that is not directly available
12:40
in the GitHub API. One important part here is the way we deal with identities. So in order to understand the community, the IoT community, we started collecting the information, email information that were available in Git and GitHub. So according to the email, the domain,
13:01
we started classifying and grouping people together. So then we were able to identify people from Red Hat or people from IBM, so large companies that are actively involved in IoT. And then we have, so these things was done with SortRed Hat and Astel.
13:21
And then here we reached a point where we have like just the data and we need just to use the last component to visualize the data. In this case, we use Kibana that is an extension of a software called Kibana that is part of the Elasticsearch ecosystem. And the output, you are going to see it right now,
13:42
is basically a dynamic webpage where you can filter and drill down the data to better understand what you have. So this is basically the dashboard. So on top you can see that we have different tabs.
14:04
So in this case, since we don't have too much time, we will focus just on Git but you can access the dashboard and start checking the data. We removed the outer information so you will not see here the name of people, just the name of the organizations.
14:22
So as you can see, if we start checking what we found, we can see that Linux, Apache, and Eclipse are basically there. They share the IoT ecosystem. Then here you can see the categories Alvaro mentioned. So we can see that, for instance,
14:40
OS virtualization is much more important than FOG or integration that seems to be site categories of the IoT ecosystem. And then here we have the organizations. So the top one is Intel, then we have Apache. The third one is unknown
15:01
because we were not able to classify the people there. So we were not able to associate their domain to a company. Generally there you can find people from university or freelancer. So in that case, it's clear that they are unknown. And then here you can see on the past five years we have around 2,000 commits
15:23
and well, 5,000 people contributing to IoT. So we are talking about an important community. And here we can see the evolution of commits and others grouped by the different organizations. And again we see the foundation. And here you can see that
15:43
maybe at the very beginning Apache was the first one but then Eclipse started also contributing to IoT. If we want to change
16:02
the complete history for the last ten years this is how you can change the data that you are analyzing. You can see that the data is automatically reflected here and now we are analyzing the last ten years before we analyzed the last five years. And we have prepared some ADOC visualizations
16:22
that are this one because the ones that you see are basically the fourth ones in Greenward Lab and here this is a summary of the findings we got. So we can see for instance in the category application we can see that the three foundations are there so maybe Apache has more commits
16:41
but Eclipse has a larger community while Linux has more organization contributed to their project. Again we can go for instance to OS visualization and we can see that in this case Linux is leading this part. Then we have the other
17:01
categories that are for instance the Fog one there is basically Eclipse there and then we have Persistence where there is just Apache. So here we have tried to summarize the findings however in the presentation we left several slides for the people that want to read the presentation
17:21
so we have tried to put for each category something we found. Anyway again if you want to navigate through the dashboard it would be great so then you can try to answer the question you would like to get answered. Ok
17:41
so I guess I should Ok so in order to have enough time to complete the slides we are going to show you just for example the findings we have found for one category. We have 10 categories you can take the slides and go forward the categories in order to understand the different things that we have found from the data. But for example in the case
18:01
of OS and virtualization we have found it interesting because there is a large community in this field and Linus Foundation for example is the one that seems to have more activity here. But in order to show you the decisions that we have done building this
18:20
information for example we have considered that the Fairfield project is a project from the Linus Foundation that probably is not totally right because it is not a complete Linus Foundation project but it is related it is a kind of collaborative project from the Linus Foundation so the relationship between the projects and the foundations are pretty clear in some cases
18:41
but in other ones it is not so clear for example in this category in the case of Apache software foundation they have not a lot of activity here now but the new X project this morning we have talked about it is joining the Apache Foundation so for example in the next release
19:01
of this report we have seen that for example the Apache is having a lot of commits coming from these new X projects because it is huge it has a lot of different commits so at the end we try to show the main projects and also the activity, the main projects and the organization behind
19:20
each of the categories we have done this for all the categories so please take a look through the slides if you are interested and if you find strange things that is possible because we don't know the details about everything we are more than happy to recite this feedback from you and to start improving this report so these are
19:41
for example all of the different categories you can use the dashboard and just click in a category and all the dashboard is filtered out for this category and you can analyze the data for it and we have here created a table it is a kind of summary table showing the different categories
20:01
the main foundation in this category taking a look through the number of commits the size of the committee and so on and then the main project in this category for example we have here Apache, Cami, FIFI, PAHO a project that we have for example to talk about this morning and at the end the main companies
20:21
that are there so as a conclusion which foundation is the winner from this study that we have done and there are good news that for us, for Valerie and me the winner is open source
20:41
because both of them have a pretty close activity in a global view and taking a look through the different categories you can find that the different foundations are working in most of the categories and some are leading one, the other one is leading the other one each foundation has different strategies so this is pretty good
21:01
for example if some strategy is wrong you have the other two foundations that are going to try other different strategies so at the end we think that there are a diversity that is pretty good for IOD so about the coverage
21:20
of the dashboard because you can think ok, you have selected the project from the foundation but maybe the foundation has not attracted the main IOD projects we have for example, to check the data with a report from the PAC radar I don't know if you know it but it is a consultancy that is creating reports
21:43
about different industrial sectors and they have reports about the IOD platform based on open source here in Europe and the main companies according to this report are Bos and Eurotech that are also the main companies two of the main companies that appear in the dashboard so the data in the dashboard
22:01
we feel that it is not the reality and maybe it is not 90% accurate but it is pretty accurate and it is a good estimation of the current status of the IOD community so maybe we are missing the Mozilla Foundation with the web things IOD but probably we will add it in future reports
22:21
so one thing that we have found that is important is the collaboration between the different projects in the different foundations for example, the projects in Apache are collaborating with the projects in Apache or also with the projects in Eclipse and in Foundation we don't have a lot of data but for example
22:41
in the project that I know better the PRC4x they are working closely with Eclipse and with other projects and for example, the Eclipse Cura that is in the IOD gateway that is the leading project in this field is heavily based in Apache Camille so it seems that there is a clear collaboration between the projects
23:00
but we need to as always, improve it but in Open Source in Open Source it's pretty natural to go between projects but it's not a bad idea to try to improve this collaboration for example, with this kind of rooms that is great for the IOD community and with this as well we are trying also to offer visibility
23:21
so you can know the projects that are in the IOD and try to close them together ok and this is our last slide about the takeaways from this talk the first one is the dashboard that is going to be public
23:41
for some time we don't know but Vittoria has suffered to have it online and to support it so we can come with that for the IOD community and what is important is the contribution that we expect your contribution we have a GitHub repository in which we are
24:01
opening issues in order for example to improve the classification improve the project selection improve the foundation that we are considering improve the insights the different interesting things about the projects so we hope that you can help us in this repository so please, if you are interested in improving
24:20
this kind of information join the projects and we are more than happy than hear all your ideas and for us, that's all time for questions alright, are there any questions?
24:41
please raise your hand this is a relative positioning of open source providers for IOD solutions did you also look at closed source providers for IOD solutions like Microsoft, Amazon
25:01
closed source providers closed source providers we have put all the focus in open source projects and open source projects inside the foundation for example, Microsoft is doing pretty interesting things in IOD and they are open source also but they are not inside the foundation this is why they are not here
25:20
but probably this is something that we need to change and to start because they are a player in this community an important player so we should find ways probably in the next release of this platform we try to aggregate other projects that are not part of the foundation but we need to find a clear
25:40
criteria to do that so we need to think about why we are adding for example, the Microsoft projects in GitHub and not for example the projects from any other providers so these kind of things should be told we have time for one more question
26:00
anyone? anyone? okay, thank you guys
Recommendations
Series of 18 media