SlideShare a Scribd company logo
1 of 47
Download to read offline
The wonderful world of:




Or – How we will fix your office suite

        Michael Meeks
                  michael.meeks@novell.com

     “Stand at the crossroads and look; ask for the
   ancient paths, ask where the good way is, and walk
       in it, and you will find rest for your souls...” -
                       Jeremiah 6:16



                                                            1
Overview & disclaimer ...

 I am not speaking for the Document Foundation
     These views are mine, but you're welcome to borrow them.
 LibreOffice is better, and fun too
    How is it going ?
    What are we doing ?
    Progress so far
 Check the license applies to everyone
    More general legal interest
 LibreOffice appreciates your help
    and/or ways to get involved
 Conclusions

                                                                2
What / Why of LibreOffice




                            3
What is LibreOffice / The Document Foundation

 Finally “doing it right”
    vendor neutral, no code ownership aggregation
    a real Free Software / hackers project
    Volunteers + RedHat + Novell + Debian + Canonical + Google …
    FSF + OSI support, boycott + Novell support etc.
    Freedesktop hosting
    LGPLv3+ / MPL for new code ...
 An idea – whose time has finally come …
    a beautiful, Office suite we can be proud of (in due
    course) backed by a real, open community
 Shipping now on Windows, Mac, GNU / Linux, *BSD etc.
 ODF enables trivial migration with your data ...
                                                                   4
Why now ? Is it all Oracle's fault ?

 ten years after the promise of a foundation …
      “a foundation is a great idea … the time is not yet ripe …
      perhaps in another three years” etc. etc.
      Patience – a virtue, but not an inexhaustible resource.
 some truly fantastic 'opportunities' for improvement
      Vendor neutrality / no copyright assignment barrier
 ~unrelated to Oracle – StarDivision have real autonomy
      please don't hate them, they have hard problems
      the 'community' has '~failed' them for many years
      we have great friends & hackers there
 motivated by a love of freedom, not by hatred.
      would love Oracle to join in with the fun.
                                                                   5
Give up now !?!?? – the web will swallow us all ...

 The proliferation of web developers is amazing:
    full function off-line == re-write all in Javascript
          Best of luck with this project: 8 million lines later
    eg. Conference WiFi & 3G is extremely cluttered
        I would like to show you these slides today
            but they are on a server I can't get to, no DNS, no signal, no ...
    Rent vs. Buy - cloudness ? – Buy Furcate, Rent Collectors ?
 My Phone is an 80's super-computer anyway …
      seen my vt220 app ?
 WYSIWYG, page layout ~impossible in a CSS world
  HTML5 / the Canvas may change this … VNC/web etc.


                                                                                 6
How is it going … Extremely well, thus far

 100+ entirely new code contributors with included patches, 50+ translators
    Around one new developer each day, and ½ a translator
 Initial stable release: 3.3.0 out, 3.3.1 RC1 next week.
    Development apace on 3.4 – late March freeze, early May release.
 Sadly – Oracle won't join us in name (yet) …
    though they contribute indirectly.

                                     70

                                     60
         Number of code committers




                                     50

                                     40

                                     30

                                     20

                                     10

                                      0
                                         2010-38 2010-40 2010-42 2010-44 2010-46 2010-48 2010-50 2010-52 2011-02 2011-04
                                     2010-37 2010-39 2010-41 2010-43 2010-45 2010-47 2010-49 2010-51 2011-01 2011-03 2011-05


                                                    Known contributors   New Contributors   Novell   Oracle   Redhat


                                                                                                                               7
What are we doing ?

 Pay down the vast technical debt we inherited
                         an ancient and gnarled, 20+yr old beast
                                 organic growth, without refactoring, a lack of code review etc.
 eg. the opt-in approach to lifecycle management:
                       dozens of crashers on exit                    Data from IBM of OO.o measurements
                                                                     for writer / symphony, presented at
                       300
                                                                     OOoCon10
  MegaBytes consumed




                       250
                                                            OO.o 3.1m11
                       200                                                                  Symphony final
                       150
                       100
                        50                                           OO.o 1.1
                        0
                             1           50        100         150             200    250
                                                  Open/Save/Close iterations


                                                                                                             8
What are we doing ? #2

 Translating the source code:
      100k+ LOC of German comments, after 10 years of 'open'
        Some virtually useless: (CUPS style)
        //    Beschreibung:     textuelle Beschreibung ermittel
        String SwDocStyleSheet::GetDescription(SfxMapUnit eUnit)
        Others somewhat more useful:
        |*     Wenn bereits ein passendes Format existiert, so wird dies
        |*     zurueckgeliefert.
        |* Ersterstellung       MA 22. Sep. 92
        |* Letzte Aenderung JP 08.05.98

        And more that are useful (we think)
 Fantastic “German comment detector” from Miklos
    Re-uses existing LO code for language detection :-)
 Are you German ? can you read this ?  we need your skills !

                                                                           9
What are we doing ? #3 – Revision Control ...

 OpenOffice.org had a chequered history RCS wise
      collab.net's CVS – multiple-hours to tag the repository …
      After years of pain – rejected git for temporary move to svn
      Then moved to mercurial – history routinely lost
 Thus – a reliable workaround: the in-code RCS …
      #if 0 – is your friend ! (good for 10's of kloc)
      If in doubt, just comment it out (huge chunks of code):
      //UNUSED2008-05         if (nCount==1)
      //UNUSED2008-05             return 0;    // leer

      Annotate sections you change carefully: etc. etc.
      // --> OD 2005-12-12 #i27301# - use new type definition for parameter...

 LibreOffice – uses git [!]
  We bin insubstantial or un-necessary comments to improve readability.
                                                                                 10
What are we doing ? #4

 Making it easy to contribute
    Google search: libreoffice easy hacks
    Giving permission for change: we value your changes!
 Creating unit tests (run during build) – Caolan
    Only the very beginnings of good unit tests
 Removing VOS (deprecated a decade ago) – Norbert
 Merging outstanding Debian, RedHat, Novell patch-sets
 Misc. community features eg. GSOC bits
    RTF export, reducing code duplication, bug fixing – Miklos
    In-line, interactive formula editing – Jonas
 Bug, warning, lint error, cppcheck fixing ...

                                                                 11
An example …

 John Lee Castle
     arrives on list to help debug a (star)basic crash
     2 days later – first set of 'warning' patches merged
     Sadly beaten to the word-count feature, but …
     digs in bugzilla to find & 1 week later fixes Issue 76852:
      Opened: Wed May 2 12:28:00 +0000 2007

      Run this Basic macro:
      Dim s as single
      s = 999999                        A one line fix   !
      print s    ' display : 999999
      s = s+1
      print s    ' display : 1    ***** incorrect ***
      s = s+1
      print s    ' display : 1.000001E6



                                                                  12
