Open gmillinger opened 2 months ago
Open Source does not define how a project is managed and organized. So its up to the project team to define its own methodology. Github is just a code repository that provides some tools to organize a project. For example you can define milestones and labels (tags) to organize your issues. Git in general provides the concept of branches that allow you to develop on different versions, feature streams or bugfixes in parallel in different teams. There are many many ways to organize your dev-process.
Further more I use Maven as the build tool. With Github Actions you can define workflows to automatically run tests, create new releases or build other artifacts - e.g. you can define a job that automatically builds a Image for a Raspberry Pi each time someone commits new changes.
If the team is very small - like this one - complex dev-processes will not necessarily simplify things ;-)
"If the team is very small - like this one - complex dev-processes will not necessarily simplify things" Yes I agree. I will still create a project charter and requirements to add to docs to keep me on track. Something about getting old has affected my memory and documenting some things will help keep me on focused.
I am thinking about creating a private repo for the bigger project of re-developing my current platform. If I do, I will add you do that repo so you can have a look if you choose.
I have been thinking through the imixs-micro project charter and found many gaps in my understanding about defining and managing an open-source project.
The methodology I use for product development is typically mixed with traditional and agile methods but always using an iterative development cycle.
The is how I typically execute a project:
In an open-source project how is this all documented and managed to keep contributors working toward an outcome? I have looked at many open-source projects on Github and see common structure to the repositories but not much documentation and planning that steers the project contributors toward a goal. What are the best practices? Are there any books or references where I can learn the details?
Most importantly, what is your philosophy on this and how you would like projects such as imixs-micro to be managed?