Successfully reported this slideshow.
Your SlideShare is downloading. ×

Wanna see your open source project succeed? - Nurture your community

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 57 Ad

Wanna see your open source project succeed? - Nurture your community

Download to read offline

Many open source projects stagnate after an initial push and end-up fading away. In this talk, we will argue that, most of the time, the reason has nothing to do with the quality of the software itself but with the project's inability to attract and support a healthy community around it. A community of contributors but also a community of users that must take an active role in the project as well.

We will review several actions and strategies that OSS project managers could put into practice to reverse this situation, mostly taken from atypical disciplines (for a software talk) like social science, economy and political science. As an example, we will talk about transparency and democracy in OSS, matching market design and software ecosystems.

Many open source projects stagnate after an initial push and end-up fading away. In this talk, we will argue that, most of the time, the reason has nothing to do with the quality of the software itself but with the project's inability to attract and support a healthy community around it. A community of contributors but also a community of users that must take an active role in the project as well.

We will review several actions and strategies that OSS project managers could put into practice to reverse this situation, mostly taken from atypical disciplines (for a software talk) like social science, economy and political science. As an example, we will talk about transparency and democracy in OSS, matching market design and software ecosystems.

Advertisement
Advertisement

More Related Content

Viewers also liked (20)

Similar to Wanna see your open source project succeed? - Nurture your community (20)

Advertisement

More from Jordi Cabot (20)

Recently uploaded (20)

Advertisement

Wanna see your open source project succeed? - Nurture your community

  1. 1. Wanna see your OSS project succeed? Nurture your community Jordi Cabot – ICREA Research Professor at UOC @softmodeling modeling-languages.com
  2. 2. SOM Research Lab Software runs the world. Models run the software
  3. 3. The Team Postdoc PhD Students Professors Lecturers
  4. 4. Our mission We are interested in the broad area of systems and software engineering, especially promoting the rigorous use of software models and engineering principles in all software engineering tasks while keeping an eye on the most unpredictable element in any project: the people involved in it. Flickr/clement127
  5. 5. Been there, done that since 2003 <<metaclass >> GeneralizableElement <<stereotype>> <<stereotype>> Temporal Tags Durability: DurabilityKind Frequency: FrequencyKind Constraints { Durability=constant or Durability=permanent implies Frequency=single} <<enumeration>> DurabilityKind constant permanent durable instantaneous <<enumeration>> FrequencyKind single intermittent Fig. 4.1 –The <<temporal>> stereotype
  6. 6. I’m part of your tribe
  7. 7. Why the f*** are people not using our tools?
  8. 8. Industrialization of research tools BUT: -Relies too much on SMEs that may change their focus - Naïve view of open source (people will magically show up and help)
  9. 9. Remember when... Many projects fail and get abandoned in the very early stages unable to get any traction (or because they lose it!)
  10. 10. Goal: Discuss strategies to ensure the long- term sustainability of Papyrus
  11. 11. Software Analysis
  12. 12. Most works focus on code analysis
  13. 13. Code Community
  14. 14. Nurtur e your Comm unityYour community is the KEY
  15. 15. How to help your OSS succeed Governing OptimizingOnboarding
  16. 16. Community Health
  17. 17. Size doesn’t matter
  18. 18. Undertanding Community = Graph Analysis • Many types of graphs (e.g. Bipartite graphs) • Many types of properties – Micro-view (local properties) – Macro-view (global properties) – Meso-level (emerging properties) • Analysis at different levels
  19. 19. Build the right graph for your purpose
  20. 20. Label Usage
  21. 21. User Involvement
  22. 22. Bus Factor “Number of key developers who would need to be incapacitated (hit by a bus), to send the project into disarray that it would not be able to proceed”
  23. 23. 64.43% 12.58%
  24. 24. Betweenness & cia Useful to identify subcommunities and increase commnication
  25. 25. Nestedness (first results) Occasional contributors focus on the most frequently modified files
  26. 26. http://matt.might.net/articles/phd-school-in-pictures Andthere’smuch more... rich club ordering, small world behaviour, modularity…
  27. 27. Gitana: Integrated analysis Coding platform Issue trackers Commun. channels Code review tools
  28. 28. Attracting contributors (and keeping them)
  29. 29. +Retention: If you contribute to one release in WP, there is a 46% chance you will contribute to the next
  30. 30. Facilitateon boarding: Importance of first impressions
  31. 31. What kidney exchange programs can teach us about OSS? © www.forbes.com
  32. 32. Retribution=OSS as a matchingmarket (markets wheremoney is not the main factor)
  33. 33. © diehardbrain.blogspot.com.es/
  34. 34. Gamificationon top of GitHub
  35. 35. © Apple Records Power to the people
  36. 36. Benevolent Dictator for Life
  37. 37. ******
  38. 38. Governance in every project MUST be explicit (TRANSPARENCY)
  39. 39. Governance should also be more democratic
  40. 40. If you don’t like it, just fork it Option only available for technical users End-users are not technical experts, can’t give valid opinions No need to ALL vote on EVERYTHING. Or not with the same weight (dangerous road) The open source definition does not mention democracy True
  41. 41. It would be impossible to make decisions Many types of democracy (liquid, direct, representative,...) I am a volunteer, I want to work on what interests me Sure. You can always do that (but less impact) Proprietary software is much worse Agreed
  42. 42. ******
  43. 43. Project myProject { Roles: Committers Deadlines: myDeadline : 7 days Rules: myMajorityRule : Majority { applied to Task when TaskReview people Committers range Present minVotes 3 deadline myDeadline } } All the proposals for new development tasks will be accepted or rejected in 7 days by the committers of the project. Verbalization
  44. 44. ThemanynamesofDemocracy
  45. 45. ThemanynamesofDemocracy
  46. 46. • Problem is getting worse – Complexity of SW – New channels (e.g. Slack) – Team distribution • Need of studies targeting MDE projects • Multi-disciplinary solution
  47. 47. Let’s work together jordi.cabot@ icrea.cat @softmodeling modeling- languages.com