New Features, distinctive to LibreOffice ...
  Or: why should I choose LibreOffice ?




                                               13
New Features, distinctive to LibreOffice … #2
 Bundling existing, useful extensions – instead of burying them ...




                                                                      14
New Features, distinctive to LibreOffice … #3
 Experimental features, not perfect, but a taster: In-line formula editing ...




                                                                            Click and edit
                                                                            here:




                                                                            Not just here:




            Thanks to Jonas Finneman Jensen, and Luke Dixon ...

                                                                                             15
Spot the launch date ...

                                                                                                                     Day #1 nearly same code
                                                                                                                     Is it just an 'easy hacks' page ?


                            70

                            60                                                                                                   Xmas + 3.3.0
Number of code committers




                            50

                            40

                            30

                            20

                            10

                             0
                                  2010-38     2010-40     2010-42     2010-44     2010-46     2010-48     2010-50     2010-52     2011-02     2011-04
                            2010-37     2010-39     2010-41     2010-43     2010-45     2010-47     2010-49     2010-51     2011-01     2011-03     2011-05


                                                           Known contributors   New Contributors   Novell   Oracle    Redhat




                                                                                                                                                              16
This slide deliberately left blank




                                     17
Check the license applies to everyone ...




                                            18
Vendor neutrality / no assignment of ownership ...

 An emerging subtle threat to software freedom
    Assigning ownership to companies
    Not always 'copyright' – sometimes just a public domain contribution,
    leaving an exclusive corporate owner of the complete work.
    Often assignment with a fall-back license: perpetual, irrevocable,
    worldwide, no-charge, royalty-free, unrestricted ...
 Why should I care ?
    Traditionally people mostly cared about (Free) licenses (good)
 I will argue that you need to care about others' terms too
  1) Assignment creates a barrier of delay and conflict
  2) It disrupts a delicate hacker / suit-wearer balance
  3) It entrenches corporate control, and excludes competitors
  4) It creates FUD around free-software licenses & practices

                                                                       19
Assignment creates a barrier of delay, and conflict

  Even in the (much more defensible) case of assignment to a well
  governed non-profit – there are (historical) problems:
Why are there two Emacsen? [ xemacs and emacs ]
Hysterical reasons. See the public flames if you must know. Currently the largest problems is
that Sun owns the copyright for large part of the code. It is copyleft, but they refuse to
sign over the changes to the FSF. Some people think it is good to have an Emacs variant
where you can contribute code without signing any papers. Feel free to disagree.
       Ergo, some, sometimes think this is a bad thing.
  The Best of Strangers
     A brilliant research paper on privacy expectations
     Strong suspicion that handing people a dense and comprehensive
     legal paper to sign on day-zero can badly hurt trust.
  Systemd: “We value your contributions and hence do not require
  copyright assignment” - we welcome you as a peer … immediately


                                                                                           20
Disrupting the Hacker / Suit balance ...

 This problem primarily created by suits:
      Your pet project: is already owned by pointy haired boss
      He doesn't listen to advice from Dilbert in linear time
 Technical and relational understanding diminish upwards
      All that good work you did means nothing vs. hard $
 Importing the P&L / competitive angst into our community
      Many people I call friends at RedHat, no doubt our sales and
      business people compete aggressively
 Technology / stack decision making
      Bad results from considering ownership / corporate alliances
      at a business level first ? “This is our swamp ! We build here !”
      most inter-corporate agreements are confidential: death of
      community transparency ?
                                                                      21
Entrenching corporate control: Excluding others ...

 Disclaimer: this is a project I know – nothing – about.
 The 'apparently' open project
  OpenSPARC – ~GPLv2 licensed + 'Shared' CA
    All contributors to OpenSPARC are required to sign the
    Contributor Agreement ("CA") before contributing code to the
    community. This enables a single entity to represent the aggregated
    code base and gives the 'community' flexibility to act as a whole to
    changing situations.
 SPARC or OpenSPARC ?
   Safest to proprietary license from Oracle … ?
   Needs a 'Welcome' sign with: “Academics, non-profits &
   partners welcome”


                                                                      22
Entrenching corporate control: Excluding others

 Mobile Phone industry                                ELAN           LG       Qualcomm
 at patent war:                                    Apple            Nokia
    A vastly simplified
                                        HTC
    view: of what is public                                Google
                                                                     Oracle
                                       Microsoft
 The GPL is a great license
                                                       Motorola
  I like the collective “in it together”
  wrt. dangers of software patents
 Corporate Ownership: breaks the solidarity
  If / as / when all these battles collapse in a blizzard of settlements – will
  you survive ? Perhaps only if you are 'liked' by the owner
 Good example of this in Sun / Microsoft settlement
  StarOffice – or OpenOffice.org ?
                                                                                   23
Entrenching corporate control: 'Open' Core

 Open Core (according to Lampitt)
  core is GPL: if you embed the GPL in closed source, you pay a fee
  [ optional tech-support for a fee ]
  “annual commercial subscription includes: Indemnity, ...”
 Claims of special “Indemnity” are suspect:
  Anyone can offer indemnity on Free Software
    RedHat & Novell & many others do, for code they do not own
  The 'special' piece, has to be the ability to avoid the
  license everyone else has to accept...
    Enabled by ownership assignment
 How do you market & sell an 'indemnity' product ?


                                                                      24
FUD around Free-Software licensing & practise ...

 So why would people ever sign such a thing ?
 Some great arguments:
      Copyright assignment enabled us to move from the GPLv2 to the GPLv3
      Better written as: we chose a non-plus license because we can.
 Re-licensing:
  Plus-licenses: GPL or later version, MPL, CDDL …
  Non-Plus: Apache (use CLA), EPL etc.
  So liberal no-one cares: BSD, MIT, X11, etc.
 The 'standing' chestnut …
 Deep seams of jurisdictional nonsense:
  “Upper Silesian tax law makes Free-software contribution a
  felony … ergo we need a custom Silesian CLA to be safe”

                                                                        25
FUD around Free-Software licensing & practise ...

 But we do have a contributor agreement
   The license we use:
 A beautiful, fair symmetry:
   Inbound == Outbound best in most cases
 I am not a Laywer (sadly)
   Richard Fontana (RedHat) who is, has a great talk on this:
   http://ref.fedorapeople.org/fontana-harmony.html
     Legal benefits of greater control sufficiently dubious
     to not justify harm done to the community by assignment
     Contributor Agreements seem to suggest that free
     software licenses are not good enough for the model.
     Ethical concerns: (unequal bargaining power)

                                                            26
More FUD: sustained investment ...

 “The only way companies can continue to invest in working on
 non-sexy projects is if they can 'own' it”
   Or is it ?
 Counter examples:
  almost our whole ecosystem is not owned by companies
  Linux, util-linux, udev, glibc, gcc, perl, python, Mozilla,
  Webkit, Apache, dbus, gtk+, GNOME, etc.
    Personally ~all (cleanly written) software is quite sexy
 A counter-statement:
  “We must not let companies, who are uncertain of their
  continued investment, to exclude others from co-owning
  and building out key pieces of our stack”

                                                                27
More FUD: the valuable MySQL model ...

 “Sometimes the only way we can get Free software in a given
 space is to allow one company a monopoly of ownership and
 control there: We must not hurt the valuable MySQL model !

 A counter-suggestion:
  “We must not let companies wanting to dominate, own and
  exclude competitors from a part of our stack / ecosystem to
  claim they are doing something good for Free Software”
      Consider where we could be with a true, organic alternative.
      The Sun acquisition dented the shine on this model too.




                                                                     28
More FUD: no traction for non-CA projects


 “If you look at projects with lots of traction, only assignment
 based projects are a success. We should be grateful to the
 companies that do all the heavy lifting (alone) there.”

 A counter-suggestion:

  “Linux is the paradigmatic successful Free Software project.
  No corporate ownership aggregation. And there are many
  others. Indeed – a single company doing all the heavy lifting
  is a sign of risk, and failure is one acquisition away.”



                                                                   29
Corporate Ownership trends ...

 (C) assignment projects get forked or re-written
   xpdf → poppler, libart_lgpl → cairo, MySQL → MariaDB …
 Evolution
   Novell dropped (C) assignment -> LGPLv2/3
 Red Hat has dismantled several contribution agreements:
 SpaceWalk, FreeIPA, JBoss CLA under review, Fedora's is
 now optional
   use in-bound equals out-bound in their place
 GNOME guidelines on assignment
   demands outbound type requirements in CAs
     patent licenses must apply to Free Software version
     proprietary licenses must be non-discriminatory and be
     published
                                                              30
LibreOffice needs your help ...




                                  31
New Features, distinctive to LibreOffice … #4
 Migration – sadly much of the corporate world is infected with VBA ...




                                                                          32
Can you: mirror / translate ...

 Mirrors: always room for more...
  mirrors@documentfoundation.org
  We are small: 11Gb per release vs. 76Gb
      and getting smaller
      free up 65Gb on your server ?
  We use (the excellent) mirrorbrain
 Translators: l10n@libreoffice.org
   we have a no-language-favoritism policy
      we bundle all active and completeish translations
      quick release: see the result of your labour in your
      own lifetime
                                                             33
New Features, distinctive to LibreOffice … #5
 Import your legacy Microsoft Works files – and move to ODF ...




                                                                  34
Can you: hack ? libreoffice@lists.freedesktop.org

 Ultra elite progamming skill not necessary
  Plenty of entry level problems; cf. Easy Hacks page
 A language you can help with is there:
  C, C++, Java, Python, Perl, Basic, shell, XSLT, Web* ...
 Tons of new simple tasks, and heavy lifting too
 Lots of easy hacks: (a tiny sample):
   removing pointless comments           remove thousands of multi-
   porting from Java → python            second sleeps from QA tooling
   and Java → C++                        help thread the spreadsheet re-
   kill 3 of 4 duplicate base64 impls.   calculation engine
   remove dead / un-called code          write unit tests
   fix cppcheck warnings                 stop battery sapping timer leaks
   remove obsolete macros                improve localisation tooling
                                                                       35
New Features, distinctive to LibreOffice … #?




                           Styles are a wonderful, clean
                           way of document markup



                           Getting a title page and
                           correct numbering right, was
                           a top writer UI disaster – but
                           then ...




                                                        36
Can you: Integrate ?


 Help LibreOffice talk to your software / web service
     don't write an extension no-one will discover
     instead help integrate your software / service
       DMS, CMS, Web Office suite, CRM system, etc.
 LICENSE is L(esser)GPLv3
     competing with MS Office – we need to be.
 Do you have an existing extension you would like
 integrated ?
     May require some consistency work & C++


                                                        37
New Features, distinctive to LibreOffice … #6
 Import your legacy Lotus Word Pro files – and move to ODF ...




                                                                 38
Are you: German, or in Academic … ?

 Professors: study LibreOffice:
  The last extant Free Software 'component' system
  We have the best component model (UNO)
    A paper: “The Death of Component Based Software:
    Free Software is the magic bullet for code re-use.”
 Students: Google Summer of Code is coming soon !
 German:
  We have major source code translation problems
// CebIT Hack – muss noch optimiert werden!
// Wenn Sie das lesen koennen, dann haben Sie eine Waschmachine gewonnen!
// Alles hat ein ende, nur die wurst hat zwei – cf. impl_getWurst
// Manta-Hack: ….


                                                                            39
New Features, distinctive to LibreOffice … #7
 Import much more of your legacy Wordperfect files – and move to ODF ...




                                                                           40
Are you: A user ? room for you too ...

 File good bugs
   Clear description; not - it doesn't work
     Things that are obvious to you are not to everyone
     We have to find the feature ourselves.
   Sample documents: should exist, and be minimal
     ie. what is the smallest possible bug document
 Bug triage – hunting duplicates, poking 'bad' bugs
   Help us out – we have some wonderful QA guys
 Test team
   Downloading and testing release candidates
   Using the latest snapshots, running QA testtool...
                                                          41
New Features, distinctive to LibreOffice 3.3.0 … #8
 Embed real multimedia under linux … with multi-slide audio ...




                                                                  42
What we're working on now:

 Scaling development: slicing big problems:
  Easier build, cross compilation, hourly snapshots
  Layout for dialogs, new gnu-make build system, etc.
 Making the code suck less
  In build test / better QA test-tool
  Less redundant cruft
  Improved performance, less memory & fewer leaks
 Smaller download footprint, with more features included
 Moving bottom up … clean code → clean UI → features
    User interface cleanups
    Bug fixing ...
                                                           43
New Features, distinctive to LibreOffice 3.3.0 … #9
 Beautiful mime-type icons ...




                                                  44
