While working on my wiki page about a new Writer toolbar, I realized
that independently of my proposal, I believe it makes sense for
LibreOffice to prefer Python. I see how LO is heading in this
direction, but you could be explicit about it, create more workitems,
perhaps track it like you do the German comments and uncalled
You may have to support Java for years, but that doesn't mean you
should invest in the language. I wrote almost an entire chapter in my
book about some of the biggest problems with it
(http://keithcu.com/wordpress/?page_id=2228). You've already got a
layer that allows you to have bindings with multiple languages, and
you can just keep it around for any of the ones people care about.
This isn't about taking away language choices for users, but doing
what is best for your code and community.
According to Ohloh, Java is 5% of your code, Python is .5%, and Basic
is .2%. I know some wizards have been ported over, but it appears that
was just the start. I would consider Java as part of your technical
debt. I wouldn't recommend any existing busy developers quit what they
are doing to port a bunch of code, but you could make a point to
recruit new people with Python experience like you do for German
speakers. It is also a lot easier of a way to get into the LibreOffice
codebase. STL makes my head hurt, and it is just one of the things you
need to know to contribute to the C++. Even if you had a bunch more
Python programmers than you have today, you could keep them busy for
Likewise, you need VBA / StarBasic support for an indefinite amount of
time, possibly longer than Java. But this is a language that not many
people use in the free software community, nor get excited about, nor
is actively developed, so to the extent that you can encourage people
to not write extensions in Basic, it will be better. I tried to find
out how many of your extensions are, but couldn't query for it.
Tasks to exterminate Java could be Easy Hacks or Gsoc projects or
whatever. Almost no one is working in any of your Java code, so
porting could improve things. The port is just the start.
This page has a lot of Java examples, and only one Python example:
http://api.libreoffice.org/examples/examples.html. I looked through
the Python code, and it wasn't a very helpful introduction.
I can also imagine a number of new Python extensions that could be
bundled by default. For example, it would be great to ship with a
plugin that adds a right-click menu which displays the Wiktionary
definition in a pretty little dialog box.
It would also be nice to have something which allows me to query
Flickr for high-res CC images to put into a doc / presentation. People
can switch to their web browser, download the file, and insert it, but
it can be automated. My local tech website recently published an
article about a Seattle company making presentation software for
It is a nice and simple app, but the killer feature is the ability to
query for CC images. Free software should do a better job than
proprietary software for integrating free content and services!
I hope any of this is helpful. I'd be happy to add text to wiki pages
or create bugs, but I don't know what all the workitems would be other
than that you've got 100s of thousands of lines of Java.
Impressum (Legal Info)
: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (MPLv2
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our trademark policy