Hackfests, the next generation: A Call To Action

Hi all,

I recently had a look at a variety of challenges the LibreOffice community is
facing wrt Hackfests and especially also tenders:

Status Quo

- due to a set of reasons based in the size of the project, the scope and
  selection of tender topics, the rules of properly running an NGO and the
  distibution of skilsets and available time in the BoD it is a lot harder to
  oversee the tenders for TDF than it would be for a for-profit organization.
- also, for historic reasons mostly, these tasks have been limited to the BoD
  mostly, while as an open disttributed and tranmsparent community we should not
  needlessly concentrate this work: rather the challenges and solutions should
  be shared as widely as possible in the community (and beyond).
- the waterfall modelled tenders have no iterative approach. Because of this
  they also tend to be mostly quite small, leading to significant overhead
  at both TDF and for the business implementing the tender.
- contracting out tender in bulk in a blackbox fashion naturally limits the
  ressources spend on documentation of discovered challenges. It thereby also
  needlessly limits the educational output to the community. There is such
  output, but it clearly could be better.
- beyond that we reduced doing Hackfests ~2 years ago, limiting the exchange
  of knowledge they provide.
- Unlike in the good old days, we dont have urgent infrastructual problems and
  the like to solve that would rally developers around topics. So motivation
  for certified devs to attend has shrunk. And those that do attend usually use
  the facetime for syncing on various issues, while the actual work on the code
  is somewhat limited. Even more when there is an emergency at the (professional)
  developers employer (Unfortunately, there often is.)

Suggested new format

So everyone hip in the last decade would see the words "waterfall",
"non-iterative", "controlling overhead" would scream "get agile" from the top
of their lungs. In general that might solve the practical problems, but as
agile is essentially a way to move the customer in close enough to create the
trust and bond allowing the overhead to go away, that is exactly what we need
to watch out for and avoid: the foundation should not bind itself too close to
any single commercial provider of services in its core operations.

But maybe revitalizing Hackfests are an opportunity here. Here is a suggested
new format:

- TDF selects a small of the tenderable topics (6 man days)
- TDF selects a "product owner" for the topic (could be an TDF employee or a
  qualified and motivated TDF member)
- TDF hires 2 certified developers from LibreOffices companies for 3 days each
- TDF offers 2 days "development training" to its members, but also to the
  general community: ideally we select four people for this.
- All are invited to a two day Hackfest.
- Hired consultants are expect to pair program with one of the volunteers on
  each day, with the hired person not distracted by other business and doing
  the main effort with the paired volunteer focusing on learning.
- On each day, one of the hired developers works on the projector of the room,
  allowing other partcipants to the Hackfest to observe and learn.
- Closing the day, each paired team will give a 5-15 minutes lightning talk on
  their progress and challenges over the day. This presentation should be done
  by the paired volunteer to the best of their ability and recorded e.g. by
  TDF staff for publication.
- Rest of the extra booked day should be used for a 1-hour prep Hangouts,
  follow ups and overtime.
- Selected paired volunteers should ideally be 50% certified or uncertified
  developers and at least 25% volunteers active in non-development areas (e.g.
  documentation, l10n ...).
- Beyond this, it will be a "normal" Hackfest allowing others to mix an mingle.

What this might solve (hopefully)

- Controlling and the need to proof due diligence going away as it is performed
  right in the open and self-documented, reducing the vast redtape needed to
  set up and run tenders in the first place
- the involving the broader community is much more involved in this major
  aspect of the foundations work
- the community gets a much better transparency on the real cost and challenges
  of development
- we approach a more iterative/agile approach without being hit by the
  challenges this usually implies for an NGO
- we provide clear and visible progress and effort on education for the
  community and the general public
- we might help onboarding of new developers and make LibreOffice more
  interesting for contribution
- if this works on this 4-6 man day scale, we might consider extending it (e.g.
  a three developer week[1] with prep is already a 21 man day project)

There has already been some internal feedback from a smaller circle I shared
this with first: There was some concern (one pointing out this new format isnt
free of challenges[1], one asking for bigger steps as this proposal was
considered to small/iterative[2]), but beyond that the feedback was generally
quite positive.

