This year’s OMNeT++ Summit, for the first time in the history of annual OMNeT++ workshops and summits, featured a community development session. The following question was posed to the participants on the previous day, with the instruction to think about it: “If the OMNeT++ community had some funds, think of a few tens of thousands of euros or dollars, and it was up to you to spend it in the best interest of the community, what would you do with it?”
Think about your own answer before you read on and see the replies we received…
On the next day we had a session to discuss the results. The participants gathered in groups around the tables (we still had them from the ConverStations), and were given some time to discuss the ideas of the members within the group. When the time was up, an elected spokesperson from each group presented the ideas for the rest of the participants.
The purpose of the original question was to help uncover hidden opportunities for synergies present in the community, and find ways to catalyze them. Indeed, quite a number of suggestions were made in that direction, many of which we’d never thought of before. Here are a few, in no particular order:
Travel grants. Since the Summit has become more of an event of the OMNeT++ community and less a scientific conference in recent years (which is a good thing and quite unique among similar communities), getting funding to participate has become more difficult for many. Therefore, funding could be used to cover travel and/or accommodation costs for some of the participants who need it.
Teaching materials. Many universities teach simulation and/or networking using OMNeT++, and jointly developing at least a subset of the teaching materials would make sense. (Such cooperation is already happening – contact us for a pointer if you are interested.) Some have also expressed their need for online teaching materials, be it on YouTube or on online academies like Coursera or Udemy. If the curriculum is standardized, “OMNeT++ certification” could also be possible.
Fostering cooperation. There is a tremendous amount of duplication of work in the community. Often multiple independent groups are working on the implementing the same idea or simulation model or fighting with the same problems, unaware of each other. Perhaps a community manager whose job would be partly to collect and disseminate information about ongoing projects at various universities and research groups could help participants find cooperation partners and share work. (This would probably only work if the community manager is a well-known person in the community who travels a lot and has good connections in the community.)
Improving final project output. Each year, talented graduating students produce simulation models of various protocols and other systems as (part of) their Master’s degree final projects, and make the code publicly available for others to use. However, actually using these models in other projects quite often turns out to be problematic in practice, due to the code not being as polished it should be. (Anyone who has lived through the pressure of having to finish up the thesis by deadline knows the reasons. When the deadline is approaching, tinkering with preparing tests, refactoring, source code comments and suchlike is usually not the first priority…) Perhaps, funding could be used to motivate students to do the remaining 20% of the work after graduation, when there is no longer a time pressure. In that period, code reviews and mentoring from members of the community could also tremendously improve the quality of the end product.
Bounties could be offered to those who carry out well-defined tasks, such as porting a model to recent versions OMNeT++ or INET, making a model interoperable with INET, fixing a certain known bug, adding a specific feature, etc. Software bounties are well-known in the industry as a way of improving open-source software, and there are online services for managing the process. All the community needs is to define and prioritize the tasks we want to be done. In particular, abandoned simulation models and frameworks are quite abundant in the OMNeT++ ecosystem, due to the natural lifecycle of research projects in the Academia (when the research team moves on to a different topic and/or the participating student(s) graduate and leave, nobody is interested in maintaining the code any more), and bounties can be be a way of keeping such important but abandoned projects reasonably up to date. Alternatively, utilizing Google Summer of Code might also be an option – for that we’d need possible mentoring organizations in the community to step forward.
Several other ideas have also been brought up.
As for the chance of some of the above ideas actually being implemented, such large-scale cooperation is not unprecedented in the OMNeT++ community. Think of the “ecosystem book”, which is a result of several dozens of people working together with the leadership of two very dedicated and hardworking editors.
At the end of the session, it was suggested that the most important thing was to continue the discussion, and not let it die off and only come up at next year’s Summit again. Therefore, by use of a temporary mailing list, an account was created on Loomio, an online collaborative decision-making platform. Access to the Loomio OMNeT++ virtual community will be invitation-based, based on past participation and recommendation. If you’d like to join and prefer not to wait until you are invited, please contact the core team or one of the Summit organizers.