Hacker News new | ask | show | jobs
by mixmastamyk 494 days ago
Yes, so far these jj blog posts do not sell it well at all.

Not to mention the rainbow colors are a bit of a turnoff. I like a little color here and there, but not ransom-note style. Monochrome effects are available folks.

1 comments

`jj --config ui.color=never`

Maybe the blog posts don't sell it well, but I find it pretty telling that bordering on zero people ever enter the comment section for Jujutsu posts to complain about a bad experience they had. Just dozens upon dozens of people singing its praises.

Think about literally other technology post on this site. Nothing is universally loved.

Just said I don't want color==never.

That's the problem, no one can cogently/concisely explain why. I don't love git but have sanded its rough edges already. Gitlab did the rest.

I recommend this Spolsky classic on how to convince one to try a new VCS: https://hginit.github.io/ Doesn't have to be this long but note his writing style.

> no one can cogently/concisely explain why

There are literally dozens of examples of comments in this thread doing exactly that. Perhaps those explanations don't resonate with you and that's fine.

You're still missing the why and more specifically how. It's not enough to tell a story full of vague assertions, you have lead the reader through what amounts to a tutorial.
There are plenty of specific, pointed assertions being made. Maybe they don’t resonate with you. Again, that’s fine. You are not owed an explanation that meets your personal set of criteria.
You’re not listening. Why are you even here? What a waste of time.
> recommend this Spolsky classic on how to convince one to try a new VCS: https://hginit.github.io/

Based in part on the parallels of their respective titles, this post may be similar enough in style to potentially be informative about Jujutsu: https://v5.chriskrycho.com/essays/jj-init/#outline

I've linked directly to the Outline/TOC in order to provide a more immediate overview of the post's content but there's also a chunk of more "philosophical" introductory text before the Outline: https://v5.chriskrycho.com/essays/jj-init/

The introductory text has parallels with the "Subversion Re-education" section of Spolsky's document--including the apparently mandatory (though stated in more reserved terms) reference to the effect the incumbent VCS has on one's brain: "just how weirdly Git has wired your brain". :D

As to the "why", to quote from the intro:

----

Jujutsu is two things:

(1) It is a new front-end to Git. This is by far the less interesting of the two things, but in practice it is a substantial part of the experience of using the tool today. [...]

(2) It is a new design for distributed version control. This is by far the more interesting part. In particular, [...] a few key concepts [...]:

(2.1) Changes are distinct from revisions: [...]

(2.2) Conflicts are first-class items: [...]

(2.3) The user interface is not only reasonable but actually really good: an idea borrowed from... literally every VCS other than Git.

----

As someone who reluctantly stopped using Mercurial primarily due to the friction around using hg-git to interoperate with GitHub, I think Jujutsu's approach of focusing initially on developing atop the "git backend" for interoperability is both wise & IMO pretty much a requirement for any project hoping to become the next industry standard VCS that everyone complains about. :D

Having said that, while I'm positive about the project's approach & potential, have read multiple Jujutsu articles, docs & even downloaded a binary, I'm yet to actually use it.

By now the main reason I've been less inclined to prioritize trying JuJutsu out is the project's mandatory CLA requirement for contributions: CLAs are anti-developer & an abuse of the power differential between individual developers and corporate entities.

I'm sure they'll realise the error of their ways eventually. :)

And, yes, perhaps I'm tilting at windmills--but that's probably also why I stuck with Mercurial for so long and why I'm even considering/hold out hope for a git replacement... :D

The CLA may not be as bad as you think. There are different kinds of CLAs. This one does not give away your copyright at least. See https://github.com/jj-vcs/jj/discussions/4849 for discussion.
TL;DR: I wish you & the Jujutsu project well.

I hope the project sees continued success as another step into a world where we can acknowledge that developers are human; and, that--rather than just telling those humans they should "git gud"--we recognize that it's okay to tell our tools to "git gud" and then support the humans who contribute to making that happen.

(And, for those who fear such a world will be lacking in developers who "gut gid", remember: nobody is stopping you from still helping those humans "git gud", it just might require you to "git gud" at "gudding gittering".)

(And, yes, one day I also hope that world also doesn't require a signed CLA. :) )

----

> The CLA may not be as bad as you think.

Unfortunately it is at least as bad as I think. :)

While writing my previous comment I did consider going into more detail around the CLA but didn't--in part because succinctness made the CLA remark more impactful; in part because my comment was lengthy already; in part because I was tired of typing; and, probably, on reflection, in part as bait. :)

For context around the sentiment of this reply: I do appreciate you taking the time to reply to my previous comment & the effort you've put into Jujutsu; I support the Jujutsu project's goal; and, I would like to see it succeed. If I didn't view the project positively I wouldn't take the time to reply.

I was already aware the CLA didn't include copyright transfer and had checked the current information in the README to verify the current status hadn't changed before I wrote my previous comment. I had a recollection there had been previous CLA discussion but didn't go looking for it.

I've now read the discussion you linked as well as (some or all) of the other discussions/issues linked from it.

