LWN: Comments on "Ryabitsev: Patches carved into developer sigchains" https://lwn.net/Articles/793037/ This is a special feed containing comments posted to the individual LWN article titled "Ryabitsev: Patches carved into developer sigchains". en-us Thu, 16 Oct 2025 09:01:08 +0000 Thu, 16 Oct 2025 09:01:08 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/794203/ https://lwn.net/Articles/794203/ flussence <div class="FormattedComment"> I can't recall the last time I had to think in terms of raw SQL to get something done using Fossil. I can't say the same for blockchains and Git though. Perhaps those people who think they have too much brain to fit in the room are kidding themselves.<br> </div> Fri, 19 Jul 2019 21:09:52 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793990/ https://lwn.net/Articles/793990/ bluss <div class="FormattedComment"> It sounds awesome, but I was half expecting he was going to say it was written in nock and hoon.<br> <p> (Maybe you know the reference to a well known but obscure project)<br> </div> Wed, 17 Jul 2019 18:50:31 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793936/ https://lwn.net/Articles/793936/ Wol <div class="FormattedComment"> <font class="QuotedText">&gt; Now to be fair the SQL language does hide solid computer science behind a management-speak appearance...</font><br> <p> You know what I think of First Normal Form databases ...<br> <p> As soon as you break the Relational rule that you can only talk to databases in two dimensions then things become better, but any database that only works in rows and columns is "broken by design".<br> <p> (And yes, relational theory is brilliant at ANALYSING your data structure - it really is - but don't use it to build the database itself!)<br> <p> Cheers,<br> Wol<br> </div> Wed, 17 Jul 2019 10:26:42 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793636/ https://lwn.net/Articles/793636/ lkundrak <div class="FormattedComment"> <font class="QuotedText">&gt; I don't think there's any kernel maintainer left who doesn't use git.</font><br> <p> Andrew Morton<br> </div> Sat, 13 Jul 2019 19:45:23 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793625/ https://lwn.net/Articles/793625/ smurf <div class="FormattedComment"> <font class="QuotedText">&gt; The fundamental premise of the Decent fantasy universe is that there exists some app that is sufficiently popular that you can expect every open source developer to have a current version of it on their phone</font><br> <p> So? When Linus invented git, git was that fantasy tool, and initially quite a few maintainers declared their continued (*) unwillingness to switch away from a purely-email+patch-based workflow.<br> <p> (*) because Bitkeeper. Which incidentally is now Apache licensed … and has seen a whooping FOUR changes during the last year …<br> <p> Today? I don't think there's any kernel maintainer left who doesn't use git. The problem is that git is necessary but not sufficient for a huge multi-maintainer repository like the kernel, the existing tools (email-based patch distribution and review and bug tracking and whatnot) continue to not scale, … so we need a new tool.<br> <p> Ideally, a tool that's as cool for distributed collaboration as git is for distributed code sharing will be adopted widely enough that the "everybody has it on their phone" problem is a non-issue because, well, everybody *does* have it on their phone.<br> <p> Pipe dream? perhaps. But git started as some basic concepts and a rather basic tool, too – and now look at the infrastructure around it. The lesson is that, yes there needs to be an initial need for the tool – but much more importantly, the concepts behind the tool must be sound.<br> <p> Sigchains are one of these; for a real collaboration tool they, or something resembling them, are necessary but not sufficient.<br> </div> Sat, 13 Jul 2019 14:34:52 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793609/ https://lwn.net/Articles/793609/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; For all the years that we've been doing Fossil, folks have been throwing shade on us and saying things like "Why don't you use Git like everybody else because Git is Awesome!". I have several answers to that question,...</font><br> <p> There is a very easy answer to this sort of questions when you feel lazy: ask back whether the people who made git were using Subversion just like everyone else<br> </div> Sat, 13 Jul 2019 03:21:56 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793578/ https://lwn.net/Articles/793578/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; How do you imagine this works now? </font><br> <p> I don't, that's the point you keep missing.<br> <p> <font class="QuotedText">&gt; They're preinstalled</font><br> <p> <p> </div> Fri, 12 Jul 2019 17:08:08 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793577/ https://lwn.net/Articles/793577/ zblaxell <div class="FormattedComment"> <font class="QuotedText">&gt; I don't need an app to send pictures or contacts to someone else's phone over bluetooth</font><br> <p> How do you imagine this works now? There's an app for that, probably several (one for pictures, one for contacts, one for SMS messages, a separate one for every other Bluetooth profile you want to use). They're preinstalled (or baked into the "system services" module for the phone OS) but they don't require privileges that aren't available to other developers. You probably can't _remove_ any of them if they turn out to be security swiss cheese because your vendor didn't want to fork over a pile of cash to recertify their 0day-filled Bluetooth stack.<br> <p> You can download support for any protocol you like in 20 seconds from your phone vendor's app store. You probably do have to do that before you get to the conference, though.<br> <p> <font class="QuotedText">&gt; and don't want to install one. That's the use case in the parent article and the one I'm referring to. </font><br> <p> Maybe in some alternate reality Google will put Decent on every Android phone. Hahaha I'm kidding, in the Decent fantasy universe, Decent is the thing open-source people are using instead of the equivalent Google tool or service.<br> <p> The fundamental premise of the Decent fantasy universe is that there exists some app that is sufficiently popular that you can expect every open source developer to have a current version of it on their phone, ready to use for convenient ad-hoc project distribution. If you reject that, you reject the entire story in the OP. (Maybe you do reject the entire OP, but in that case the choice of Bluetooth vs WiFi as bit-level transport would be irrelevant.)<br> <p> <font class="QuotedText">&gt; All the WiFi infrastructure you just described indirectly is great news (and the technical comparisons are very interesting, thanks) but unfortunately not enough for people to start using WiFi to merely send something to someone else's phone until it's just one simple, direct access item in the "share" menu. And again even bluetooth comes a bit short there, depends on what is a "socially tolerable amount of time" for the other person.</font><br> <p> There's no way that's happening without an app on the phone to orchestrate. The good (?) news is that any random app on the phone can add its own "share" menu entries.<br> <p> </div> Fri, 12 Jul 2019 17:02:59 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793576/ https://lwn.net/Articles/793576/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; I have an app on my Android phone [...] I have another app [...]</font><br> <p> I don't need an app to send pictures or contacts to someone else's phone over bluetooth and don't want to install one. That's the use case in the parent article and the one I'm referring to. <br> <p> All the WiFi infrastructure you just described indirectly is great news (and the technical comparisons are very interesting, thanks) but unfortunately not enough for people to start using WiFi to merely send something to someone else's phone until it's just one simple, direct access item in the "share" menu. And again even bluetooth comes a bit short there, depends on what is a "socially tolerable amount of time" for the other person.<br> <p> <font class="QuotedText">&gt; I think you need to visit a consumer electronics store.</font><br> <p> No thanks, I've educated too many sales people already ;-)<br> </div> Fri, 12 Jul 2019 16:24:02 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793570/ https://lwn.net/Articles/793570/ zblaxell <div class="FormattedComment"> <font class="QuotedText">&gt; You do have the Decent app on your phone, so you scan the QR code</font><br> <p> That's the pointer...<br> <p> <font class="QuotedText">&gt; and wait until your phone shows you the usual ?replica complete? checkmark [...]</font><br> <font class="QuotedText">&gt; the data went straight from their phone to yours without needing to hit any other systems on the net.</font><br> <p> ...that's the data.<br> <p> <font class="QuotedText">&gt; Not only I never saw anyone using this, I don't think I ever heard of it...</font><br> <p> I think you need to visit a consumer electronics store.<br> <p> All-in-one printers in the last few years support a mode where the printer becomes a WiFi hotspot, and phones can send photos to them. There might even be cross-vendor standardization now (but in case there's not, there's always an Android app that matches the printer).<br> <p> People watch TV using their phone and TV stick devices using Allcast. Ignore the media-encryption stuff, the basic transport and discovery protocol is all that's required for Decent.<br> <p> I have an app on my Android phone that can configure my 3D printer's WiFi over WiFi, using some bespoke hostap discovery protocol and a pairing mode. I have another app that just sets up a local WiFi hotspot without the upstream data link (so it works even if tethering is disabled on the phone), using half of the usual Android hotspot setup and routing APIs. A QR code would provide more than sufficient information to organize two devices to use a hotspot running on one of them.<br> <p> <font class="QuotedText">&gt; Also, if the level of WiFi noise makes Access Point performance horrible, then I'm a bit sceptical about the ability of these wonderful thing to automagically configure themselves to jump to the frequencies that... the venue forgot to use by chance?</font><br> <p> The venue will use one channel group in each area (or one 2.4GHz and one 5GHz channel group); otherwise, their own access points' beacon frames will interfere with each other's data transmissions. Decent can pick any of the other frequencies and/or use a narrower channel band, and still get megabits over short noisy distances.<br> <p> WiFi has brute force transmission power, battle-tested noise discrimination, and access to 5GHz frequencies, that Bluetooth does not. Two attendees at a conference can transfer a file over a distance of a few feet (granted, they degrade the conference's WiFi further while they do so, but hopefully they don't do it for long...). WiFi still works when you have hundreds of (distant) neighbors. Bluetooth not so much--the workable distances are measured in inches, and you maybe get a few kilobits of usable bandwidth. Even NFC would be better than Bluetooth.<br> <p> </div> Fri, 12 Jul 2019 15:34:27 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793523/ https://lwn.net/Articles/793523/ marcH <div class="FormattedComment"> <a href="https://www.fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki">https://www.fossil-scm.org/home/doc/trunk/www/fossil-v-gi...</a><br> <font class="QuotedText">&gt; The difference is that Git stores its objects as individual files in the ".git" folder or compressed into bespoke "pack-files", whereas Fossil stores its objects in a relational (SQLite) database file</font><br> <p> So, Linus Torvalds, a filesystem person, stored git objects in files and "pack-files". To solve the same problem, the SQLite people use - surprise, surprise - a relational database.<br> <p> Curious what is the background of the creators of SBB?<br> </div> Fri, 12 Jul 2019 05:57:25 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793521/ https://lwn.net/Articles/793521/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; Modern smartphones have ad-hoc WiFi and media-distribution protocols that can send gigabytes of data in minutes. It's supported and working in production consumer devices now</font><br> <p> Not only I never saw anyone using this, I don't think I ever heard of it... There might be a user interface issue? Not like peer-to-peer bluetooth is super user-friendly either, but at least "some" people find it usable. What are these magical, "zeroconf" WiFi-based protocols and is there a good HOWTO somewhere?<br> <p> Also, if the level of WiFi noise makes Access Point performance horrible, then I'm a bit sceptical about the ability of these wonderful thing to automagically configure themselves to jump to the frequencies that... the venue forgot to use by chance?<br> <p> Anyway I don't think the original blog ever suggested to use Bluetooth to actually transfer the data but just pointer(s) to it:<br> <p> <font class="QuotedText">&gt; You don't even know if your phones used NFC, Bluetooth, or WiFi for this *little chat* [emphasis mine] You open the Decent app on your phone and it shows a short ID code</font><br> </div> Fri, 12 Jul 2019 05:49:59 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793517/ https://lwn.net/Articles/793517/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; It's really strange that Fossil isn't much more famous.</font><br> <p> The moment you say or write "SQL", the vast majority of people with a brain have left the room instantly. The entire room if it was a room of Linux engineers. Then it's too late no matter how smart was what you had to say next.<br> <p> You can get a smaller but still measurable effect if you say "database". Why do you think some engineers call a task/bug tracker a tool "for managers"?<br> <p> Now to be fair the SQL language does hide solid computer science behind a management-speak appearance...<br> <p> </div> Fri, 12 Jul 2019 02:31:57 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793422/ https://lwn.net/Articles/793422/ epa <div class="FormattedComment"> But as I understand it, the format of SSB data is not defined anywhere, beyond calling it "JSON". It is defined in an ad-hoc way as whatever the current version of some particular JSON library produces. That even means a backwards-compatible upgrade to the library (backwards compatible in the JSON world, since what it outputs is still correct JSON and parses to the same thing) could break SSB.<br> <p> Perhaps I'm wrong and as you say, it is carefully defined as "SSB format" which just happens to be a superset of JSON. If so, there is a lack of tool support for this format in languages other than Javascript.<br> </div> Thu, 11 Jul 2019 11:10:32 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793336/ https://lwn.net/Articles/793336/ zblaxell <div class="FormattedComment"> <font class="QuotedText">&gt; if one usecase is to exchange updates over Bluetooth or similar protocols, you want to keep the overhead small</font><br> <p> In the Decent fantasy universe--which includes a "two strangers share something the size of a Usenet newsgroup between smartphones in a socially tolerable amount of time" scenario--the one thing that breaks my suspension of disbelief is the absurd notion that Bluetooth is a candidate protocol to transfer a project repo between two smartphones. Modern smartphones have ad-hoc WiFi and media-distribution protocols that can send gigabytes of data in minutes. It's supported and working in production consumer devices now. In any conference environment that is too electromagnetically noisy for a protocol based on WiFi to work (think 100 people in a single room, all using WiFi at once), Bluetooth has no hope.<br> <p> A sane transport implementation is probably going to pipe the data through zstd, and that's going to eliminate most of the encoding overhead no matter what encoding is used underneath. For long sequences of short messages, the biggest thing in the bitstream is likely to be the signature blobs. The only way to reduce the signature overhead is to have fewer signature blobs or make them weaker.<br> <p> </div> Wed, 10 Jul 2019 15:10:17 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793335/ https://lwn.net/Articles/793335/ zblaxell <div class="FormattedComment"> Indeed, nobody is debugging the contents of a Git pack file with 'vi'.<br> <p> The standard solution for this is a strict parser (to reject badly formatted messages) combined with a separate pretty-printer (for humans to debug). Compare the output of 'git cat-file tree HEAD:' with 'git cat-file -p HEAD:'.<br> <p> </div> Wed, 10 Jul 2019 14:12:41 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793330/ https://lwn.net/Articles/793330/ zblaxell <div class="FormattedComment"> <font class="QuotedText">&gt; You either depend on the quirks of a particular encoder implementation (which seems to be what happened here), or you define a canonical form and make sure all JSON is in that form before you hash it.</font><br> <p> Both of those are the same thing. You need a "SSB encoder" not a "JSON encoder". Maybe SSB happens to look a lot like JSON, and maybe there are historical reasons why one existing JSON encoder happens to also work as a SSB encoder (for now), but they are not the same thing.<br> <p> For security reasons you want a single canonical encoding; otherwise, you end up vulnerable to padding oracles, hash collision attacks, covert channels, etc. That requirement means you can't just say "any valid JSON goes" and accept input from arbitrary encoders. Encoding might as well be provided by a protocol-specific encoding library.<br> <p> </div> Wed, 10 Jul 2019 14:09:51 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793320/ https://lwn.net/Articles/793320/ zblaxell <div class="FormattedComment"> <font class="QuotedText">&gt; Why don't you use Git like everybody else because Git is Awesome!</font><br> <p> I used to think that way...until I did a semi-serious attempt to convert the Fossil and SQLite source histories into a Git repo--not any of the other data in the archive, just the parts Git can understand. The resulting Git repo was significantly larger than Fossil's version even after trying the usual Git optimizations, and maybe a bit slower too (though that's just subjective feel, I didn't bother with performance benchmarks because Git is good enough for now, and I couldn't solve the size problem).<br> <p> It's really strange that Fossil isn't much more famous. Anyone who wants to design a new distributed developer's tool should be able to intelligently answer questions about why they did something different from Fossil.<br> <p> </div> Wed, 10 Jul 2019 12:50:25 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793315/ https://lwn.net/Articles/793315/ edomaur <div class="FormattedComment"> Well... SSB doesn't seems to have a really high entrance barrier... <br> </div> Wed, 10 Jul 2019 11:39:16 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793301/ https://lwn.net/Articles/793301/ flussence <div class="FormattedComment"> It seems a bit pointless to argue for half of this system using a human-readable plumbing data format when the other half (Git) doesn't.<br> </div> Wed, 10 Jul 2019 07:54:39 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793297/ https://lwn.net/Articles/793297/ samlh <div class="FormattedComment"> This is a pretty good explanation: <a href="https://blog.ffwll.ch/2017/08/github-why-cant-host-the-kernel.html">https://blog.ffwll.ch/2017/08/github-why-cant-host-the-ke...</a><br> </div> Wed, 10 Jul 2019 04:40:41 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793276/ https://lwn.net/Articles/793276/ jkblee <div class="FormattedComment"> This sounds like a NIH syndrome to me. Why wasting time to reinvent what works already for majority? If email is not an option, what other suggestion do you have? Right now the kernel bugzilla is a catastrophe as well that no one actually checks and issue workflow via email does not really scale well either. What would be the alternative with a low entrance barrier for majority of developers?<br> </div> Tue, 09 Jul 2019 19:46:22 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793266/ https://lwn.net/Articles/793266/ drh <blockquote> Fossil is ... not an acceptable solution for the Linux Kernel due to needing to force everyone to switch away from git. </blockquote> <p>This fact is understood and anticipated. I wasn't advocating that you switch, only that you perhaps look over our experience of the past 11 years, perhaps steal some ideas and/or some code, and maybe learn from our mistakes.</p> <p>For all the years that we've been doing Fossil, folks have been throwing shade on us and saying things like "Why don't you use Git like everybody else because Git is Awesome!". I have several answers to that question, one of which is the argument that you (I'm assuming that mricon==Konstantin, correct me if I'm wrong) very eloquently made in your recent blog post, the part about "it's time for us to come up with a solution that would offer decentralized, self-archiving, fully attestable, 'cradle-to-grave' development platform that covers all aspects of project development and not just the code". That's one of the big reasons that SQLite has been using Fossil instead of Git all along. And all that time, I've struggled mightily to get people to understand it, seemingly without making any headway. So when somebody at kernel.org says essentially what I've been trying to say for a decade, I'm like "Wow!" And then I think maybe my years of experience in this area can help guide your design.</p> <p>But perhaps this comment thread is straying too far off topic? Maybe follow-up on the <a href="https://www.fossil-scm.org/forum/forumpost/b712abfcd4">Fossil Forum Thread</a> or direct email to drh at sqlite.org, if you choose.</p> Tue, 09 Jul 2019 18:33:37 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793263/ https://lwn.net/Articles/793263/ mricon <div class="FormattedComment"> I admit that I haven't looked at fossil in very deep detail, mostly because it necessarily requires migration away from git -- which is a non-starter for the kernel community. Therefore, I may be mistaken about some important aspects of how it works.<br> <p> I see that servers may set up sync relationships between each-other, but this must be done on the basis of trust external to the platform itself -- if I run a fossil replica, you won't be aware of my work unless I ask you to set up a sync with me. There are significant downsides to this scheme as opposed to the ad-hoc replication framework of SSB, mainly because the fabric is not self-healing -- if a malicious actor targets all known replicas, they can effectively shut down all collaboration on the project unless members of the community use some third-party channel to coordinate new replicas. With SSB, even if major replication pubs are targeted, peer-to-peer replication still works and organizing new pubs doesn't require using an external communication and coordination platform.<br> <p> If Fossil is working for some people, then that's great, but it's not an acceptable solution for the Linux Kernel due to needing to force everyone to switch away from git.<br> </div> Tue, 09 Jul 2019 18:08:47 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793262/ https://lwn.net/Articles/793262/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt; Canonical JSON is anything but "easy to debug" when you're in the realm of nontrivial messages. You don't count curly parentheses to see which level an element is at, you pretty-print the thing, at which point you already parsed it and the original encoding no longer matters.</font><br> The thing is, I can output the raw json or even read it from inside a debugger. Then I can trivially pretty-print it. If it's a web service, I can usually log it using various debug options.<br> <p> With a binary format there's no such easy way to do it. <br> </div> Tue, 09 Jul 2019 17:29:27 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793260/ https://lwn.net/Articles/793260/ Cyberax <div class="FormattedComment"> Github is a proprietary service, with an issue workflow that won't really scale to the level of Linux kernel.<br> </div> Tue, 09 Jul 2019 17:22:51 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793256/ https://lwn.net/Articles/793256/ drh <blockquote>Fossil is not decentralized in the same sense that Git is not decentralized. You can clone it and fork it, but you require a canonical location of the repository for everyone to effectively collaborate...</blockquote> <p>False. Fossil will work completely decentralized, with no canonical server. Individual developers can push and pull content (code, wiki, tickets, forum posts, etc.) among themselves on an ad hoc basis. In the limit, everybody will end up with the same content.</p> <p>Having a canonical server certainly makes collaboration a great deal simpler, since you don't have to rendezvous with some other community member to share your work, and since the canonical server will usually have most, if not all, of the latest changes so you don't have to pester other developers for rendezvous opportunities in order to pick up the latest changes. Having a server is very convenient. But it is not required.</p> <p>The objective of Fossil is not to eliminate the central server or the benevolent dictator, but rather to reduce the number of external dependencies on the project so that: <ol> <li> it can be more easily cloned and forked should the dictator abdicate or go rogue, <li> the project can easily move to a new host as technologies evolve and as hosting companies go in and out of business, and <li> so that the project is less easily censored or deplatformed by a hosting provider or government that does not approve of its direction. </ol> Tue, 09 Jul 2019 17:18:18 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793258/ https://lwn.net/Articles/793258/ pbonzini <div class="FormattedComment"> That was DejaNews!<br> </div> Tue, 09 Jul 2019 17:08:00 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793255/ https://lwn.net/Articles/793255/ idrys <div class="FormattedComment"> <font class="QuotedText">&gt; If other large communities which build infrastructure that a lot of people rely on such as Kubernetes are on Github why can't the Linux kernel be?</font><br> <p> Ugh, please no centralized infrastructure; be it GitHub, GitLab, or whatever.<br> </div> Tue, 09 Jul 2019 16:54:32 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793252/ https://lwn.net/Articles/793252/ mricon <div class="FormattedComment"> Fossil is not decentralized in the same sense that Git is not decentralized. You can clone it and fork it, but you require a canonical location of the repository for everyone to effectively collaborate (e.g. same as Linus has a canonical repository -- if it goes away, he or his replacement must designate what the new canonical repository is, and everyone must agree with that decision). At best, Fossil allows you to have read-only mirrors that you can promote in case the main server becomes unavailable, but no true decentralization -- Bob and Alice can't use a replica in Australia, while Charlie and Della are using a replica in Canada.<br> <p> So, yes, Fossil is self-archiving, but you still have a single point of trust and authority with no built-in attestation. It still wants to set up cathedrals in the world that's excedingly good at targeting and taking out (or taking over) cathedrals.<br> </div> Tue, 09 Jul 2019 16:30:40 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793251/ https://lwn.net/Articles/793251/ drh <div class="FormattedComment"> Fossil (<a href="https://fossil-scm.org/">https://fossil-scm.org/</a>) is a decentralized, self-archiving, fully attestable, 'cradle-to-grave' development platform that covers all aspects of project development. It was written to support SQLite development and has been in use on that project (and many others) for over a decade. The self-contained stand-alone Fossil executable is a GitHub-in-a-box that installs using a 2-line CGI script (as well as other options) and supports all aspects of project management. Fossil is well supported and has an active and enthusiastic user community.<br> <p> Probably Konstantin wants something Git-based. Fine. But he (and others) might at least give Fossil a look in order to steal ideas that have been refined and tested on that system over the past 10 years.<br> <p> <p> </div> Tue, 09 Jul 2019 15:59:17 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793239/ https://lwn.net/Articles/793239/ jkblee <div class="FormattedComment"> If the idea is to remove issue of email workflow in the long term, then kernel devs needs to change their workflow one way or another. Github is battle-tested with large scale projects already and has a lower entrance barrier as well for new developers (yes, new people and workflow matters, it's both and not just the latter). Why reinvent the wheel? ;)<br> </div> Tue, 09 Jul 2019 15:14:38 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793234/ https://lwn.net/Articles/793234/ Wol <div class="FormattedComment"> Because somebody - can't remember who - took over responsibility for archiving news and this became pretty much a "single point of failure". Then Google took that over and turned it into Google Groups.<br> <p> Combine that with the volume of spam, and I remember Demon (who had one of the biggest news feeds) had major problems scaling to cope with it. It just grew too big and imploded :-(<br> <p> Cheers,<br> Wol<br> </div> Tue, 09 Jul 2019 14:46:07 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793205/ https://lwn.net/Articles/793205/ mathstuf <div class="FormattedComment"> It's not the number of people that matter, but the workflow. Github just doesn't support the workflow that kernel developers are comfortable with and use day-to-day.<br> </div> Tue, 09 Jul 2019 14:39:27 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793192/ https://lwn.net/Articles/793192/ jkblee <div class="FormattedComment"> If other large communities which build infrastructure that a lot of people rely on such as Kubernetes are on Github why can't the Linux kernel be?<br> </div> Tue, 09 Jul 2019 14:37:06 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793199/ https://lwn.net/Articles/793199/ mricon <div class="FormattedComment"> Yes, you can reference the message-id of the bug you want to link to. See: <a href="https://ssbc.github.io/docs/ssb/linking.html">https://ssbc.github.io/docs/ssb/linking.html</a><br> </div> Tue, 09 Jul 2019 14:23:33 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793193/ https://lwn.net/Articles/793193/ welinder <div class="FormattedComment"> Re-tooling Linus is going to be the problem, not re-tooling patch handling. Email has served him well for handling patches.<br> </div> Tue, 09 Jul 2019 13:56:37 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793190/ https://lwn.net/Articles/793190/ mjthayer <div class="FormattedComment"> Would cross-referencing bugs from other bugs work too?<br> </div> Tue, 09 Jul 2019 13:40:47 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793185/ https://lwn.net/Articles/793185/ mricon <div class="FormattedComment"> SSB records are structured data, so adding a specific record type ("type": "issue-report") is easy. The harder part is to agree what the standard for that should be, but looking at projects like git-bug and git-appraise should help figure out what kind of records should go into an issue-report. <br> </div> Tue, 09 Jul 2019 12:30:07 +0000 Ryabitsev: Patches carved into developer sigchains https://lwn.net/Articles/793184/ https://lwn.net/Articles/793184/ mricon <div class="FormattedComment"> Smaller than you'd think. For example, 20 years of vger.kernel.org archives is currently around 20GB. Clients lazy-load the chains as they cross-index the conversations, so someone replicating the entire archive would be able to participate without needing to wait for the entire thing to replicate.<br> </div> Tue, 09 Jul 2019 12:23:43 +0000