Editor's Notes

  • My team at som-research.uoc.edu
  • We have a soft side
  • Modeling tools we have developed
  • I’m part of your tribe, even if today we are going to talk about open source communities. Let’s see how we got involved on that
  • But today we’re going to talk about another thing . How did we get involved on this?
    Even if many of my academic colleagues don’t believe so there is life beyond papers so we got interested in understanding how we could have a greater impact
  • To be used, tools must be of high quality : documentation, support, user interface,.... <- We couldn´t do this alone, we had to industrialize them
    We got some success
  • Software Analysis is the tool we are going to use to understand what makes a project succeed. Key is to have the project itself as our target of study to learn about what it works and what it doesn’t <- New research field of software mining thanks to GitHub and its over > 30 M projects
  • And we have learnt a lot about this, for instance we just finished conducting a metastudy on all the papers that have analyzed data from GitHub to extract some patterns on software development practices. Valerio Cosentino, Javier Luis Cánovas Izquierdo, Jordi Cabot: Findings from GitHub: methods, datasets and limitations. MSR 2016: 137-141
  • But if we only focus on the code we’re missing the most important aspect: the people building AND using that code - > the Community
    Important: the community is more than developers
  • Still, looking at raw community data is a mess. A good community analysis is not trivial to do.
  • The three aspects are interrelated and just a way to try to decompose the problem
    But we cannot do it alone, we need powerful friends from political science, social science and ecology / complex systems.
    Complex systems study how parts of a system give rise to the collective behaviors of the system, and how the system interacts with its environment
  • Community is not only the developers but also the users that have the right to have an active involvement in the project
  • Us posaré alguns exemples.

  • They can be collapsed for simpler analysis
  • a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint sets {\displaystyle U} and {\displaystyle V} (that is, {\displaystyle U} and {\displaystyle V} are each independent sets) such that every edge connects a vertex in {\displaystyle U} to one in {\displaystyle V}. Vertex sets {\displaystyle U} and {\displaystyle V} are usually called the parts of the graph
  • Comment the meaning of the size of
  • Importància no només del codi sinó de la discussió al voltant del projecte, per exemple quines etiquetes es fan servir més
  • I qui s’encarrega de comentar-les / tancar-les (tipus “bus factor” però de la interacció amb els usuaris).
  • I will now show you three metrics that can be calculated on top of these graphs of data.
    1- Bus facotr
    Helps to assess the employee turnover risk
    Identify the key developers
    Measure the concentration of information
  • Positive evolution of WordPress vs Papyrus bus factor
  • Number of shortest paths that passes through a node. The more the higher betweenness centrality. It says if we lose nodes with high betweenness we fragment (or “delay”) the community
    Related to clustering / subcommunities / modular classes algorithms
    https://wiki.cs.umd.edu/cmsc734_09/index.php?title=Music_Artist_Collaborations_from_MusicBrainz
  • Only core people tackle the files nobody wants. Drive people to the files that nobody wants to modify
  • Gitana https://github.com/SOM-Research/Gitana
  • You need to monitor how well are you doing in attracting new contributors.
    Retention:past contributions as a predictor of future contributions are pretty consistent across releases.
  • if a project doesn’t make a good first impression, newcomers may wait a long time before giving it a second chance. Importance of good impression!
    Up-for-grabs and good-first-bugs are curated tasks specifically for new contributors

  • What are other more far-fetched strategies to attrac people?
    This is not a problem of only software engineering
  • Chains of collaborations across projects
  • Time-based currency
  • The typical reaction when I say this
  • Democracy is not perfect but I don’t see how the lack of democracy is better.

    In any case, it’s worth that projects have this internal discussion
  • Typical comments against the idea
  • As a volunteer, you can go out in the neighbourhood and do whatever you want (But is this the most efficient way to do things?)
  • So what are we proposing?
    2 things. First, to address transparency -> add to each project a governance.md file expliciting the governance rules of the project
  • Our DSL for the governance Javier Luis Cánovas Izquierdo, Jordi Cabot: Enabling the Definition and Enforcement of Governance Rules in Open Source Systems. ICSE (2) 2015: 505-514
  • Si és així es podria fins i tot automatitzar / assistir en la gestió del projecte. De fet tenim un plugin de Eclipse que via una eina que es diu Mylin es connecta a diversos issue and bug trackers per extreure aquesta informació, aplica les regles i actualitzar les issues.
  • And our second proposal is to have a closer look at the democracy models and see which ones could work best for open source. We have over 500 variants of democracy
  • Of course, once you choose one, you’ll need tool support to implement your democratic model
  • We’re always looking for collaborations.

    So get involved in our research or stop complaining about useless research done in academia!!!!
  • We’re always looking for collaborations.

    So get involved in our research or stop complaining about useless research done in academia!!!!
  • I que la gent creu possible que s’expliciti millor i fins i tot que s’automatitzi. I que fer-ho faria que hi hagués més contribuïdors.
  • Tant de forma “formal” com en llenguatge natural
  • Això no és un invent nostre, fixeu-vos que vam fer una enquesta anònima i els resultats confirmen que el problema de la manca de transparència és real

×