Matters is fully open source and invites you to build Matters City together.
Two months ago, we launched the open source plan and invited some developers to join the Matters code repository to make suggestions and hone the collaboration process. In the past two months, we have improved the process and documentation, added a public testing environment, and gradually transferred the product development process to GitHub. Now, we have made the code of Matters fully open source, so that anyone can review, access and participate!
In the past two months, although we are still exploring the process and specifications, citizens of Mat City have already begun to contribute their own ideas. @mayyyonnaise started to add the function of inserting tags to the editor, @Ginhing added Storybook to the front-end component library to facilitate developers to browse and participate, and @东阳 fixed minor bugs in local development .
We hope to open up not only the source code, but also the process of product decision-making and iteration of Matters, so we also hope that interested citizens of Matters will follow up and participate in the whole process of ideas from emergence, shaping to implementation. In Matters' GitHub project , there is a project about new features and a project about optimization and bug fixes . In both panels, you can see the unformed ideas in Brainstorm, the tasks under development in Select for development, and the features waiting to be launched in Reviewer approved.
There are ideas and ideas under discussion here, such as displaying and expanding article tags on the homepage , allowing users to change the font size , allowing developers to register Matters' OAuth applications , and exposing and communicating Matters' sorting algorithm ; there are also functions under implementation, such as Tag collaborators and community management , redesign the homepage sorting , distribute Matters Web App through IPFS , and allow articles to be modified . We also look forward to you joining us with your interesting ideas!
The code of Matters is distributed in different warehouses, including web pages matters-web , editor matters-editor , server matters-sever , and server cache apollo-responsive-cache . The developer-resource warehouse is specifically used to record technical architecture documents and a wiki that records collaboration processes . It is the first step for designers and developers to understand the Matters system.
Whether you have a feature you want to implement or find a bug, you can submit an issue directly in GitHub. If you know which warehouse the issue should belong to, you can initiate it directly in the corresponding warehouse; otherwise, you can raise it in developer-resource . We will then classify the issue, add the corresponding label, and integrate it into the corresponding project schedule . Midterm .
Issues are mainly divided into several categories: bug , enhancement , community , and feature request . Each category is designed with a corresponding process, which is recorded on the wiki page:
- A bug is a situation where an existing function does not operate as designed. The process is relatively simple. As long as there is a way to reproduce it and it is confirmed by the technical or product team, it will be added to the schedule. Enhancement is an optimization proposal that does not change existing functions. The technical team will participate in the discussion to determine whether it should be included in the schedule. Community is a proposal regarding collaboration rules, community charter, etc., which often requires broader community discussion and consensus.
- A feature request is a proposal for new features, and it is also where ideas and creativity are most likely to appear. If you are willing to participate in design or development, or if Matties is willing to assist, the proposal will be given priority by the product manager; but if the function conflicts with the general direction of Matters development, we will also discuss and reach a consensus. However, publishing an article in Matters first, soliciting community opinions, and finding partners who are willing to cooperate is definitely the easiest way to promote the implementation of new features.
In each warehouse, the code branch under development is develop . When developing locally, you can fork a version, modify the code, and then submit a pull request to the develop branch. After the development team reviews the code, it will be imported into the develop branch and automatically deployed to the develop environment . The code in the develop environment will be regularly deployed to the stage environment and deployed to the production environment after team testing. You can also preview features that have not yet been launched here.
The above processes and rules are still being explored and adjusted. Your comments and ideas are welcome. We will also issue a monthly open source report in the future to regularly synchronize the dynamics and progress of the open source community with everyone. We look forward to you finding us on GitHub and Gitter to open Matt City in another way!
Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!
- Author
- More