A roadmap to the future ...

 A time based release train …
   ie. check the release notes on the point-zero release
   Releasing incremental stable updates monthly
   Enterprise users need not upgrade
 Synchronise with the wider Free Software distros / desktops
   http://wiki.documentfoundation.org/ReleasePlan
 Rapid fire:
   3.3.0 – Jan 25th, 3.3.1 – Feb 20th, 3.3.2 – Mar 20th, …
      stability through quick user feedback / fixing / iterations
   3.4.0 – May 10th ish, …
 ie. a normal Free Software project.

                                                                    45
Conclusions ...




                  46
LibreOffice conclusions ...

     Aspire to a big, diverse, vigorous, vendor neutral, Linux
     (kernel) like community
     Be ungrateful to corporate controlled projects:
       positively discriminate, and assist others ...
     Strike a dis-proportionate blow for freedom
       LibreOffice will have a hundred million users
       get people excited about Free Software they use ...
       Try an 'Easy Hack' - get stuck to the tar-baby ...
     Thanks for all of your help and support !
       we rely on you, to prove the power of Freedom with us.
       Oh, that my words were recorded, that they were written on a scroll, that they were
       inscribed with an iron tool on lead, or engraved in rock for ever! I know that my Redeemer
       lives, and that in the end he will stand upon the earth. And though this body has been
       destroyed yet in my flesh I will see God, I myself will see him, with my own eyes - I and not
       another. How my heart yearns within me. - Job 19: 23-27
                        All text and image content in this document, unless otherwise specified, is licensed under the
                        Creative Commons Attribution-Share Alike 3.0 License. This does not include the LibreOffice name,   47
                        logo, or icon.

More Related Content

Similar to 2011 02-14-libre

Cloudstack collaboration conference Europe - SDN and Devops
Cloudstack collaboration conference Europe - SDN and DevopsCloudstack collaboration conference Europe - SDN and Devops
Cloudstack collaboration conference Europe - SDN and DevopsJohn Willis
 
Object oriented programming in 2014:Standard or Legacy?
Object oriented programming in 2014:Standard or Legacy?Object oriented programming in 2014:Standard or Legacy?
Object oriented programming in 2014:Standard or Legacy?mat f.
 
Rubinius For You - GoRuCo
Rubinius For You - GoRuCoRubinius For You - GoRuCo
Rubinius For You - GoRuCoevanphx
 
Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next GenerationTravis Thieman
 
Scale11x lxc talk
Scale11x lxc talkScale11x lxc talk
Scale11x lxc talkdotCloud
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
 
POCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewPOCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewGünter Obiltschnig
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009julien.ponge
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitcbenDesigning
 
Kernel Development: Drawing Lessons from "Mistakes" (Japan Linux Symposium 2009)
Kernel Development: Drawing Lessons from "Mistakes" (Japan Linux Symposium 2009)Kernel Development: Drawing Lessons from "Mistakes" (Japan Linux Symposium 2009)
Kernel Development: Drawing Lessons from "Mistakes" (Japan Linux Symposium 2009)Toshiharu Harada, Ph.D
 
JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"
JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"
JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"JSFestUA
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye codeKim Moir
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++Mike Acton
 
Built to Scale: The Mozilla Release Engineering toolbox
Built to Scale: The Mozilla Release Engineering toolboxBuilt to Scale: The Mozilla Release Engineering toolbox
Built to Scale: The Mozilla Release Engineering toolboxKim Moir
 
Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet ElixirRclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet ElixirHideki Takase
 
Azure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challengesAzure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challengesWojciech Barczyński
 

Similar to 2011 02-14-libre (20)

Hacking OOo 2.0
Hacking OOo 2.0Hacking OOo 2.0
Hacking OOo 2.0
 
Cloudstack collaboration conference Europe - SDN and Devops
Cloudstack collaboration conference Europe - SDN and DevopsCloudstack collaboration conference Europe - SDN and Devops
Cloudstack collaboration conference Europe - SDN and Devops
 
Object oriented programming in 2014:Standard or Legacy?
Object oriented programming in 2014:Standard or Legacy?Object oriented programming in 2014:Standard or Legacy?
Object oriented programming in 2014:Standard or Legacy?
 
Rubinius For You - GoRuCo
Rubinius For You - GoRuCoRubinius For You - GoRuCo
Rubinius For You - GoRuCo
 
Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next Generation
 
Scale11x lxc talk
Scale11x lxc talkScale11x lxc talk
Scale11x lxc talk
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
POCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewPOCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and Overview
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitc
 
Kernel Development: Drawing Lessons from "Mistakes" (Japan Linux Symposium 2009)
Kernel Development: Drawing Lessons from "Mistakes" (Japan Linux Symposium 2009)Kernel Development: Drawing Lessons from "Mistakes" (Japan Linux Symposium 2009)
Kernel Development: Drawing Lessons from "Mistakes" (Japan Linux Symposium 2009)
 
JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"
JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"
JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
 
olibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linuxolibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linux
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++
 
Built to Scale: The Mozilla Release Engineering toolbox
Built to Scale: The Mozilla Release Engineering toolboxBuilt to Scale: The Mozilla Release Engineering toolbox
Built to Scale: The Mozilla Release Engineering toolbox
 
Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet ElixirRclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet Elixir
 
Azure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challengesAzure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challenges
 

More from Vu Hung Nguyen

Co ban horenso - Tai lieu training noi bo
Co ban horenso - Tai lieu training noi boCo ban horenso - Tai lieu training noi bo
Co ban horenso - Tai lieu training noi boVu Hung Nguyen
 
Funix techtalk: Tự học hiệu quả thời 4.0
Funix techtalk: Tự học hiệu quả thời 4.0Funix techtalk: Tự học hiệu quả thời 4.0
Funix techtalk: Tự học hiệu quả thời 4.0Vu Hung Nguyen
 
Học cờ cùng con - Nguyễn Vỹ Kỳ Anh [U8]
Học cờ cùng con - Nguyễn Vỹ Kỳ Anh [U8]Học cờ cùng con - Nguyễn Vỹ Kỳ Anh [U8]
Học cờ cùng con - Nguyễn Vỹ Kỳ Anh [U8]Vu Hung Nguyen
 
Japanese for it bridge engineers
Japanese for it bridge engineersJapanese for it bridge engineers
Japanese for it bridge engineersVu Hung Nguyen
 
Basic IT Project Management Terminologies
Basic IT Project Management TerminologiesBasic IT Project Management Terminologies
Basic IT Project Management TerminologiesVu Hung Nguyen
 
