How Open Source Projects Are Managed

Open source projects are managed using different methods. The key to success is variance: different projects have different approaches and have found success with a “one size doesn’t fit all” model. Together we can learn how to manage these efforts, and turn our dreams into reality!

This book builds on the foundations provided by O’Reilly’s acclaimed “Open Sources: Voices from the Open Source Revolution”, allowing you to deepen your understanding of what open source software is, how it is created, and why so many people depend on it. The book is co-authored by two of the most experienced OS project leaders in the industry: Brian Behlendorf and Greg Stein.

OpenProject

OpenProject is an agile, efficient, classic, and hybrid open-source project management software. You will have access to secure your privacy with the highest standards in privacy and data security. Installing it in your infrastructure helps you get complete control and data ownership.

Using the tool will give you insights into all your data and its storage without any external influence. It will also allow your team to work more productive, more pleasant, and simpler way. In addition, your team will be able to track their work to get better results while organizing tasks quickly and distributing tasks to anyone within the team.

OpenProject has everything in a single place so that you can communicate better. Optimize the creativity and experience of the teammates via shared timelines to visualize and create project plans.

openproject-1

Analyze the detailed activities to develop a plan and let everyone know how to proceed and when to deliver the project by understanding the scope. Agile teams will also measure, learn, and build to deliver faster and better work with every iteration.

OpenProject provides necessary tools to get methodologies like Kanban and Scrum and agile product development. It is a big community for developers, open-source enthusiasts, businesses, etc., where they can find the perfect setup to choose between premises and flexible hosting options.

The enterprise on-premises provides premium, professional support, and security features for the self-hosted OpenProject.

Education

Most people don’t understand anything about free and open source software, communities, and related topics. Don’t expect that most people will learn on their own. The key is to offer education, education, and more education.

In your materials:

  • Clarify your business, your project, your products (e.g., the difference between a project and a product), and teach open source best practices inside and outside the company (yes, “inside” includes your colleagues and managers).
  • Write clear communication on your websites (corporate, project, docs, blog, etc.).
  • Remove the words “free” and “gratis” from your communications and content, and replace it with “open source” everywhere it is appropriate.

TaskJuggler

taskjuggler.png

TaskJuggler

(Frank Bergmann, CC BY-SA 4.0)

TaskJuggler schedules multiple parallel projects in large organizations, focusing on automatically resolving resource assignment conflicts (i.e., resource leveling).

It is not an interactive Gantt editor but a command-line tool that works similarly to a compiler: It reads a list of tasks from a text file and produces a series of reports with the optimum start and end times for each task depending on the assigned resources, dependencies, priorities, and many other parameters. It supports multiple projects, baselines, resource calendars, shifts, and time zones and has been designed to scale to enterprise scenarios with many projects and resources.

Writing a TaskJuggler input file with its specific syntax may be beyond the average project manager’s capabilities. However, you can use ]project-open[ as a graphical frontend for TaskJuggler to generate input, including absences, task progress, and logged hours. When used this way, TaskJuggler becomes a powerful what-if scenario planner.

TaskJuggler is written in Ruby and available for Windows, Linux, and macOS under a GPLv2 license.

  • Best for: Medium to large departments managed by a true nerd
  • Unique selling proposition: It excels in automatic resource-leveling.

Focalboard

Are you searching for an alternative to Notion, Asana, and Trello?

Well, you can go for Focalboard, which is an open-source and self-hosted project management software. It helps to organize, manage, track, and define work across your teams by using the Kanban board view. It has two editions:

  • Focalboard Personal Desktop: It is a desktop app for personal and to-do projects. It is a single-tenant that runs on a local server to get optimal performance and speed.
  • Focalboard Personal Server: It is a self-hosted server to help collaborate better with your team.
focalboard-1

Click over “add new boards” to pick project tasks from the different templates.

Change the created date, priority, sort settings, filter settings, and group by settings according to your preference. You can also drag cards from one column to another to change the group property. In addition, edit the cards whenever you want to know the set of properties and content and the list of comments.

Table views help you view the cards in a single place to hover over the title to open one. Furthermore, every board has card templates and board templates to customize each board as per your team. Get a Personal Desktop on your Mac and Windows or Personal Server on Ubuntu.

Documentation

Documentation will never be perfect nor up to date. It is always a best effort and a work in progress.

In some teams, documentation and tutorials are part of the work, which means the feature will not be merged if the developer hasn’t written documentation. You may want to try this practice with your team and project.

Keep in mind that sometimes it is easier and more useful to write a step-by-step tutorial about questions that come up often in the community, rather than full, detailed documentation on a specific topic.

In your docs, you must include at least:

  • A description of the project, what it does, what it does not do (if needed), the current roadmap, and the distribution license
  • How to install and a list of prerequisites
  • Basic instructions for end users
  • Basic instructions for maintainers (run, updates, monitor, etc.)
  • How to build from source
  • How to contribute on the forge
  • How to write code (the expected standards per language)
  • How to write and run tests
  • A list of dependencies and their licenses
  • A list of all the software’s extension systems and how to use them with examples (e.g., modules, themes, hooks, APIs, etc.)
  • Links to tutorials and interesting technical content on other websites
  • Ways to contribute to the project other than code (see #8 below for more)

Don’t expect that smart users and good developers will figure this stuff out by themselves; they need you to provide this information to save time and comply with your project’s best practices and requirements. Good documentation is a mark of seriousness. If it is not available, people will look for another project.

Conclusion

Operating an open source project is an entirely different concept than developing software in a private company. It’s important to understand these differences before you start, or you can expect poor results. The key is to follow best practices and do things in the right order.

0 Comments

No Comment.