As such, Im looking for people who would like to join in and help giving this
new format a try: The starting point would be organizing a broad, welcoming and
well-organized Hackfest at a location easily reachable for many in the
community: Thus at well-connected place in europe. It should also have
local people on the ground, who are enthusiastic to make this a success.

If you are interested in helping with this, either as:

- someone on the ground helping to organize the Hackfest
- someone who wants to pair program with a hired certified developer at a
  Hackfest
- someone who is just interested in joining the Hackfest in general
- someone who helps fleshing out the details of this idea

feel free to contact me. I will try to set up a team of people interested in
getting this off the ground. As noted above, if this proves to be successful,
this might be the start of something excited and big bringing this community
and project to a new level!

Another (final) note: This list is currently unfortunately less used than it
should be to provide information on the proceedings of the foundation. The
Board is mindful of that and tries to change this. This is a start. Feel free
to share this message to those in the community who might have missed it as
they are not (yet) subscribed to board-discuss@.

Best,

Bjoern

[1] But neither is the status quo -- in many more ways.
[2] note that the two kinds of criticism pointed in exactly opposite directions

Hi Bjoern,

Bjoern Michaelsen wrote:

I recently had a look at a variety of challenges the LibreOffice
community is facing wrt Hackfests and especially also tenders:

Love the general direction here -

If you are interested in helping with this, either as:

- someone on the ground helping to organize the Hackfest

*raising hand*

- someone who helps fleshing out the details of this idea

*raising hand* - that said, I might recuse myself at some stage,
should there arise a conflict of interest - as it might be entirely
possible my company would offer such development mentoring services.

Cheers,

-- Thorsten

Hi Bjoern,

  TLDR; I think we should try this - not because it is without potential
problems (I'll elaborate below), but because encouraging trying new
ideas is an important thing that we should be doing =) and quite
probably this is another great idea from you.

  And then of course a few concerns:

On 22/08/17 22:30, Bjoern Michaelsen wrote:> - TDF selects a small of
the tenderable topics (6 man days)
  Who selects that ?

- TDF selects a "product owner" for the topic (could be an TDF
employee or a qualified and motivated TDF member)

  I guess one current organizational problem is finding someone to take
ownership and/or responsibility, but I would hope that at first you can
take ownership =)

- TDF hires 2 certified developers from LibreOffices companies for 3 days each

  One of the big problems here is open and transparent selection
criteria: what are they ? is this based on hourly rates or communication
skill, or domain programming expertise etc. ? With a fixed price tender
(assuming the tender was well specified) - it is all about price - which
is a single number; red-tape aside - I hope that is reasonably easy to
select. My other concern was privileging locations - such that travel /
accommodation cost become a significant part of the problem.

- Controlling and the need to proof due diligence going away as it is performed
  right in the open and self-documented, reducing the vast redtape needed to
  set up and run tenders in the first place

  Having never been involved in the selection process I've not seen the
red-tape internally to TDF; but I have helped to write specifications -
which are often arrive in a tender-able state ready to be published.
Beyond that I guess there is the need for organizations to estimate &
provide bids which is some real effort though not made by TDF - and then
for TDF to decide and/or to select the lowest number surely ?

  ATB,

    Michael.

Hi Michael,

  I guess one current organizational problem is finding someone to take
ownership and/or responsibility, but I would hope that at first you can
take ownership =)

In traditional Agile setups, the product owner decides how to spend money
without having to do most of the work (simplified). I consider it a bit ironic,
should we not find someone wanting to decide how to spend ressources. Its not a
problem organizations usually have. :wink:

But yes, to get things started, I'd do that, but I hope in the long run we can
get more people onboard for this. Ultimately, it also gives insight in what and
why the BoD does/did certain things, which is knowledge (and skills) I would
like to see spread more widely.

  One of the big problems here is open and transparent selection
criteria: what are they ? is this based on hourly rates or communication
skill, or domain programming expertise etc. ?

Personally, I wouldnt give hourly rates too much weight unless there are orders
of magnitude apart[1]. Once we selected a topic for the Hackfest, I'd rather
focus on getting a balanced set of domain expertise and communication skills.
If we repeat those Hackfests, rotating topics will mean we should be able cover
different domains over time anyway.