2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]
2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]
2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]Vu Hung Nguyen
 
Làm việc hiệu quả với sếp Nhật (2017)
Làm việc hiệu quả với sếp Nhật (2017)Làm việc hiệu quả với sếp Nhật (2017)
Làm việc hiệu quả với sếp Nhật (2017)Vu Hung Nguyen
 
Problem Solving Skills (for IT Engineers)
Problem Solving Skills (for IT Engineers)Problem Solving Skills (for IT Engineers)
Problem Solving Skills (for IT Engineers)Vu Hung Nguyen
 
Using Shader in cocos2d-x
Using Shader in cocos2d-xUsing Shader in cocos2d-x
Using Shader in cocos2d-xVu Hung Nguyen
 
Pham Anh Tu - TK Framework
Pham Anh Tu - TK FrameworkPham Anh Tu - TK Framework
Pham Anh Tu - TK FrameworkVu Hung Nguyen
 
My idol: Magnus Carlsen vs. Ky Anh 2G1 NGS Newton
My idol: Magnus Carlsen vs. Ky Anh 2G1 NGS NewtonMy idol: Magnus Carlsen vs. Ky Anh 2G1 NGS Newton
My idol: Magnus Carlsen vs. Ky Anh 2G1 NGS NewtonVu Hung Nguyen
 
Basic advanced scrum framework
Basic advanced scrum frameworkBasic advanced scrum framework
Basic advanced scrum frameworkVu Hung Nguyen
 
FPT Univ. Talkshow IT khong chi la lap trinh
FPT Univ. Talkshow IT khong chi la lap trinhFPT Univ. Talkshow IT khong chi la lap trinh
FPT Univ. Talkshow IT khong chi la lap trinhVu Hung Nguyen
 
Basic & Advanced Scrum Framework
Basic & Advanced Scrum FrameworkBasic & Advanced Scrum Framework
Basic & Advanced Scrum FrameworkVu Hung Nguyen
 
Agile Vietnam Conference 2016: Recap
Agile Vietnam Conference 2016: RecapAgile Vietnam Conference 2016: Recap
Agile Vietnam Conference 2016: RecapVu Hung Nguyen
 
IT Public Speaking Guidelines
IT Public Speaking GuidelinesIT Public Speaking Guidelines
IT Public Speaking GuidelinesVu Hung Nguyen
 
Kanban: Cơ bản và Nâng cao
Kanban: Cơ bản và Nâng caoKanban: Cơ bản và Nâng cao
Kanban: Cơ bản và Nâng caoVu Hung Nguyen
 
Học cờ vua cùng con Nguyễn Vũ Kỳ Anh (U6)
Học cờ vua cùng con Nguyễn Vũ Kỳ Anh (U6)Học cờ vua cùng con Nguyễn Vũ Kỳ Anh (U6)
Học cờ vua cùng con Nguyễn Vũ Kỳ Anh (U6)Vu Hung Nguyen
 
Fuji Technology Workshop: Learning Skills
Fuji Technology Workshop: Learning SkillsFuji Technology Workshop: Learning Skills
Fuji Technology Workshop: Learning SkillsVu Hung Nguyen
 
Anti patterns in it project management
Anti patterns in it project managementAnti patterns in it project management
Anti patterns in it project managementVu Hung Nguyen
 

More from Vu Hung Nguyen (20)

Co ban horenso - Tai lieu training noi bo
Co ban horenso - Tai lieu training noi boCo ban horenso - Tai lieu training noi bo
Co ban horenso - Tai lieu training noi bo
 
Funix techtalk: Tự học hiệu quả thời 4.0
Funix techtalk: Tự học hiệu quả thời 4.0Funix techtalk: Tự học hiệu quả thời 4.0
Funix techtalk: Tự học hiệu quả thời 4.0
 
Học cờ cùng con - Nguyễn Vỹ Kỳ Anh [U8]
Học cờ cùng con - Nguyễn Vỹ Kỳ Anh [U8]Học cờ cùng con - Nguyễn Vỹ Kỳ Anh [U8]
Học cờ cùng con - Nguyễn Vỹ Kỳ Anh [U8]
 
Japanese for it bridge engineers
Japanese for it bridge engineersJapanese for it bridge engineers
Japanese for it bridge engineers
 
Basic IT Project Management Terminologies
Basic IT Project Management TerminologiesBasic IT Project Management Terminologies
Basic IT Project Management Terminologies
 
2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]
2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]
2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]
 
Làm việc hiệu quả với sếp Nhật (2017)
Làm việc hiệu quả với sếp Nhật (2017)Làm việc hiệu quả với sếp Nhật (2017)
Làm việc hiệu quả với sếp Nhật (2017)
 
Problem Solving Skills (for IT Engineers)
Problem Solving Skills (for IT Engineers)Problem Solving Skills (for IT Engineers)
Problem Solving Skills (for IT Engineers)
 
Using Shader in cocos2d-x
Using Shader in cocos2d-xUsing Shader in cocos2d-x
Using Shader in cocos2d-x
 
Pham Anh Tu - TK Framework
Pham Anh Tu - TK FrameworkPham Anh Tu - TK Framework
Pham Anh Tu - TK Framework
 
My idol: Magnus Carlsen vs. Ky Anh 2G1 NGS Newton
My idol: Magnus Carlsen vs. Ky Anh 2G1 NGS NewtonMy idol: Magnus Carlsen vs. Ky Anh 2G1 NGS Newton
My idol: Magnus Carlsen vs. Ky Anh 2G1 NGS Newton
 
Basic advanced scrum framework
Basic advanced scrum frameworkBasic advanced scrum framework
Basic advanced scrum framework
 
FPT Univ. Talkshow IT khong chi la lap trinh
FPT Univ. Talkshow IT khong chi la lap trinhFPT Univ. Talkshow IT khong chi la lap trinh
FPT Univ. Talkshow IT khong chi la lap trinh
 
Basic & Advanced Scrum Framework
Basic & Advanced Scrum FrameworkBasic & Advanced Scrum Framework
Basic & Advanced Scrum Framework
 
Agile Vietnam Conference 2016: Recap
Agile Vietnam Conference 2016: RecapAgile Vietnam Conference 2016: Recap
Agile Vietnam Conference 2016: Recap
 
IT Public Speaking Guidelines
IT Public Speaking GuidelinesIT Public Speaking Guidelines
IT Public Speaking Guidelines
 
Kanban: Cơ bản và Nâng cao
Kanban: Cơ bản và Nâng caoKanban: Cơ bản và Nâng cao
Kanban: Cơ bản và Nâng cao
 
