lightningdevkit / rust-lightning

A highly modular Bitcoin Lightning library written in Rust. It's rust-lightning, not Rusty's Lightning!
Other
1.16k stars 367 forks source link

[Meta-Issue] LDK Project transparency and decentralisation standards #2186

Closed ariard closed 1 year ago

ariard commented 1 year ago

Opening a meta-issue on how we can improve the transparency and decentralization development process of Lightning Dev Kit, and what we can reasonably implement in the coming future.

Open-source development is a beast of its own building on 40 years of history since the early days of the GNU project at the MIT AI Lab (if one is curious to learn more about the hacking culture behind the whole FOSS movement, I can only recommend Steven Levy's Hacker Culture). I think one of the key factor of the success of the whole FOSS movement has been the public nature of all project development permitted by the low-cost of electronic communications. With this public nature, I believe a lot of open-source projects have built good practices rules to ensure development stay open to everyone and avoid private communication channels growing up between some project contributors or janitorials rights being abused and therefore closing the development. The late Pieter Hintjens's Social Architecture book is quite relevant on nurturing healthy online communities imho.

As the LDK project grows, there are more crates, sub-repositories and janitorial endpoints to manage. Github and its myriads of useless features does not make the task easy to know what permissions are attached to which roles. This can be a source of confusion about why changes are made and we had a discussion on IRC with @TheBlueMatt on this topic: https://gnusha.org/bitcoin-rust/2023-04-15.log

Additionally, an open-source project comes with the administrative maintenance of communication channels and the handling of public items to interface with the legacy world (e.g domain names). As we see more community stakeholders throwing engineering resources in the project, I think how those items are managed should be an open subject of discussion. Historically, they have been handled by the Spiral team as for years they were the only entity pouring serious resources in the project, and the one turning LDK from a cool toy Lightning implementation for Matt and me to learn about the protocol to a robust, production-ready codebase.

If my memory is correct, it has always been a goal to adopt the same transparency and decentralization standards of Bitcoin Core and libsecp256k1, when the LDK name itself was announced in January 2020. Implementing all the same practices as always been floating on our todos, though we never really did it (and I'm to blame as I think I'll look on doing the same thing than Core for maintenance scripts as old as Autumn 2020 during our first public meeting on the old Slack). And this without making it bureaucracy disgusting people to contribute after months of exasperations to have their PRs stuck in lambo.

Some open questions:

To be clear, all of that are just open ideas and the intent on this post is just to build consensus between all community contributors and stakeholders on what level of transparency and decentralization we wish for the project and how we implement those standards in concrete items.

TheBlueMatt commented 1 year ago

Discussed in the meeting, seems like nothing immediately actionable, but we should use the core merge tools sometime around 0.1.

ariard commented 1 year ago

[note: this post has been edited to remove specific and out-of-bounds references to individuals without changing the original content, edits are marked with brackets]

I'll explain more the reasons behind that post and why I'm calling out Spiral, [..] to be more accountable in the way the LDK project is managed, and to implement the adequate procedural check-and-balances to protect the interest of all the contributors and users.

For context, there has been some romantic involvement between [..] and myself during the past years, we broke up badly mainly due to the pandemie. I always respected civility and courtesy rules with [..]. The he only time I encroached due to the cultural differences on the boundary "friendship" [..] wished, I offered quickly excuses that were accepted by [..]. As of today, I still don't know what I've done wrong [..], I've been a gentleman really. In 2022, I took words to take distance and I respected them scrupulously, even if I had nothing to reproach to myself. Out of nowhere, last year during the TABConf I was taken apart successively by few people of the Bitcoin community on the push of [..]. Among them, including [..] (Friday 14th October, we went hiding behind the flowers of the Olympic park iirc). I listen with a very open-mind the view of [..] told me experience [in their professional life] where they have a code of conduct & all to firewall well romantic involvement from professional and corporate interests. [..] told me that [..] "I should be careful". I told [..] stayed a special person to me and asked [..] what I've done wrong concretely. [..] stayed without answers.

After the conference, on this ground, [Spiral] "cancelled" the VLS audit contract for the account of Block Inc that we were in discussions with for months. We have done all the background checks and the finalized contract was already and he's still in my possession. I told to [..] I'll sincerly propose a mediation with [..] to improve the things. All I got from [..] was more threats, with in texto that statement "[..] has power [and] can exercise it!" (Thursday 20th October, signal call). We did another signal call with [..] (Friday 21th October). I must say [..] was trying to be very comprehensive of the situation with a lot of empathy and he provided an equilibrated viewpoint. Still, I don't understand why [..] recommended me to shut up with in texto that statement "look at what happened to [..]". In reference to [..] public accusations of sexual harassment years ago. To the best of my knowledge, [..] has never been convicted and there is in law something called the presumption of innocence. People are 100% innocent until it has been proved the contrary, and I strongly think this principle should be respected in the public open-source space.

At that time of October, I thought to escalade what was going to Jack and the board of Block Inc, I didnt't as I had a lot of respect for [..], and I didn't wish to damage [..] reputation and the ongoing operations of the LDK project. Those events were the ones I referred in my comment when the Code of Conduct was introduced.

Beginning of February, I learned than [..] has been damaging my reputation towards other people of the Bitcoin space during that same TABConf, still without any ground. In reaction, February 14th, I sent a communication to Steve, Jack, Suhas Daftuar and Alex Morcos and latter on the main interested to call out the situation of "moral hazard" exercised by [..], as I strongly believe someone shouldn't leverage her or his public responsibilities in the Bitcoin space to solve a private quarrel or serve a personal interest. I concede the communication could have been more polite and a bit more formal, though as I noted there is no process to solve deontological conflicts in the Bitcoin space. I've done my best to seek a mediation and I only seeks reparation for the personal reputational damage that has been committed (in according to what law actually says).

The only response I got was the Jackson Lewis letter posted on the lightning-dev mailing list the 14th March. And then [..] reaching out to "cancel" my LN Summit invitation happening in June in NYC. Since then my lawyers have asked in concrete legal terms what were the accusations and to re-establish my invitation. As of today, lawyers are in discussion to find a settlement satisfying everyone interests.

I completely understand [Spiral] situations of being on the payroll of a big US tech corporation wishing to promote diversity and inclusivity among the Bitcoin protocol development communities. I respect this wish as long as it stays a "lead-by-the-example" position and there is no enforcement by shadow coercion or by capture of open-source commons. It is my impression in this affair, I'm judged by the protagonist without presumption of innocence [because of today's culture].

