{"id":18438307,"url":"https://github.com/pumpkinseed/oss-standard","last_synced_at":"2026-02-03T11:35:10.214Z","repository":{"id":93534699,"uuid":"227374006","full_name":"PumpkinSeed/oss-standard","owner":"PumpkinSeed","description":"Maintainability guidelines of Open-Source Software development","archived":false,"fork":false,"pushed_at":"2019-12-15T22:10:26.000Z","size":22,"stargazers_count":9,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-11T19:13:25.245Z","etag":null,"topics":["open-source","open-source-community","open-source-product-design","open-source-project","oss"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PumpkinSeed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-12-11T13:36:53.000Z","updated_at":"2024-11-25T12:48:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"c2838126-11f3-4c3e-8678-b3949718d495","html_url":"https://github.com/PumpkinSeed/oss-standard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PumpkinSeed/oss-standard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Foss-standard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Foss-standard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Foss-standard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Foss-standard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PumpkinSeed","download_url":"https://codeload.github.com/PumpkinSeed/oss-standard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Foss-standard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29044433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T10:09:22.136Z","status":"ssl_error","status_checked_at":"2026-02-03T10:09:16.814Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["open-source","open-source-community","open-source-product-design","open-source-project","oss"],"created_at":"2024-11-06T06:19:27.677Z","updated_at":"2026-02-03T11:35:10.179Z","avatar_url":"https://github.com/PumpkinSeed.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# OSS Standard\n\n- Maintainability guidelines of Open-Source Software development\n- **Guidelines aplicable for newly started software projects**\n- *Any pieces of advice for the improvement of the guideline is warmly accepted.*\n\n### Issues\n\n- The first step should always be the issue/ticket\n- If there isn't an issue template try to provide as many additional details as possible, like main issue, how to replicate, version(s) of software(s) used when the issue occured\n- After the discussion and having the possible solution clarified go to the implementation following the [basic guidelines](#basic-guidelines)\n\n### Basic guidelines\n\n- Follow [trunk based development](https://trunkbaseddevelopment.com/)\n\nDevelopment flow\n1. Pull the **master** branch to get the most up-to-date version of the system/application/service\n2. Create a feature branch following the [branch naming conventions](#branch-naming-concentions), `git branch I332-short-name`\n3. Push frequently based on the smaller parts of the sections, follow the [push guidelines](#push-guidelines)\n4. Create Pull Request once the development reaches a state where the solution is considered to be done based on the requirements, follow the guidelines of [pull request](#pull-request)\n5. Accept the reviews and do the change requests\n\nMaintainer flow\n1. Accept pull request on master\n2. Based on the size of the team responsible for the codebase add half of the team as reviewer\n3. Setup additional content for the pull request, in case of [Github](#github-pr-additionals) \n4. - If half of the reviewers (so 1/4 of the team) approve the changes \n   - and all of the change requests get done \n   - and the newly added code has at least 80% of code coverage \n   - and the automated test system or CI tool runs successfully then merge it following the [merge guidelines](#merge-guidelines)\n5. When the develop reaches the goals of the next version, release a new version based on the [release-guidelines](#release-guidelines)\n\nThird-party developer flow\n1. Fork the original repository\n2. Clone it and the remote origin points to the forked version\n3. Set the remote upstream to the original repository\n4. Frequently do pulls on upstream's master and merge it into the origin's working branch to keep the development up-to-date\n5. Do the steps of the Development flow\n6. Create pull request between forks against the **master** branch\n\n### Branch naming conventions\n\n- First letter must be `I` if issue, or `T` if board ticket, strongly platform restricted\n- After the first letter, add the number of the ticket, ex.: `432`\n- After that add the short name of the ticket with dashes in [kebab-case](https://trends.google.com/trends/explore?date=all\u0026q=kebab-case,spinal-case,lisp-case,dash-case,caterpillar-case), ex.: `short-name`\n- ex.: `I432-short-name` or `T432-payment-bug-fix`\n\n\n### Push guidelines\n\n- Never use `*` or `.` in `git add`, it helps to overview the files and avoid the pushes of unecessary files (ex.: binaries)\n- Never use `-m` in `git commit`, it helps to have an additional overview of the files and makes it possible to format the commit message properly\n- Use `git push --set-upstream origin I12-branch-name` at the first time\n- Never push changes on the master\n\n### Pull request\n\n- Add well-meaning title so that the maintainer can quickly recognize the purpose of the pull request.\n- Write detailed description in the body, what main issue this PR solves and how is it testable to prove the validity of the solution.\n- Create pull request against **master**.\n\n### Merge guidelines\n\n- Use `Squash` to keep the commit line clean from the thousands of commits\n\n### Release guidelines\n\n- In special cases let's handle it in an automated way or go with the following steps by hand\n- Use [Semver 2](https://semver.org/) or language-specific best practices\n- Create annotated tag with `git tag -a v1.2.3`\n- Push the new changes `git push --tags`\n\n### Github PR additionals\n\n- `Assignes`, yourself or an other team member who should deal with the PR\n- `Labels`, determine the kind of the PR and provide more information about\n- `Projects`, determine the project where the PR belongs to\n- `Milestones`, determine the version number where the PR will be released\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpumpkinseed%2Foss-standard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpumpkinseed%2Foss-standard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpumpkinseed%2Foss-standard/lists"}