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

LibreOffice: Get Involved -- FISL 14

LibreOffice: Get Involved -- FISL 14

LibreOffice is one of the biggest and most important open source projects. Still we actively encourage volunteers to get involved. This talks presents possible entry points for a newcomer to get started and explains how the project takes effort to make your first contribution into the product less intimidating. Building on that, this talk will also showcase what some volunteers managed to archive and finally present you a set of opportunities to easily make your first contribution.
video of presentation at:
http://hemingway.softwarelivre.org/fisl14/high/40t/sala40t-high-201307031602.ogg

Bjoern Michaelsen

July 03, 2013
Tweet

More Decks by Bjoern Michaelsen

Other Decks in Programming

Transcript

  1. 2 liberating productivity Agenda LibreOffice and TDF: Why care? Mythbusting!

    Easy Hacks Intermission: bibisect Becoming part of the community
  2. 3 liberating productivity LibreOffice and TDF: Why care? On monster.de:

    over 400 jobs posted for “Sharepoint” Do you want government keep data on you in 'secure clouds'? A ARM 1 Ghz QuadCore already is a terrible thing to waste on JavaScript
  3. 5 Mythbusting 1: We love to help you getting started!

    “... developers have little contact with the community, and more than one enthusiastic volunteer has difted away from the project in disillusionment after attempting to contribute.” – Anonymous guy on the net, quoting data from 2009 http://www.linuxplanet.com/linuxplanet/reports/6636/1
  4. 6 Building then and now – Part One: Then (2009)

    Run an “outer” configure Run a “outer” make Which unpacks 20 tarballs (yes, the source code was delivered as a tarball of tarballs) then runs the patched patchsystem(*) to patch the unpacked tarballs then calls a “inner” configure, which: does the usual testing for libraries etc. uses automake to generate a very small wrapper Makefile calls a Perl script that creates a Bash and a Csh scripts, which create environments then starts a Bash and: sources the Bash script, which tweaks the environment of that shell Runs automake-generated wrapper Makefile from this environment, which: calls one shell script, which downloads additional (external) source tarballs then calls another shell script that builds the dmake make tools then calls a perl script (build.pl), which starts an instance of the just build dmake utility in each and every directory (*) that patchsystem would of course be patched by Debian vendor patches. And then Ubuntu patches on top of that. Building guide for Linux at the end of 2009: 11.387 bytes plus 7.579 bytes plus 4.913 bytes plus 2.803 bytes
  5. 7 Building then and now – Part Two: Now Run

    autogen.sh which uses standard autoconf to create a configuration file Run make which reads the configuration and starts building LibreOffice from one instance of GNU make Total Building instructions for the first build: 7 lines on https://wiki.documentfoundation.org/Development/BuildingOnLinux
  6. 8 Building then and now – Part Two: Now Build

    times: Even on Windows, we got a developer build down below 80 minutes from scratch by now (that used to be the time you needed for sw/Writer alone) With all the tricks (ccache, building in RAM, disabling tests a sane OS, and a big machine) one can get a build of LibreOffice in less than 2 minutes
  7. 9 Mythbusting 2: We love to help new contributors! “Have

    you ever tried to contribute to Open/LibreOffice? The project is infamous for basically ignoring the contributions of the non-blessed.” – Anonymous guy on the net
  8. 10 Easy Hacks: How it started ... It all started

    with a simple wiki page: http://wiki.documentfoundation.org/Development/Easy_Hacks too successful for itself simplified by bugzilla integration
  9. 11 Easy Hacks: … and where we are now. too

    successful for itself simplified by bugzilla integration
  10. 12 Easy Hacks: There is more than C++ No need

    to be a 31331 hax0r to start contributing Of course, we are still interested if you are one ;) You might become a domain expert faster than you can say “LibreOffice is a great project!”, no matter where you start from
  11. 15 Easy Hacks Example 3: bibisecting use the bisection method

    to find out when a regression was first introduced: go to the middle between known good and bad states compile and build test … lather, rinse, repeat ...
  12. 16 Intermission: bibisect Idea: Put More than Fifty complete binary

    LibreOffice builds Into One git repository! “... there are crazy people like you on the LibreOffice project ...”
  13. 17 Intermission: bibisect awesomeness 53 complete Linux 64-bit LibreOffice installs

    compiled on Ubuntu 11.10, but works elsewhere too over a range of >5000 commits At 450 MB each, that would be 22GB However, it is only 749MB download size That is less than 15 MB per install
  14. 18 Intermission: bibisect awesomeness “I am happy that there are

    crazy people like you on the LibreOffice project. Every sane person would have been sure that this cannot possibly work out.” – Michael Stahl Though this be madness, yet there is method in 't – Shakespeare, Hamlet
  15. 19 Intermission: bibisect – where are we now? We have

    one bibisect repository covering the range: from mid-3.5 development (August 2011) to the 4.0.0 beta1 (December 2012) covering a range of some ~25.000 commits with 262 builds in one 4.1Gb download And another that covers the range starting from around where the above repo ended with daily updates more than 260 builds and counting ...
  16. 20 Intermission: bibisect – does it work? In bugzilla we

    currently have 117 successfully bibisected bugs: 61 are fixed (65% of fixed or unresolved) 34 are unresolved, 22 were resolved otherwise General LibreOffice bugs: only 34.3% fixed of all fixed or unresolved 0% 20% 40% 60% 80% 100% 120% all bugs bibisected
  17. 21 I have got my first changes done! Now what?

    Do I need to get a permission to get involved? No! Do I need to get an account to get involved? Well, kinda. Actually, you most likely already have one. Do I need to pass some tests for others to let me modify the source? No! Do I need to fumble around with manually copy pasting patches? No!
  18. 22 I have got my changes done! Now what? Do

    I need to get a permission to get involved? Do I need to get an account to get involved? Do I need to pass some tests for others to let me modify the source? Do I need to fumble around with manually copy pasting patches? No, as we use http://gerrit.libreoffice.org, which only requires you to have an OpenID – and then you can push your change directly from git: no manual fumbling with patches no confusion if your patch is already in no confusion against what version/branch/commit your change is against
  19. 23 Gerrit: Extras and Boni You can get a test

    build on Linux, OS X, Windows before your patch is on master. You can lurk around, see and learn how other changes are reviewed and tweaked before they go in. You can easily put stuff there for review even when you have permission to commit without review. But this gerrit thing is all confusing to me! Cant I just send a patch with “[PATCH] ….” in subject to [email protected]? Yes, you can!
  20. 25 LibreOffice Events Europe had 17 events in 2012, currently

    at least 15 events planned for 2013 Brazil had a Hackday in 2012:
  21. 26 Conclusion: Send us a patch/Talk to us on IRC

    #libreoffice-dev on freenode #libreoffice-qa on freenode
  22. 27 Unreasonable? Join us! “The reasonable man adapts himself to

    the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.” – G. B. Shaw