Best,

Bjoern

[1] Which would be a thing to look into anyway, as it might imply
    inbalances in the community of some kind.

Hi all,

If you are interested in helping with this, either as:

- someone on the ground helping to organize the Hackfest
- someone who wants to pair program with a hired certified developer at a
  Hackfest
- someone who is just interested in joining the Hackfest in general
- someone who helps fleshing out the details of this idea

feel free to contact me. I will try to set up a team of people interested in
getting this off the ground. As noted above, if this proves to be successful,
this might be the start of something excited and big bringing this community
and project to a new level!

The initial feedback here on and off board-discuss@ is encouraging, so here are
the next steps:

- I created a wiki-page to collect ideas on this:
  https://wiki.documentfoundation.org/Hackfests/HackfestTNG
  Please feel free to contribute ideas, hints and comments there!
- The next task is to nail down a date and location for the event. There is
  already some interest from some local communities on this (see wiki). I hope
  to be able to set up a conference call on next Sunday (September 3rd, 2017)
  european afternoon. Sunday afternoon as it should allow as many interested
  volunteer community members to join as possible. I (or Florian) will announce
  the time here[1].
- We will also talk about topics for the Hackfest during the call, but it wont
  be as urgent as time and location right now.

If you are interested in any of these topics, please feel most invited to join
the call!

Best,

Bjoern

[1] I'll ask Florian to setup the details.

Hi all,

This is the agenda:

  I hope to be able to set up a conference call on next Sunday (September
  3rd, 2017) european afternoon. Sunday afternoon as it should allow as many
  interested volunteer community members to join as possible. I (or Florian)
  will announce the time here[1].
- We will also talk about topics for the Hackfest during the call, but it wont
  be as urgent as time and location right now.

This is date & time:

- Sunday September 3rd, 2017 16:30 CEST/Berlin time (14:30 UTC)
   https://www.timeanddate.com/worldclock/meetingtime.html?day=2&month=9&year=2017&p1=37&iv=1800
- Dial-in worldwide as per https://wiki.documentfoundation.org/Website/Talkyoo
   Room number to type after dial in: 21 24 86 #

If you are interested in any of these topics, please feel most invited to join
the call!

Please join. :wink:

Best,

Bjoern

Hi *,

On this topic, I just probed the idea with Thorsten in my last one on one with him about having a BoF talk at the two tech Unis in Iasi, Romania, my hometown:

* Faculty of Automatic Control and Computer Engineering, Iasi
* Faculty of Computer Science A. I. Cuza, Iasi (I followed this one)

The reason I think this would be a good idea is that, at least at these two Unis, the C.S. curricula is still heavily based on systems and C++ programming from the start and with a traditional bottom to top (architecture, assembly, up the stack) curricula, unlike many other western ones which migrated to boarding with scripting, web and java for e.g. For that very reason there is quite an impressive number of C++ devs (juniors or fresh out of college) on the lookout for serious C++ work and the opportunity to prove themselves somehow; and if LO wouldn't satisfy that, don't know what could! :slight_smile:

I think this could be a good opportunity to spread the word a little bit, maybe develop a relationship with the universities and hopefully in the end board new enthusiastic developers.

I don't think I'd have the time to work something up for this semester, but could aim for the next one. My approach would be to get in touch with the administration, set up an "official" BoF or talk, then following interest shown, continue with a couple successive getting started hackfests/marathons during the weekends, at the University. They have Ubuntu/Mint and LO already installed on all machines AFAIK since many years ago, not to mention that Open Source is really highly regarded and heavily used in Romania as a whole.

Regards,
Shinnok

Hi Shinnok,

On this topic, I just probed the idea with Thorsten in my last one on one with him
about having a BoF talk at the two tech Unis in Iasi, Romania, my hometown:

  The whole idea sounds like an extraordinarily effective use of time =)
I love the initiative, and glad that there are courses somewhere still
teaching C++ programming :slight_smile:

  Good stuff,

    Michael.

Hi,

This is date & time:

- Sunday September 3rd, 2017 16:30 CEST/Berlin time (14:30 UTC)
   https://www.timeanddate.com/worldclock/meetingtime.html?day=2&month=9&year=2017&p1=37&iv=1800
