Hi Rob,

I do not code in my daily job, but do it only as hobby. My personal observations might be true for other volunteer coders too.

Rob Weir schrieb:
There have been some side discussions on this topic.  I'd like to
collect these ideas into one thread.

My observations:

1) The OpenOffice code base has a reputation of being complex, hard to
understand, even "haunted".  It is difficult for new developers to get
involved with it.

2) We get regular offers of help from new volunteers for other project
functions, such documentation, QA, website,etc., but we are not doing
a great job getting them to be successful contributors in the project.

3) Nothing is free.  Making the code easier to understand, or
mentoring new contributors to the project, these things time and
effort.

So there is a natural trade-off between short term progress on
features and long term growing of the contributor base.  With AOO 3.4
we have biases the effort toward forward progress on the release. Post
AOO 3.4 we might want to adjust to a more balanced approach.

Any ideas and the best ways how we can improve in this area after AOO
3.4 releases?

It is impossible to understand the code without guides and without mentoring.

Conclusion, wish or how you might call it:
(1) Document parts of the code very detailed in all steps, including help and accessibility. For example: How to make a new dialog? How does an Excel import filter works? I could start only after Eike Rathke has documented the process of adding new functions to Calc in http://wiki.services.openoffice.org/wiki/Calc/Implementation/Spreadsheet_Functions

(2) Document an overview of AOO. For example: What parts are all touched, when a user drags a corner of a shape till the shape is changed? Or what parts are touched, when a writer document is opened. And the other way round, what is handled in vcl or cosv or all the other modules?

(3) Document AOO specific things. For example what are these OSL_*, which are used, when and why. What special types exists, why do they exist, when should they be used?

(4) Increase mentoring. Such mentor should identify a "nice to have" feature and offer to guide the volunteer. Armin has mentored the "linecap" feature that way and it has worked well. Although some essential parts are done by Armin, I did a lot by myself and got some new insides in the code.


Getting a build is a critical part for newcomers, especially on Windows.

(5) Work very hard to provide a buildable trunk on Friday. It is very frustrating when you plan to do some coding on weekend and the build fails.

(6) Without the document about building OOo on Windows by Mathias Bauer and the succeeding Wiki page http://wiki.services.openoffice.org/wiki/Building_OOo_with_Cygwin_on_Windows I was not able to build OOo. So keep this information up to date; it is essential for newcomers.

Kind regards
Regina


Reply via email to