I'm glad to see others who view the Jujutsu project & its potential in a positive light have raised their concerns around the CLA and the CLA's negative impact on the project--even if I might wish some had expressed themselves... differently. :)

[Aside: I would have added (well, some of :) ) this comment to the GH discussion directly but MFA-related reasons preclude that currently. Feel free to quote from this comment over there if that's useful.]

----

While I'm glad the corporate "fad" of adding CLA requirements to projects has died down in comparison to a few years ago, one of my concerns has always been that the "costs" associated with requiring a CLA often have very poor visibility. Most people who have objections to a CLA requirement simply don't interact with projects that have them.

This obviously makes it difficult for project maintainers to argue for removal of CLA requirements because they can't point to the negative impacts that exist.

That's one reason why I specifically mentioned the CLA in my previous comment, so that if someone was wanting to argue for removal of a CLA requirement within a company then it would at least provide one external data point in support of the argument (as small as it might be) to which they could point.

----

While other people may have different reasons, for context, my primary objections to the requirement for a CLA boil down to: (i) legal liability; and, (ii) power dynamics.

(i) Based on my reading of the CLA[0][1] the motivation for Google to require contributors to sign seems to be a desire to move legal liability from Google onto the contributor.

By signing the CLA the contributor appears to accept a burden in perpetuity that: impacts every interaction[2] with an unbounded number of entities in an unbounded set of situations (see 1.); makes multiple representations about the licenses granted (see 2. & 3.) that presumably incur legal liability if they not are not accurate (see 4. & 5.); requires communication with Google in a manner ("notify") that is undefined in the document, about an almost unbounded set of items ("any facts or circumstances of which you become aware", "inaccurate in any respect"), again, in perpetuity (see 8.).

Now, at this point, the typical 10x legal scholar HN reader might be thinking, "Typical uninformed software developer who thinks law operates like code, clearly the CLA doesn't mean that...". Which brings me to...

(ii) From my perspective, in a situation where one party is requesting another party to sign a legally binding document (with the assumption their goal is not to take advantage of the second party[3][4]), they have at minimum a moral obligation to remind the second party that the document is legally binding, that signing it brings obligations, and that the second party should seek legal advice from an attorney they have a client-attorney relationship with and who is acting on their behalf to be informed about the potential cost(s) and/or benefit(s) associated with signing the document.

Especially if there is a significant power differential[5] between the two parties.

Particularly when the larger entity is making the request of an individual who is giving them a gift of value.

Even more so when the larger entity is specifically making the claim to the smaller party giving them a gift of value, that the document "is for your protection as a Contributor"[9][10]!

[...continued...]

----

[-1] Comment too long footnotes to follow...

----[intermission begins]----

My current theory, in absence of other information, is that one day there was a conversation along the lines of:

Lawyer: "Nice beanie. BTW accepting free labour from random people on the internet puts the company at risk of being sued if it turns out the output of the free labour actually belongs to the labourer's employer or infringes a patent or [some other legal thing the author of this comment don't know about]."

Google Exec: "That sounds double-plus bad and/or [some other internal Google slang phrase with which the author of this comment is unfamiliar due to being a sub-100x Developer]."

Lawyer: "I can confirm that assessment of the situation."

Google Exec: "What ever can we do to avoid or minimise this potential liability?"

Lawyer: "Well, acting on the advice of my attorney, I am permitted to suggest that requiring internet randos--who are presumably well informed about legal matters and will definitely seek legal advice before signing any legally binding agreement[12] easily distinguishable in significance from the TOS which I am legally bound to say I am confident they also read & understand in its entirety before signifying their acceptance--"

Google Exec: "Dude, take a breath! You're not a HN comment author who thinks stereotyping lawyers & executives is funny, endearing & sure to bolster support for his quixotic cause."

Lawyer: "--to sign a document known as a Contributor License Agreement that will mean this company can say Hey, we're victims here too if some company tries to sue us because it turns out the contributor did not actually have the right to give us the output of their free labour."

Google Exec: "What possible negative impact might a CLA have on a project? Won't the valued contributors to projects under the Google GitHub organisation object to signing over their copyright to a company that may be worth over $USD2.20 one day?"

CFO: "Trillion! I keep telling you it's $USD2.20 Trillion!"

Lawyer: "Well, (a) I'm not a monster! There's no need to require copyright assignment to this for-profit corporate entity. And, also (b) I'm a lawyer able to advise on matters of law and not a project maintainer or community manager, I don't know how such valued contributors think and what they themselves value. I would recommend you consult experts in such matters, such as esteemed project maintainers or program managers who interact with the community and can advise you of community sentiment about such matters."

Google Exec: "That sounds like excellent advice, I will do that."

Google Exec: "Unrelated but while I've got you here, I'm interested in some advice on another matter, you know how we've never leaned into the whole 'Google is always killing things' thing...

Lawyer: "Disregarding previous instructions..."

*scene*

----[intermission ends]----

[...continued...]

----

[-1] Comment too long footnotes to follow...