- Dial-in worldwide as per https://wiki.documentfoundation.org/Website/Talkyoo
   Room number to type after dial in: 21 24 86 #

Please join. :wink:

thanks for everyone participating. We will repeat the call same time, 14 days
later:

- Sunday, September 17th, 2017 16:30 CEST Berlin time (14:30 UTC)

Best,

Bjoern

Hi Bjoern,
I hope to attend the meeting!
Kind Regards,
–Osvaldo

Hi,

Hi,

This is date & time:

- Sunday September 3rd, 2017 16:30 CEST/Berlin time (14:30 UTC)
  https://www.timeanddate.com/worldclock/meetingtime.html?day=2&month=9&year=2017&p1=37&iv=1800
- Dial-in worldwide as per https://wiki.documentfoundation.org/Website/Talkyoo
  Room number to type after dial in: 21 24 86 #

Please join. :wink:

thanks for everyone participating. We will repeat the call same time, 14 days
later:

- Sunday, September 17th, 2017 16:30 CEST Berlin time (14:30 UTC)

I think I should be in the next one? It'd be good for me to see how you guys plan on approaching this kind of event, in the eventuality that I proceed with the University of Iasi proposal I made. :slight_smile:

Shinnok

Please do! :wink:

Best,

Bjoern

Hi Bjoern,

Bjoern Michaelsen schrieb:

Suggested new format

But maybe revitalizing Hackfests are an opportunity here. Here is a suggested
new format:

- TDF selects a small of the tenderable topics (6 man days)
- TDF selects a "product owner" for the topic (could be an TDF employee or a
  qualified and motivated TDF member)
- TDF hires 2 certified developers from LibreOffices companies for 3 days each
- TDF offers 2 days "development training" to its members, but also to the
  general community: ideally we select four people for this.
- All are invited to a two day Hackfest.
- Hired consultants are expect to pair program with one of the volunteers on
  each day, with the hired person not distracted by other business and doing
  the main effort with the paired volunteer focusing on learning.
- On each day, one of the hired developers works on the projector of the room,
  allowing other partcipants to the Hackfest to observe and learn.
- Closing the day, each paired team will give a 5-15 minutes lightning talk on
  their progress and challenges over the day. This presentation should be done
  by the paired volunteer to the best of their ability and recorded e.g. by
  TDF staff for publication.
- Rest of the extra booked day should be used for a 1-hour prep Hangouts,
  follow ups and overtime.
- Selected paired volunteers should ideally be 50% certified or uncertified
  developers and at least 25% volunteers active in non-development areas (e.g.
  documentation, l10n ...).
- Beyond this, it will be a "normal" Hackfest allowing others to mix an mingle.

I would like to participate in such a Hackfest. I know, I do not belong to the targeted category of persons, but I want to code, and I could help in testing, whether a tutorial is really suitable for a beginner.

I write here, because I have a suggestion for a topic, where I have noticed, that I don't know enough to understand, what happens in the code:

Topic: How goes the information from the file into the model?

As example I suggest layer handling in Draw, e.g these issues
https://bugs.documentfoundation.org/show_bug.cgi?id=101218 ODF <draw:layer-set> as a child element of <draw:page> not supported
https://bugs.documentfoundation.org/show_bug.cgi?id=67248 FILEOPEN Layer with reserved name vanishes when changing UI language
https://bugs.documentfoundation.org/show_bug.cgi?id=91829 DRAW: Layout, Controls and Dimension Lines need improvement
https://bugs.documentfoundation.org/show_bug.cgi?id=101242 ODF draw:display and draw:protected attributes of <draw:layer> not supported

Kind regards
Regina

Hi Regina,

first off: Sorry for taking so long to reply.

I would like to participate in such a Hackfest. I know, I do not belong to
the targeted category of persons, but I want to code, and I could help in
testing, whether a tutorial is really suitable for a beginner.

Actually I think you are a perfect candidates for the new Hackfest! Why shoouldnt
you be?

You:
- have a topic that, if we pursue it, benefits the foundations goals
  and the community of LibreOffice as a whole.
- are an enthusiastic independant volunteer with no CoI.
- are qualified and motivated to verify that someone TDF hires to put by your
  side to attack your topics, did their duty to proceed the topic.

