Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Apache Ant Comunity Learnings

Apache Ant Comunity Learnings

Reflecting on the past 17 years I spent in the Ant developer community I tried to identify a few things other communities could learn from our successes and mistakes.

Stefan Bodewig

November 20, 2017
Tweet

More Decks by Stefan Bodewig

Other Decks in Technology

Transcript

  1. Apache Ant
    Community Learnings
    FOSS Backstage Micro-Summit, Berlin 2017-11-20
    Stefan Bodewig
    [email protected]

    View full-size slide

  2. About Me
    Open Source Developer since 1994
    Ant Committer since June 2000
    Release Manager of Ant 1.1 (July 2000) and
    1.10.1 (Feb 2017)
    Apache Member since October 2000
    Senior Consultant at innoQ
    1

    View full-size slide

  3. Apache Ant
    Apache Ant™, Ant, Apache, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    2

    View full-size slide

  4. Commits
    2000 2002 2004 2006 2008 2010 2012 2014 2016
    0
    250
    500
    Chart by Black Duck Software, Inc / /
    CC-BY https://www.openhub.net/p/ant
    3

    View full-size slide

  5. Contributors
    2000 2005 2010 2015
    0
    5
    10
    15
    Original Chart by Black Duck Software, Inc / /
    CC-BY https://www.openhub.net/p/ant
    4

    View full-size slide

  6. Releases
    2000 2002 2004 2006 2008 2010 2012 2014 2016
    0
    250
    500
    1.1 1.2
    1.3
    1.4 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 1.10.0
    Original Chart by Black Duck Software, Inc / /
    CC-BY https://www.openhub.net/p/ant
    5

    View full-size slide

  7. In the Beginning
    2000 2002 2004 2006 2008 2010 2012 2014 2016
    1.2
    Original Chart by Black Duck Software, Inc / /
    CC-BY https://www.openhub.net/p/ant
    6

    View full-size slide

  8. How to build a community?
    no idea, honestly
    the right idea at the right time
    7

    View full-size slide

  9. Small Units of Autonomous Work
    8

    View full-size slide

  10. User Mailing Lists
    0
    500
    1000
    1500
    2000
    2500
    3000
    2000 2002 2004 2006 2008 2010 2012 2014 2016
    user
    dev
    9

    View full-size slide

  11. Non-Coding
    Contributors
    10

    View full-size slide

  12. Advice
    a place for non-devs is essential
    you don't need to answer everything yourself
    but show presence
    11

    View full-size slide

  13. User Mailing Lists
    0
    500
    1000
    1500
    2000
    2500
    3000
    2000 2002 2004 2006 2008 2010 2012 2014 2016
    user
    dev
    12

    View full-size slide

  14. But
    hard to replicate in today's Stack Overflow world
    I'd love to understand what can take it's place
    13

    View full-size slide

  15. Ant 2
    2000 2002 2004 2006 2008 2010 2012 2014 2016
    1.2
    1.3
    1.4 1.5.0
    Original Chart by Black Duck Software, Inc / /
    CC-BY https://www.openhub.net/p/ant
    14

    View full-size slide

  16. Backwards Compatibility
    Every new release of Ant breaks my build
    — often stated around Ant 1.2
    15

    View full-size slide

  17. Discussion
    ... aim is that we are going to break them
    no more than once more. I.e. we should try
    to get a clear vision of what we want to
    achieve with Ant 2.0, document it and
    then stick to it, at least for the near future.
    — https://lists.apache.org/thread.html/678451aa08b8911fa5
    16

    View full-size slide

  18. Rules for Revolutionaries
    In short:
    1. everybody can propose a "revolution" in a
    subdir
    2. when ready propose merge
    3. when accepted replace original
    https://marc.info/?l=jakarta-
    general&m=86951909307230&w=2
    17

    View full-size slide

  19. Problems Faced
    too many revolutionaries
    what if the revolution is not accepted?
    mere announcement of revolution stalls
    evolution
    18

    View full-size slide

  20. Design By Committee
    takes ages
    even more so when you strive for consensus
    still doesn't guarantee to make everybody happy
    19

    View full-size slide

  21. Result
    lot's of feelings hurt
    fork of the community - twice
    "Ant2" is burnt forever
    20

    View full-size slide

  22. Advice
    avoid multiple simultaneous revolutions
    be aware that proposed revolutions may fork the
    community
    don't try to force a revolution
    21

    View full-size slide

  23. Drive-by Contributions
    2000 2002 2004 2006 2008 2010 2012 2014 2016
    0
    250
    500
    1.6.0
    Original Chart by Black Duck Software, Inc / /
    CC-BY https://www.openhub.net/p/ant
    22

    View full-size slide

  24. Advice
    embrace Drive-by Contributions
    but you don't have to accept everything
    celebrate every contribution in public
    accept some contributors are only interested in
    small parts
    don't let code ownership get into the way
    23

    View full-size slide

  25. Integrating new Communities
    24

    View full-size slide

  26. Advice
    don't put a barrier between old and new
    community
    collective code ownership
    25

    View full-size slide

  27. Aging Project
    Original Charts by Black Duck Software, Inc / /
    CC-BY https://www.openhub.net/p/ant
    26

    View full-size slide

  28. Running Out Of Itches
    27

    View full-size slide

  29. Dangers
    no easy tasks left to do
    "we've already discussed that"
    "backwards incompatible"
    28

    View full-size slide

  30. Advice
    try to not fix easy bugs (immediately)
    set time aside for mentoring
    better start doing so before it's too late
    29

    View full-size slide

  31. Contact
    Stefan Bodewig
    [email protected]
    Stefan Bodewig @ innoQ
    [email protected]
    31

    View full-size slide