About the ongoing "cancel" campaign, I don't assign malicious intentions to anyone involved, it's just the incentives and social background playing out. I have a good understanding of the US culture to have live there for a while. Beyond there is a precedent of [cancellation in other Bitcoin open source roles]. And therefore I can sense the climate of fear reigning in the Bitcoin development space.

Still, I've grown up in a more classic European culture, the one honouring Socrate, Giordano Bruno and Sebastien Castellion. So I'll always put first ethics, due process and tolerance of opinions over illegitimate compliance to a monoculture. And speak up loudly when I think something is wrong and that some people should be more accountable of their actions.

With all this background, I think this is very legitmate to implement the procedural check-and-balances in the LDK project to avoid public responsibilities and project commons being abused to "cancel" contributors or stakeholders. I think the interest of the users should be always put first, and I think a lenient cancel culture is completely deviating us from this goal. Not acceptable at a time when Bitcoin and Lightning are used as tools of economic survival in warzones.

That's alright, I strongly believe along time we'll learn to work as one LDK community united by the technical ground, beyond the cultural differences that might oppose us. As long as we implement high standards of transparency and decentralization among us and calling people to keep me in check as I'll keep them in check.

If there is some D&I ayatollah who feels offended by what I'm saying, please send me more lawyers. All the information released is factual and therefore not a defamation. As a reminder, I'll recall I dropped out from one of the top European law school, I reached there the same level of excellency than on Bitcoin development, so if I have to countersue you I won't be hand-wawy.