Your suggested topics:

As example I suggest layer handling in Draw, e.g these issues
https://bugs.documentfoundation.org/show_bug.cgi?id=101218
    ODF <draw:layer-set> as a child element of <draw:page> not supported
https://bugs.documentfoundation.org/show_bug.cgi?id=67248
    FILEOPEN Layer with reserved name vanishes when changing UI language
https://bugs.documentfoundation.org/show_bug.cgi?id=91829
    DRAW: Layout, Controls and Dimension Lines need improvement
https://bugs.documentfoundation.org/show_bug.cgi?id=101242
    ODF draw:display and draw:protected attributes of <draw:layer> not supported

as thus duely noted to be topic for the Hackfest and TDF will try to hire a
certified developer to help support you with these issues.

As a note to the wider TDF/LibreOffice community: What Regina did here is awesome and
exactly what we are looking for. In fact, Eike and me still have a workitem to
pick out some of the more challenging EasyHacks to find something that:

- would benefit from an certified developer supporting the topic
- is roughly in scope for the Hackfest (plus some preparation and aftermath)
- meets the goals of the foundation and the LibreOffice community at large (not
  a special interest)
- will find an enthusiastic volunteer willing to learn more and able broadly
  verify the certified developer did indeed push the topic forward in the time
  given

So if you are an enthusiastic volunteer (like Regina) willing to come to a next
generation Hackfest and have such a topic that you care about and which would
benefit from support LET US KNOW. A hard part for Eike and me finding topics is
actually second-guessing where we might find interested volunteers attending
the Hackfest for the topic. Someone stepping up "I care about this and would go
to a Hackfest" like Regina just did is a huge help.

Best,

Bjoern

Hi Regina,

I would like to participate in such a Hackfest. I know, I do not belong to
the targeted category of persons, but I want to code, and I could help in
testing, whether a tutorial is really suitable for a beginner.

Wir haben beim Vorbereiten des Hackfests leider festgestellt, dass der
Zeitrahmen fuer ein Hackfest vor der FOSDEM zu knapp bemessen ist.

Damit alle nach der FOSDEM wieder ihre Kraefte sammeln koennen, soll das
Hackfest ab ca. Mitte Maerz 2018 stattfinden -- entweder in Hamburg oder auch
in Italien. Da wir Deine Themen auch schon vorgemerkt haben, haetten wir Dich
natuerlich gerne dabei. Gibt es im Maerz bis Mai 2018 Wochenenden, welche fuer Dich
gut passen? Oder solche, die fuer Dich garnicht passen? Waere Dir Hamburg oder
Italien egal, oder ist Hamburg fuer Dich deutlich einfacher?

Ich wuerde Dich dort gerne in der Planung beruecksichtigen.

Gruss,

Bjoern

Hi Bjoern,

Hi Regina,

I would like to participate in such a Hackfest. I know, I do not belong to
the targeted category of persons, but I want to code, and I could help in
testing, whether a tutorial is really suitable for a beginner.

Wir haben beim Vorbereiten des Hackfests leider festgestellt, dass der
Zeitrahmen fuer ein Hackfest vor der FOSDEM zu knapp bemessen ist.

In der Tat ist ein Termin in der sowieso stressigen Adventszeit ungünstig.

Damit alle nach der FOSDEM wieder ihre Kraefte sammeln koennen, soll das
Hackfest ab ca. Mitte Maerz 2018 stattfinden -- entweder in Hamburg oder auch
in Italien. Da wir Deine Themen auch schon vorgemerkt haben, haetten wir Dich
natuerlich gerne dabei. Gibt es im Maerz bis Mai 2018 Wochenenden, welche fuer Dich
gut passen? Oder solche, die fuer Dich garnicht passen?

Das Wochenende 28./29. April ist ungeeignet, ansonsten gehen alle Termine.

  Waere Dir Hamburg oder

Italien egal, oder ist Hamburg fuer Dich deutlich einfacher?

Für mich ist Hamburg deutlich besser.

Ich wuerde Dich dort gerne in der Planung beruecksichtigen.

Das ist nett von dir.

Mit freundlichen Grüßen
Regina