Học cờ vua cùng con Nguyễn Vũ Kỳ Anh (U6)
Học cờ vua cùng con Nguyễn Vũ Kỳ Anh (U6)Học cờ vua cùng con Nguyễn Vũ Kỳ Anh (U6)
Học cờ vua cùng con Nguyễn Vũ Kỳ Anh (U6)
 
Fuji Technology Workshop: Learning Skills
Fuji Technology Workshop: Learning SkillsFuji Technology Workshop: Learning Skills
Fuji Technology Workshop: Learning Skills
 
Anti patterns in it project management
Anti patterns in it project managementAnti patterns in it project management
Anti patterns in it project management
 

2011 02-14-libre

  • 1. The wonderful world of: Or – How we will fix your office suite Michael Meeks michael.meeks@novell.com “Stand at the crossroads and look; ask for the ancient paths, ask where the good way is, and walk in it, and you will find rest for your souls...” - Jeremiah 6:16 1
  • 2. Overview & disclaimer ... I am not speaking for the Document Foundation These views are mine, but you're welcome to borrow them. LibreOffice is better, and fun too How is it going ? What are we doing ? Progress so far Check the license applies to everyone More general legal interest LibreOffice appreciates your help and/or ways to get involved Conclusions 2
  • 3. What / Why of LibreOffice 3
  • 4. What is LibreOffice / The Document Foundation Finally “doing it right” vendor neutral, no code ownership aggregation a real Free Software / hackers project Volunteers + RedHat + Novell + Debian + Canonical + Google … FSF + OSI support, boycott + Novell support etc. Freedesktop hosting LGPLv3+ / MPL for new code ... An idea – whose time has finally come … a beautiful, Office suite we can be proud of (in due course) backed by a real, open community Shipping now on Windows, Mac, GNU / Linux, *BSD etc. ODF enables trivial migration with your data ... 4
  • 5. Why now ? Is it all Oracle's fault ? ten years after the promise of a foundation … “a foundation is a great idea … the time is not yet ripe … perhaps in another three years” etc. etc. Patience – a virtue, but not an inexhaustible resource. some truly fantastic 'opportunities' for improvement Vendor neutrality / no copyright assignment barrier ~unrelated to Oracle – StarDivision have real autonomy please don't hate them, they have hard problems the 'community' has '~failed' them for many years we have great friends & hackers there motivated by a love of freedom, not by hatred. would love Oracle to join in with the fun. 5
  • 6. Give up now !?!?? – the web will swallow us all ... The proliferation of web developers is amazing: full function off-line == re-write all in Javascript Best of luck with this project: 8 million lines later eg. Conference WiFi & 3G is extremely cluttered I would like to show you these slides today but they are on a server I can't get to, no DNS, no signal, no ... Rent vs. Buy - cloudness ? – Buy Furcate, Rent Collectors ? My Phone is an 80's super-computer anyway … seen my vt220 app ? WYSIWYG, page layout ~impossible in a CSS world HTML5 / the Canvas may change this … VNC/web etc. 6
  • 7. How is it going … Extremely well, thus far 100+ entirely new code contributors with included patches, 50+ translators Around one new developer each day, and ½ a translator Initial stable release: 3.3.0 out, 3.3.1 RC1 next week. Development apace on 3.4 – late March freeze, early May release. Sadly – Oracle won't join us in name (yet) … though they contribute indirectly. 70 60 Number of code committers 50 40 30 20 10 0 2010-38 2010-40 2010-42 2010-44 2010-46 2010-48 2010-50 2010-52 2011-02 2011-04 2010-37 2010-39 2010-41 2010-43 2010-45 2010-47 2010-49 2010-51 2011-01 2011-03 2011-05 Known contributors New Contributors Novell Oracle Redhat 7
  • 8. What are we doing ? Pay down the vast technical debt we inherited an ancient and gnarled, 20+yr old beast organic growth, without refactoring, a lack of code review etc. eg. the opt-in approach to lifecycle management: dozens of crashers on exit Data from IBM of OO.o measurements for writer / symphony, presented at 300 OOoCon10 MegaBytes consumed 250 OO.o 3.1m11 200 Symphony final 150 100 50 OO.o 1.1 0 1 50 100 150 200 250 Open/Save/Close iterations 8
  • 9. What are we doing ? #2 Translating the source code: 100k+ LOC of German comments, after 10 years of 'open' Some virtually useless: (CUPS style) // Beschreibung: textuelle Beschreibung ermittel String SwDocStyleSheet::GetDescription(SfxMapUnit eUnit) Others somewhat more useful: |* Wenn bereits ein passendes Format existiert, so wird dies |* zurueckgeliefert. |* Ersterstellung MA 22. Sep. 92 |* Letzte Aenderung JP 08.05.98 And more that are useful (we think) Fantastic “German comment detector” from Miklos Re-uses existing LO code for language detection :-) Are you German ? can you read this ?  we need your skills ! 9
  • 10. What are we doing ? #3 – Revision Control ... OpenOffice.org had a chequered history RCS wise collab.net's CVS – multiple-hours to tag the repository … After years of pain – rejected git for temporary move to svn Then moved to mercurial – history routinely lost Thus – a reliable workaround: the in-code RCS … #if 0 – is your friend ! (good for 10's of kloc) If in doubt, just comment it out (huge chunks of code): //UNUSED2008-05 if (nCount==1) //UNUSED2008-05 return 0; // leer Annotate sections you change carefully: etc. etc. // --> OD 2005-12-12 #i27301# - use new type definition for parameter... LibreOffice – uses git [!] We bin insubstantial or un-necessary comments to improve readability. 10
  • 11. What are we doing ? #4 Making it easy to contribute Google search: libreoffice easy hacks Giving permission for change: we value your changes! Creating unit tests (run during build) – Caolan Only the very beginnings of good unit tests Removing VOS (deprecated a decade ago) – Norbert Merging outstanding Debian, RedHat, Novell patch-sets Misc. community features eg. GSOC bits RTF export, reducing code duplication, bug fixing – Miklos In-line, interactive formula editing – Jonas Bug, warning, lint error, cppcheck fixing ... 11
  • 12. An example … John Lee Castle arrives on list to help debug a (star)basic crash 2 days later – first set of 'warning' patches merged Sadly beaten to the word-count feature, but … digs in bugzilla to find & 1 week later fixes Issue 76852: Opened: Wed May 2 12:28:00 +0000 2007 Run this Basic macro: Dim s as single s = 999999 A one line fix ! print s ' display : 999999 s = s+1 print s ' display : 1 ***** incorrect *** s = s+1 print s ' display : 1.000001E6 12
  • 13. New Features, distinctive to LibreOffice ... Or: why should I choose LibreOffice ? 13
  • 14. New Features, distinctive to LibreOffice … #2 Bundling existing, useful extensions – instead of burying them ... 14
  • 15. New Features, distinctive to LibreOffice … #3 Experimental features, not perfect, but a taster: In-line formula editing ... Click and edit here: Not just here: Thanks to Jonas Finneman Jensen, and Luke Dixon ... 15
  • 16. Spot the launch date ... Day #1 nearly same code Is it just an 'easy hacks' page ? 70 60 Xmas + 3.3.0 Number of code committers 50 40 30 20 10 0 2010-38 2010-40 2010-42 2010-44 2010-46 2010-48 2010-50 2010-52 2011-02 2011-04 2010-37 2010-39 2010-41 2010-43 2010-45 2010-47 2010-49 2010-51 2011-01 2011-03 2011-05 Known contributors New Contributors Novell Oracle Redhat 16
  • 17. This slide deliberately left blank 17
  • 18. Check the license applies to everyone ... 18
  • 19. Vendor neutrality / no assignment of ownership ... An emerging subtle threat to software freedom Assigning ownership to companies Not always 'copyright' – sometimes just a public domain contribution, leaving an exclusive corporate owner of the complete work. Often assignment with a fall-back license: perpetual, irrevocable, worldwide, no-charge, royalty-free, unrestricted ... Why should I care ? Traditionally people mostly cared about (Free) licenses (good) I will argue that you need to care about others' terms too 1) Assignment creates a barrier of delay and conflict 2) It disrupts a delicate hacker / suit-wearer balance 3) It entrenches corporate control, and excludes competitors 4) It creates FUD around free-software licenses & practices 19
  • 20. Assignment creates a barrier of delay, and conflict Even in the (much more defensible) case of assignment to a well governed non-profit – there are (historical) problems: Why are there two Emacsen? [ xemacs and emacs ] Hysterical reasons. See the public flames if you must know. Currently the largest problems is that Sun owns the copyright for large part of the code. It is copyleft, but they refuse to sign over the changes to the FSF. Some people think it is good to have an Emacs variant where you can contribute code without signing any papers. Feel free to disagree. Ergo, some, sometimes think this is a bad thing. The Best of Strangers A brilliant research paper on privacy expectations Strong suspicion that handing people a dense and comprehensive legal paper to sign on day-zero can badly hurt trust. Systemd: “We value your contributions and hence do not require copyright assignment” - we welcome you as a peer … immediately 20
  • 21. Disrupting the Hacker / Suit balance ... This problem primarily created by suits: Your pet project: is already owned by pointy haired boss He doesn't listen to advice from Dilbert in linear time Technical and relational understanding diminish upwards All that good work you did means nothing vs. hard $ Importing the P&L / competitive angst into our community Many people I call friends at RedHat, no doubt our sales and business people compete aggressively Technology / stack decision making Bad results from considering ownership / corporate alliances at a business level first ? “This is our swamp ! We build here !” most inter-corporate agreements are confidential: death of community transparency ? 21
  • 22. Entrenching corporate control: Excluding others ... Disclaimer: this is a project I know – nothing – about. The 'apparently' open project OpenSPARC – ~GPLv2 licensed + 'Shared' CA All contributors to OpenSPARC are required to sign the Contributor Agreement ("CA") before contributing code to the community. This enables a single entity to represent the aggregated code base and gives the 'community' flexibility to act as a whole to changing situations. SPARC or OpenSPARC ? Safest to proprietary license from Oracle … ? Needs a 'Welcome' sign with: “Academics, non-profits & partners welcome” 22
  • 23. Entrenching corporate control: Excluding others Mobile Phone industry ELAN LG Qualcomm at patent war: Apple Nokia A vastly simplified HTC view: of what is public Google Oracle Microsoft The GPL is a great license Motorola I like the collective “in it together” wrt. dangers of software patents Corporate Ownership: breaks the solidarity If / as / when all these battles collapse in a blizzard of settlements – will you survive ? Perhaps only if you are 'liked' by the owner Good example of this in Sun / Microsoft settlement StarOffice – or OpenOffice.org ? 23
  • 24. Entrenching corporate control: 'Open' Core Open Core (according to Lampitt) core is GPL: if you embed the GPL in closed source, you pay a fee [ optional tech-support for a fee ] “annual commercial subscription includes: Indemnity, ...” Claims of special “Indemnity” are suspect: Anyone can offer indemnity on Free Software RedHat & Novell & many others do, for code they do not own The 'special' piece, has to be the ability to avoid the license everyone else has to accept... Enabled by ownership assignment How do you market & sell an 'indemnity' product ? 24
  • 25. FUD around Free-Software licensing & practise ... So why would people ever sign such a thing ? Some great arguments: Copyright assignment enabled us to move from the GPLv2 to the GPLv3 Better written as: we chose a non-plus license because we can. Re-licensing: Plus-licenses: GPL or later version, MPL, CDDL … Non-Plus: Apache (use CLA), EPL etc. So liberal no-one cares: BSD, MIT, X11, etc. The 'standing' chestnut … Deep seams of jurisdictional nonsense: “Upper Silesian tax law makes Free-software contribution a felony … ergo we need a custom Silesian CLA to be safe” 25
  • 26. FUD around Free-Software licensing & practise ... But we do have a contributor agreement The license we use: A beautiful, fair symmetry: Inbound == Outbound best in most cases I am not a Laywer (sadly) Richard Fontana (RedHat) who is, has a great talk on this: http://ref.fedorapeople.org/fontana-harmony.html Legal benefits of greater control sufficiently dubious to not justify harm done to the community by assignment Contributor Agreements seem to suggest that free software licenses are not good enough for the model. Ethical concerns: (unequal bargaining power) 26
  • 27. More FUD: sustained investment ... “The only way companies can continue to invest in working on non-sexy projects is if they can 'own' it” Or is it ? Counter examples: almost our whole ecosystem is not owned by companies Linux, util-linux, udev, glibc, gcc, perl, python, Mozilla, Webkit, Apache, dbus, gtk+, GNOME, etc. Personally ~all (cleanly written) software is quite sexy A counter-statement: “We must not let companies, who are uncertain of their continued investment, to exclude others from co-owning and building out key pieces of our stack” 27
  • 28. More FUD: the valuable MySQL model ... “Sometimes the only way we can get Free software in a given space is to allow one company a monopoly of ownership and control there: We must not hurt the valuable MySQL model ! A counter-suggestion: “We must not let companies wanting to dominate, own and exclude competitors from a part of our stack / ecosystem to claim they are doing something good for Free Software” Consider where we could be with a true, organic alternative. The Sun acquisition dented the shine on this model too. 28
  • 29. More FUD: no traction for non-CA projects “If you look at projects with lots of traction, only assignment based projects are a success. We should be grateful to the companies that do all the heavy lifting (alone) there.” A counter-suggestion: “Linux is the paradigmatic successful Free Software project. No corporate ownership aggregation. And there are many others. Indeed – a single company doing all the heavy lifting is a sign of risk, and failure is one acquisition away.” 29
  • 30. Corporate Ownership trends ... (C) assignment projects get forked or re-written xpdf → poppler, libart_lgpl → cairo, MySQL → MariaDB … Evolution Novell dropped (C) assignment -> LGPLv2/3 Red Hat has dismantled several contribution agreements: SpaceWalk, FreeIPA, JBoss CLA under review, Fedora's is now optional use in-bound equals out-bound in their place GNOME guidelines on assignment demands outbound type requirements in CAs patent licenses must apply to Free Software version proprietary licenses must be non-discriminatory and be published 30
  • 31. LibreOffice needs your help ... 31
  • 32. New Features, distinctive to LibreOffice … #4 Migration – sadly much of the corporate world is infected with VBA ... 32
  • 33. Can you: mirror / translate ... Mirrors: always room for more... mirrors@documentfoundation.org We are small: 11Gb per release vs. 76Gb and getting smaller free up 65Gb on your server ? We use (the excellent) mirrorbrain Translators: l10n@libreoffice.org we have a no-language-favoritism policy we bundle all active and completeish translations quick release: see the result of your labour in your own lifetime 33
  • 34. New Features, distinctive to LibreOffice … #5 Import your legacy Microsoft Works files – and move to ODF ... 34
  • 35. Can you: hack ? libreoffice@lists.freedesktop.org Ultra elite progamming skill not necessary Plenty of entry level problems; cf. Easy Hacks page A language you can help with is there: C, C++, Java, Python, Perl, Basic, shell, XSLT, Web* ... Tons of new simple tasks, and heavy lifting too Lots of easy hacks: (a tiny sample): removing pointless comments remove thousands of multi- porting from Java → python second sleeps from QA tooling and Java → C++ help thread the spreadsheet re- kill 3 of 4 duplicate base64 impls. calculation engine remove dead / un-called code write unit tests fix cppcheck warnings stop battery sapping timer leaks remove obsolete macros improve localisation tooling 35
  • 36. New Features, distinctive to LibreOffice … #? Styles are a wonderful, clean way of document markup Getting a title page and correct numbering right, was a top writer UI disaster – but then ... 36
  • 37. Can you: Integrate ? Help LibreOffice talk to your software / web service don't write an extension no-one will discover instead help integrate your software / service DMS, CMS, Web Office suite, CRM system, etc. LICENSE is L(esser)GPLv3 competing with MS Office – we need to be. Do you have an existing extension you would like integrated ? May require some consistency work & C++ 37
  • 38. New Features, distinctive to LibreOffice … #6 Import your legacy Lotus Word Pro files – and move to ODF ... 38
  • 39. Are you: German, or in Academic … ? Professors: study LibreOffice: The last extant Free Software 'component' system We have the best component model (UNO) A paper: “The Death of Component Based Software: Free Software is the magic bullet for code re-use.” Students: Google Summer of Code is coming soon ! German: We have major source code translation problems // CebIT Hack – muss noch optimiert werden! // Wenn Sie das lesen koennen, dann haben Sie eine Waschmachine gewonnen! // Alles hat ein ende, nur die wurst hat zwei – cf. impl_getWurst // Manta-Hack: …. 39
  • 40. New Features, distinctive to LibreOffice … #7 Import much more of your legacy Wordperfect files – and move to ODF ... 40
  • 41. Are you: A user ? room for you too ... File good bugs Clear description; not - it doesn't work Things that are obvious to you are not to everyone We have to find the feature ourselves. Sample documents: should exist, and be minimal ie. what is the smallest possible bug document Bug triage – hunting duplicates, poking 'bad' bugs Help us out – we have some wonderful QA guys Test team Downloading and testing release candidates Using the latest snapshots, running QA testtool... 41
  • 42. New Features, distinctive to LibreOffice 3.3.0 … #8 Embed real multimedia under linux … with multi-slide audio ... 42
  • 43. What we're working on now: Scaling development: slicing big problems: Easier build, cross compilation, hourly snapshots Layout for dialogs, new gnu-make build system, etc. Making the code suck less In build test / better QA test-tool Less redundant cruft Improved performance, less memory & fewer leaks Smaller download footprint, with more features included Moving bottom up … clean code → clean UI → features User interface cleanups Bug fixing ... 43
  • 44. New Features, distinctive to LibreOffice 3.3.0 … #9 Beautiful mime-type icons ... 44
  • 45. A roadmap to the future ... A time based release train … ie. check the release notes on the point-zero release Releasing incremental stable updates monthly Enterprise users need not upgrade Synchronise with the wider Free Software distros / desktops http://wiki.documentfoundation.org/ReleasePlan Rapid fire: 3.3.0 – Jan 25th, 3.3.1 – Feb 20th, 3.3.2 – Mar 20th, … stability through quick user feedback / fixing / iterations 3.4.0 – May 10th ish, … ie. a normal Free Software project. 45
  • 47. LibreOffice conclusions ... Aspire to a big, diverse, vigorous, vendor neutral, Linux (kernel) like community Be ungrateful to corporate controlled projects: positively discriminate, and assist others ... Strike a dis-proportionate blow for freedom LibreOffice will have a hundred million users get people excited about Free Software they use ... Try an 'Easy Hack' - get stuck to the tar-baby ... Thanks for all of your help and support ! we rely on you, to prove the power of Freedom with us. Oh, that my words were recorded, that they were written on a scroll, that they were inscribed with an iron tool on lead, or engraved in rock for ever! I know that my Redeemer lives, and that in the end he will stand upon the earth. And though this body has been destroyed yet in my flesh I will see God, I myself will see him, with my own eyes - I and not another. How my heart yearns within me. - Job 19: 23-27 All text and image content in this document, unless otherwise specified, is licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the LibreOffice name, 47 logo, or icon.