ACK on the core merge tools for v0.1 as an actionable item.

This post will be OTSed in case it got "cancelled" :)

ariard commented 1 year ago

[note: this post has been edited to remove specific and out-of-bounds references to individuals without changing the original content, edits are marked with brackets]

We had an offline discussion with @TheBlueMatt on this subject. I maintain every word of this post in its non-redacted version and revealing specific and out-of-bounds references when public interests are jeopardised (here the Bitcoin open-source standards) is morally and legally valid. The references are provable facts and therefore should not be constitutive of defamation towards any quoted entities or physical persons. In light of the content, and the encroachment I believe it holds on the development of LDK, I think this is not off-topic on LDK communication spaces. I think this is fundamentally a cultural issue between East-coast/West-coast-leaning LDK contributors and someone like myself who has been raised in a European leaning. I made it very clear to Matt, I'll keep raising the issue in the Bitcoin public space until clarity has been established in this affair and Bitcoin open-source standards respected. I reserve myself the right to publish the post in its original content (the original post has been OTSed at Bitcoin block 786063 the 2023-04-19 GMT).

All that said, and with in mind the interest of the end-user in case of future suspicions of this affair encroaching of the development of LDK, I'll first reach out to Matt and other senior LDK contributors to ask clarifications, and if needed corrections. This is not a recognisance of any wrong-doing on my side, rather a symbol of the "good faith" I had and I still have today in Matt exceptional personal accountability in matter of FOSS. In lack of satisfying answers, I still reserve to engage the conservation in public in a second time.


It is my impression in this affair, I'm judged by the protagonist without presumption of innocence [because of today's culture].

Note to Spiral legal team, if this post has been updated according to their advices, to the best of my knowledge the presumption of innocence has not been overturn by US Supreme Court in matter of harassment, and as such the usage of the words "[because of today's culture]" is legally questionable. I've asked recently to Jack about this affair and my understanding of his answer was Spiral is a complete autonomous unit from Block Inc and as such the entity legally responsible.

michaelfolkson commented 1 year ago

@ariard: This isn't in my wheelhouse but much of this isn't relevant to LDK and it just isn't productive to bring your legal dispute with Chaincode into a discussion about LDK technical topics and LDK project management. As always the offer is there for a private IRC conversation or a call if you want to chat. Or I'm happy to read through something before you post it in a GitHub repo. But it seems from this you need to compartmentalise a lot more effectively if you are going to continue to be a productive contributor to this project. Or perhaps you need a break until you have sorted out your legal matters. I won't comment again on this issue as I'm personally not a contributor to this project. But hopefully this is somewhat helpful.

ariard commented 1 year ago

@michaelfolkson On the legitimacy of posting my legal dispuste with Chaincode on LDK communication space, in light of all the elements, a chunk of them not disclosed, it does. Matt and Steve, two of the most active contributors to LDK have being somehow involved in this dispute, which have provoked a "breach of trust" in our relationshsips and downgrades the state of collaboration on the project. Including with implications on LDK project management and other issues. On the call to compartmentalise, there is "sane anger" to express when you have the deep appreciation than ethical principles have been broken that if not addressed can jeopardises users funds security and safety on the long term. All the greats in the Bitcoin development space had rants, especially when you have time considerations in mind, while still keeping level-headness on other subjects.

I don't apologize for the tone used in the post, neither for the reference to cultural leanings elements influencing the matter. From discussions with folks at CoreDev during the past weeks, there is a strong divide between European and Americans on those types of issues.

On the legal matters, the fact they nest with technical issues, without formal separation is concerning for the Bitcoin space at large in my opinion. Solving them might take ~5 years if you're familiar with law process so I won't stop to contribute to LDK in the meantime.

All that said, the good news I think we have reach a state where we can discuss more sanely with other LDK senior contributors and there is a legal channel opened between Chaincode and myself, and progress is made.

TheBlueMatt commented 1 year ago

There's obviously a lot more to this but I'm not going to publish peoples' private business or details or private conversations, which is against the LDK CoC and common courtesy.