6 ms·
It is a shame that a lot of critical projects (including compilers, browsers...) still try to do things a la CVS/SVN (even if they use a DVCS). Please, stop it
by throw28363 8y ago
It is a shame that a lot of critical projects (including compilers, browsers...) still try to do things a la CVS/SVN (even if they use a DVCS).
Please, stop it. Do it the way the kernel does it. A hierarchy of maintainers that reviews the work sent by others and a single person with commit access to the main repository.
I am amazed that these smart people have not realizead yet that unrestricted commit access is simpy a no-go, with or without signed commits/tags.
- Leace 8y agoGithub lowers barriers to entry for a lot of people and I guess Mozilla likes that. Compare creating a one line fix for a project on github and having a discussion and review to sending a properly formatted patch to a mailing list and following up on that. I know that having properly configured mutt and git send-email eases most of these pains but not everyone uses mutt and browsers have better consistency between them than e-mail clients. You don't need to go through a guide to configure your browser to send patches and participate in a review (vs https://nanxiao.me/en/configure-thunderbird-to-send-patch-friendly/ https://nanxiao.me/en/configure-thunderbird-to-send-patch-fr... ).
- jopsen 8y agoIt's also a balance... Most experimental researy projects don't need high security or high code quality. They just need to prove viability, etc..
- u801e 8y ago> Compare creating a one line fix for a project on github and having a discussion and review to sending a properly formatted patch to a mailing list and following up on that. For the former: * Create a Github account * Fork the repository * Set up the new git remote * Push to that remote * Open the pull request * Wait for notifications via email * Go back to the webpage and find the comment * Modify the code, add, commit, push, and type a comment * Repeat Versus * Configure git to use one's ISP's email server * Run git format-patch * Run git send-email * Check email for replies * Amend the commit, run git format-patch, and git send-email * Reply to the maintainer email * Repeat To reply to emails, you can use any email client or even do that in the browser. You only need to use the format-patch and send-email commands to send patches.
- jvehent 8y agoFor most folks who already have an account, it's just a matter of clicking the "edit" icon on the top right of a file, making the change, then saving it. GitHub does everything else under the hood, and creates a fork and pull request programmatically. We can debate the value of centralized web interfaces to vcs systems all day long, but the fact that they immensely simplify contributing to open source software cannot be understated.
- u801e 8y ago> For most folks who already have an account, it's just a matter of clicking the "edit" icon on the top right of a file, making the change, then saving it. From what I've read, it could lead to badly formatted files and commit messages (since the online editor may not handle wrapping or spacing correctly). Plus, how does one test a change they make if they just made it in an online editor? If their contribution has syntax errors because they didn't even run the code, then is it a worthwhile contribution?
- jvehent 8y agoModern projects don't rely on local linting and testing, but instead leverage continuous integration platforms like travisci or circleci for verification.
- u801e 8y agoDoes that apply to forks of the project? Or is the only way to test the project is to open the PR and check the build status on the upstream? Personally, I would like to know that my code is in a working state before I actually submit it to the maintainer for review.
- danieldk 8y agoCreate a Github account Which most people have already and it allows you to contribute to a gazillion of repositories. Run git send-email, Check email for replies There is one important step missing here: Find out who to send the patch to or subscribe to a mailinglist (and later unsubscribe). In the former case, if a maintainer goes AWOL, the patches that they received are lost. In the latter case, subscribing to a mailinglist, let alone for every project that you want to do a drive-by submission, also involves several steps: - Figure out how to subscribe - Subscribe - Set up filter in your e-mail client to avoid cluttering up your inbox. - Unsubscribe when you are done To reply to emails, you can use any email client or even do that in the browser.* You can also reply to GitHub issue e-mails. (I am not a big fan of GitHub, but I think it is important to understand why a lot of people find GitHub so convenient.)
- wongarsu 8y agoThere is no proper tooling to support maintainer hierarchies beyond git itself, and most people would view it as a step backwards if a major open source project moved entirely to email. I agree that letting everyone commit is a bad idea once you reach a certain size (though I prefer to limit commit rights to a group of code reviewers, which integrates nicely with github&co). But not every mozilla project has reached a size where the overhead is worth it.
- 3pt14159 8y agoI completely agree. Critical projects are used in self-driving cars now. It's time to grow up.
- dpwm 8y agoIt seems strange to me too. It's not just that, but I have seen more than once someone well-meaning person changing history and pushing it, causing problems for other maintainers. Git is a complex tool and as a result more complex actions tend to fall out of memory and tend towards copy-pasting from a Stack Overflow answer. > A hierarchy of maintainers that reviews the work sent by others and a single person with commit access to the main repository. This is surely the whole point of having a DCVS. You can just produce a request to pull and the person with push access can review it before it's committed.
- kyrra 8y agoIs this comment targeted at Mozilla? My understanding is that they fully host on Mercrual.
- jvehent 8y agoFirefox and related code is on Mercurial, self-hosted, and mirror on GitHub. But Mozilla is a lot more than just Firefox, and tons of our applications, services, experiments and so on are hosted on GitHub.
- nine_k 8y agoIt depends on which kernel you mean! https://www.freebsd.org/developers/cvs.html https://www.freebsd.org/developers/cvs.html https://cvsweb.openbsd.org/ https://cvsweb.openbsd.org/ Dragonfly and Illumos use git, though.