Foreman @ ROSS conf Amsterdam


#1

ROSS conf Amsterdam gives open source software maintainers the platform to introduce their project to an audience of first time as well as existing contributors.

Tomer Brisker will present Foreman as a project and introduce new contributors to Foreman.


#2

As part of the preparation for the event, I need to have a list of issues that are good for first-time contributors. I thought of using the trivial bugs in redmine, but looks like at the moment there just 22 new issues in foreman core with that difficulty.
If any @core developers can dedicate 15-30 minutes of their time this week to flag more issues as trivial, that would be super awesome and helpful both for this event and for newcomers in general.


#3

Sorry for the delayed report, but better late then never!

On the weekend of May 19th, the Foreman Project took part in a small Hackathon, similar to our “Construction Day”, called “ROSS conf”. Both are an opportunity for contributors to work literally side by side with other contributors on a project to make their contribution to an open source project. For participants, this contribution is most of the times their first contribution to the project and sometimes even their first contribution to open source!

ROSS conf started in 2015, initiated by Floor Drees to provide a space for open source projects, specifically those using Ruby, and those interested in contributing to them. Previous editions in Vienna and Berlin included projects like “reek” a static Ruby code analyzer, RVM, the Ruby version manager, “Bundler” a Ruby package manager and even the Ruby language itself was represented as a project to contribute to.

For the third most recent edition Foreman, represented by Tomer, took part in the event to welcome new contributors to the community and to open source.

This year the conference took place in Amsterdam. The conference began with a fun boat ride through the canals of Amsterdam for the conference team, captained by Sebastian. Afterwards, all of the attendees arrived for an evening of networking and presentations about the different projects. Besides Foreman, other projects included: RVM, Exercism (A platform for learning new programing languages), Homebrew (the MacOS package manager), WeTransfer’s API (Which was open-sourced at the event), and Phusion’s Support Central (A tool they created for managing multiple support channels). There were about 40-50 people attending, including the speakers and mentors.

The next day started by dividing to teams. There were 6 attendees that signed up for the Foreman project. Four of them arrived from Romania especially for the conference, and worked together on one laptop. First couple of hours were used to help everyone set up their development environment, which led to finding a couple of bugs in the documentation as well. Afterwards, the remaining time was used looking at open issues and finding simple ones to start from. There was some interest in React, so Tomer helped the interested people find issues related to patternfly and react parts. Eventually, we had 4 PRs open in Foreman core, and 3 PRs in the website in one day.

Some key takeaways with respect to onboarding:

  • The “Good first bugs” query on redmine was not helpful enough. Some require more complicated setup to test or don’t have clear reproduction instructions. Most bugs don’t have a difficulty set, so they don’t show up in the list even though they may be a good fit. Better triaging would help make the list more relevant for newcomers.
  • Development setup is still fairly complicated for newcomers, even when following the guidelines. We opted not to use forklift as that also requires complicated setup to get vagrant working, and some of the contributors were on macs.
  • Having the ability to seed some initial mock data in the database would make it easier to get to working on bugs. https://github.com/theforeman/foreman/pull/4576 should fix this when it’s merged.

Sebastian and Tomer


#4

Thanks for the report! Few comments to takeaways

The “Good first bugs” query on redmine was not helpful enough. Some require more complicated setup to test or don’t have clear reproduction instructions. Most bugs don’t have a difficulty set, so they don’t show up in the list even though they may be a good fit. Better triaging would help make the list more relevant for newcomers.

Triaging would help for sure, also having the template for redmine issues, similar to what we have on discourse for support. @Gwmngilfen if we’re still blocked on redmine update, could you just set the default value for description column in issues table? That should do the trick.

Development setup is still fairly complicated for newcomers, even when following the guidelines. We opted not to use forklift as that also requires complicated setup to get vagrant working, and some of the contributors were on macs.

Forklift can be used without vagrant. Ansible playbooks should are generic and I know few folks using it directly. We still don’t have full dev setup in there, but for Foreman core and several plugins, it should work. Though the setup takes a long time. For events like this, git clone is probably better option, especially if it’s expected to only hack on smaller issues.


Marek


#5

Current priority is the survey results report. Redmine is next on my hit list, probably get started end of this week or early next week. I’ll look into this - but my gut feeling is that a database default won’t help as the bug is a new record that’s not saved in ActiveRecord yet. I won’t derail this thread though - if I hit issues we can discuss on #development :wink: