13 ms·
I find it interesting that Rust has a lot more contributors compared to Go. Comparing https://github.com/golang/go https://github.com/golang/go and https://gith
by sanxiyn 12y ago
I find it interesting that Rust has a lot more contributors compared to Go. Comparing https://github.com/golang/go https://github.com/golang/go and https://github.com/rust-lang/rust https://github.com/rust-lang/rust, all contributors: 380 vs 695, contributors with more than 100 commits: 17 vs 35.
- fhs 12y agoKeep in mind that contributing to Go requires that you sign a contributor license agreement, something people might not want to go through (no pun intended) for small changes.
- baldfat 12y agoBUT this allows for easier changing of the licensing.
- StevePerkins 12y agoThat's a "feature"? (from a contributor perspective)
- DannyBee 12y agoA fairly large number of projects decide to change their license later in life, but this is mostly if they start off with more "restrictive" (for lack of a better term, i know how Free software advocates feel about this) licenses, like GPLv3 or whatever, or because they discover the license doesn't work well for what they wanted. For example, Eigen, a very widely used math library, switched licenses because they were mistaken about the implications of LGPL, and as it started getting more widely used, it started affecting usage. Other projects grow runtime libraries, and discover they don't want licenses that require attribution for those, because then everyone who makes a binary has to ship notices, etc. There are even simpler cases. For example, llgo, the Go language frontend for LLVM, is being contributed to the LLVM project. This requires a license change to the same license as LLVM. Because there were no contributor agreements, every contributor had to be tracked down and asked. A bunch are either dead or not around anymore, and now those contributions have to be rewritten or excised. This has slowed them down a few months so far (at least from my view, pcc can surely correct me if it hasn't been that long) In terms of how often this happens, i've personally helped about 50 medium-high profile open source projects change licenses, and it's not even my "real job". It's fairly common that as a project goes from nothing to having a lot of users, they end up having to change something about their licensing. It's also a massive pain when there are no CLA's.
- baldfat 12y agoSorry I should have put a sarcasm tag :P
- untothebreach 12y agoI believe Rust requires a CLA as well. Might be wrong, but I seem to remember getting a mail about that a while back. A rust dev that knows for sure can correct me, if necessary.
- brson 12y agoRust does not require a CLA.
- DannyBee 12y agoNot quite right. "Those with review privileges or direct push access are required to file a Mozilla "committer agreement". " (FWIW: From a legal standpoint, this doesn't make any sense. Either all-in or all-out makes sense. There is no legal distinction to be drawn that the above captures, AFAIK)
- pcwalton 12y agoSee the committer agreement section 4, which covers this case: https://static.mozilla.com/foundation/documents/commit-access/committers-agreement.pdf https://static.mozilla.com/foundation/documents/commit-acces... All code committed to the Rust repository goes through someone who has signed a CLA, including this section. Rust uses the same policies here as Firefox.
- DannyBee 12y agoSo does this mean all original code (IE not third party code) requires a CLA? Or not? If so, then Rust requires CLAs. Great, legally sound. If not, this makes no legal sense. Simply having people with a CLA commit it buys you nothing, legally :) As I said, all-in and all-out policies make sense. Pass through policies (IE i can commit code by another), you may as well have no CLA. It's just overhead with no legal benefit. The benefit of CLA's is to have legal assertions about ownership and patents, from the people who wrote the code. So without having the people who actually wrote the code make those assertions, you get nothing legally. In those cases, or if it isn't your goal (like the DCO folks), you might as well move to the developers certificate of origin model, and get the same benefits, without any of the overhead.
- deleted 12y ago[deleted]
- farslan 12y agoAlso contributors are not the same as committers in Github. And I've found that Github doesn't display Authors but only Committers. Example: https://github.com/golang/tools/commits/master/cmd/cover/func.go https://github.com/golang/tools/commits/master/cmd/cover/fun...
- masklinn 12y agoGithub does display both author and committer, and has for some time. If an author is present, it's the contributor.
- barosl 12y agoOne thing I love in Rust is that it purely makes use of the existing infrastructure that everybody knows - GitHub. Every Google project uses its own repository, issue tracker, and mailing list. Even many Mozilla projects such as SpiderMonkey require some knowledge to access their infrastructure. However, almost all development in Rust are done only using GitHub. No external dependencies. One exception that is not part of GitHub would be the build bot, though it doesn't matter much. I know that GitHub centralization is not a good sign, but Rust's all-in-one approach really lowers the barrier to entry significantly.
- vegedor 12y agoHow could GitHub centralize, when git is decentralized in principle? I mean, it's an interesting question, whether the merits of centralized cataloging and issue tracking warrant trade-offs in autonomy for self-hosting or variety in features. What do you see as a problem?
- Gankro 12y agoBuildbot and Bors are also hosted on Github. :D https://github.com/rust-lang/rust-buildbot https://github.com/rust-lang/rust-buildbot https://github.com/graydon/bors/tree/rust https://github.com/graydon/bors/tree/rust
- shurcooL 12y agoI've made several CLs like this commit [1], yet I am not seeing myself listed under contributors. [1] https://github.com/golang/go/commit/912ec1990bd09f8fc128c3fa6b59105085aabc03 https://github.com/golang/go/commit/912ec1990bd09f8fc128c3fa...
- dbaupp 12y agoI believe the .../graphs/contributors page only shows the top 100 contributors (for Go it looks like the threshold for commits is approximately 6).
- shurcooL 12y agoYou're right, but that's not the reason here. That's with the default filter; you can adjust the date range, or show based on lines added/removed, and I'm still not showing up even in cases when it shows less than 100 people and/or with less total lines added/removed than my commits.