Utterances: Lightweight comments widget built on GitHub issues
utteranc.es
utteranc.es
How is that not a proprietary lock-in if all your data is stored on a single company's servers?
People keep on treating GitHub and other corporations as public services. They're not.
That may not last forever. The original GitHub people will gradually drift away once their vesting concludes. If overall growth stalls, Microsoft management may yet feel the temptation to start squeezing GitHub for cash.
I suspect they'll acquire NPM along the way too, to have a better lock-in in place.
No matter if someone is going to acquire npm or not, npm registry is clearly degrading in value provided to users, while trying to earn a profit.
I recently started a project to do something about it, called Open-Registry (https://open-registry.dev).
Basically, it's a new package registry compatible with npm (proxy to the npm inc registry) that is 100% community funded and has a explicit governance that the community owns it.
I highly doubt MS will ever squeeze GitHub for cash also. It's about integration and azure.
They have proved by now that they are not Oracle and they are doing the opposite of them.
- making development more open ( .net core vs Java)
- making tools more open ( eg. Sms vs MySQL, vscode, ...)
Both have clouds. Microsoft is adding/creating more free tools/services as their onboarding funnel. Development ease is their motivation.
Oracle buys popular things and starts licensing them. They try to force existing clients into their cloud ( MS makes it optional). Oracle's motivation is management influencing
I don't think we can say for sure that Microsoft will forever act the way they are acting now, as in the end it's run by people and those people eventually become replaced with others.
Saying that a company has "proven" something and that means they will act a certain way forever seems unhealthy.
Good point! Maybe there should be such a public service as an option.
- Strong community governance
- Everything done needs to be in favor of the users
- Funding should be by the community
- Metrics, finances and management has to be transparent and done in the open
- Obviously, 100% of the code has to be under a open source license as well
Basically, a Open Service is a public utility for the internet.
My first service I'm creating like this is https://open-registry.dev which replaces the npm inc registry with a community owned one.
You know, those Mastodon folks have built some interesting stuff on top of ActivityPub. Maybe we should build a text-based communication protocol on ActivityPub in addition to more social features. Then we could also give some file-sharing mechanism, wherein a user could send a message with a tightly linked file, like the message and file are attached to one another.
Then we could let users run a server to send these sorts of messages over a federated ActivityPub network.
Perhaps we could normalize this protocol so much that ISPs would include a basic option of an address and some storage. This would really help to separate us from these mega service companies like Google and Facebook.
/s
A start might be a standards body offshoot, or a similar organization.
Maybe the UN? Maybe an org like IEEE?
Seems like an interesting discussion topic.
When you put it in terms of “code sharing” it sounds like an act, rather than what I’m targeting—a repository or library.
I'm only suggesting common repository hosting would be a benefit to humanity, so that source code can be persisted beyond the whims of a private company and accessible by all.
I'm not suggesting that anybody should be forced to use it.
That is an example of a situation which's solution might have to be solved as a public service because it is literally people dying. Code sharing is not as severe as people dying and thus not really necessary to have it as a public service with all of its shortcomings including unnecessary cost to the state budget and irrationality of the whole idea (just why, we have the nonprofits for exactly this kind of things).
> I'm only suggesting common repository hosting would be a benefit to humanity, so that source code can be persisted beyond the whims of a private company and accessible by all.
Then do it. You have all the means to do so:
- You have Facebook, Reddit, HN, ... to gather community
- You have the Internet to find incorporation documents for nonprofits
- You have Paypal and cryptocurrencies to receive donations
- You have IPFS
- You have Git
- You have Amazon, DO, Azure...
Apparently such service has not enough value even for you if you can't spend $10/month to do it, and thus you want to force other people to do it for you.
> I'm not suggesting that anybody should be forced to use it.
I'd call you a fucking communist and went away if I thought that.
I should maybe be more clear: I see a public service option for code repositories as more of a public library than anything else. I was suggesting something expressly not run by a private company. That's because as we've seen many times over: companies' priorities change over time—products rise and fall.
I think code is important. I think it will be important in the future as well. As much as ancient recorded mathematics and literature is important.
As well, I see a greater benefit to building common libraries than to burning them.
Because I don't favour dictatorships, I see building libraries as the product of agreement. So by default it seems a collaborative effort to me, and not a forced one.
All of this is why I consider the subject worth discussing.
Doing this through any government or government-like organization is wrong. If your proposal is about a nonprofit group of people doing that as a sort of public service, then I'm sorry
I agree with the rest
In my country and IMHO generally in discussions "public services" (akin to "public utilities") are provided by governments.
This seems to be where we diverge, then. I disagree.
I do think that how its implemented is crucial, but not that the form of system is. That is, government not as hard authority but as collaboration. Non-profits are not much less volatile than private companies. One would be a step in the right direction, sure. The form of a government is hardly different from any other authoritative body—I don't think it's productive to think of it as a bad word. Implementation is primary.
I strongly despise the current "'it should be done' instead of 'we do this'" trend. Just get the hell up and do it, code sharing does not even need any investment! Talk to your neighbors/friends/use the internet. You don't need the government to live your life. It was supposed to be there in case something goes wrong and for-profit help could become dangerous, not for other things such as code sharing...
... TBH I still can't really believe someone thinks we need the government to provide repositories, or that it'd be a good thing. Just why?
You also seem to be representing what I’ve been saying as if I’ve suggested there should be only one, centrally-located repository and that is not the case.
One of the first suggestions I had was the UN or IEEE.
For what it's worth, I have volunteered software engineering time for the former, and it was productive and barrier-free.
My reasoning, that I've stated multiple times, is posterity. I think a system could be valuable for the same reasons we make libraries publicly funded and run institutions.
I'm sorry but you seem hung up on semantics. I just don't see collaboration in the context of a public institution as somehow separate from person-to-person collaboration. It's only your perspective on it that removes it. It is completely a matter of implementation, and the rest is semantics.
We simply can't rely on a VM hosted by a profit-focused company as the backbone for record-keeping in posterity. The goal being something other than economic profit means it can never be the priority of such an organization.
I was never trying to start an argument, but a discussion about possibilities.
I am European with direct experience with around 20 governments of the union; I've never visited the USA
> I just don't see collaboration in the context of a public institution as somehow separate from person-to-person collaboration.
One involves politics, lawmaking, ministers, directors, budgets, projects and governments and... And one does not. Pretty huge difference.
> We simply can't rely on a VM hosted by a profit-focused company as the backbone for record-keeping in posterity.
I already suggested IPFS, and there are more solutions to distributed data than you'd like. Choosing government for your purposes is about the worst thing you could do, even the government rather uses Amazon. My current government exists mere 30 years and each switch was accompanied by literal record burning. The previous communist phase lasted 40 years, and the one before that 20 years.
> One of the first suggestions I had was the UN or IEEE.
Why not Wikipedia or similar? That's what I am suggesting, basically
You've got me there. You just didn't correct my earlier assumption, so I carried on.
> One involves politics, lawmaking, ministers, directors, budgets, projects and governments and... And one does not. Pretty huge difference.
Every human organization involves politics. And every non-profit organization requires a budget. The rest of that jargon is only semantics unless you're actually opposed to structure.
> I already suggested IPFS, and there are more solutions to distributed data than you'd like. Choosing government for your purposes is about the worst thing you could do, even the government rather uses Amazon. My current government exists mere 30 years and each switch was accompanied by literal record burning. The previous communist phase lasted 40 years, and the one before that 20 years.
IPFS isn't an organization that can manage itself as a proxy for humanity's interests. (Also not sure why you're dictating what I'd "like" here)
Edited to add: Yes the government might employ external services for run-time business. [For the most part] governments don't often rely on one source for services like that because of the need for persistence. Governments are often rigorous and slow because of the need for surety. It sucks and I'd never want to work inside of it, but it works [and some people thrive in that environment].
Also added: Your government doesn't change that quickly. Your current administration does. That's the part that illustrates what I'm saying—the people can change dramatically while the system may not. It's a bug in some contexts, but a feature in others.
> Why not Wikipedia or similar? That's what I am suggesting, basically
Sure. That would be a good start. Wikipedia is young, however. There is merit in something lasting long enough to be considered old.
I think it's clear what kind of politics I mean and what kind of budgeting I mean. I am strongly (probably given the communist past of my homeland) opposed to any government having any part in it (since it is not absolutely necessary since no one will die), not against structure. Actually it should be decentralized alike Bitcoin.
> Also added: Your government doesn't change that quickly. Your current administration does. That's the part that illustrates what I'm saying—the people can change dramatically while the system may not. It's a bug in some contexts, but a feature in others.
Eh, no. I actually meant government, and that's the whole point. You're attributing stability to entities that don't have it. Last 100 (101 actually) years:
- https://en.wikipedia.org/wiki/Austria-Hungary
- https://en.wikipedia.org/wiki/First_Czechoslovak_Republic
- https://en.wikipedia.org/wiki/Second_Czechoslovak_Republic
--- Second world war ---
- https://en.wikipedia.org/wiki/1948_Czechoslovak_coup_d%27%C3...
- https://en.wikipedia.org/wiki/Warsaw_Pact_invasion_of_Czecho...
- https://en.wikipedia.org/wiki/Velvet_Revolution
(and you could declare further changes as similarly significant, such as joining NATO, the European Union and then the Lisboa agreement, however these weren't actual changes of government but only de facto and partial so I don't list them)
> Sure. That would be a good start. Wikipedia is young, however. There is merit in something lasting long enough to be considered old.
Whole computing field is young ;-)
> (Also not sure why you're dictating what I'd "like" here)
Disregard that, it was an idiom from my native language meaning that there is really a lot of choice, so much that you might be overwhelmed (and hence dislike the large list of options)
It's really not clear.
> Eh, no. I actually meant government, and that's the whole point. You're attributing stability to entities that don't have it. Last 100 (101 actually) years:
Yes...
https://en.wikipedia.org/wiki/Austrian_National_Library
https://en.wikipedia.org/wiki/National_Library_of_the_Czech_...
(to use examples from your selection)
> Disregard that, it was an idiom from my native language meaning that there is really a lot of choice, so much that you might be overwhelmed (and hence dislike the large list of options)
The meaning is consistent in English, it's just condescending. But I do appreciate your elaboration.
So, to be clear: I consider anything that involves government generally to be avoided, and government should be involved only in things where such overreaching involvement (and its morally/ethically unsound ways - personal freedom and privacy breaches, financing through taxes...) is absolutely necessary - e.g. the end (people not dying) justifies the means.
Code sharing is not that, and having such entity run it in a centralised way would defeat the point - such database of code absolutely should be distributed, potentially blockchain-like decentralised.
> The meaning is consistent in English, it's just condescending. But I do appreciate your elaboration.
It's not in Czech. It's something a teacher would say to a kid as a joke.
Even more than this, I'm a big fan but IIRC GitHub is pretty infamous for making it excessively hard to extract issue data/move to other platforms? (I think the wiki pages are available as a repo, so at least that's easy to get).
This is true, but other components of a github project, such as the issues, are not available as a git repo that you can clone, etc.
EDIT: TIL, turns out they are. And the syntax (add .wiki to the repo name) is the same as GitLab.
git clone https://github.com/ethereum/wiki.wiki.git
You basically add `.wiki` after the repository name, and it's exposing a git repository you can clone.I'm asking honestly what other people's opinions of this are because whilst it looks good it: 1) looks like the kinda of hacky solution I try to avoid building when trying to fit together incompatible data objects and data storage. 2) uses Github's systems for purposes other than they were intended, which seems slightly unethical or at least impolite to me.
I wonder where the line is drawn here, and whether it really is unethical to use GitHub to store comments. Is something of this sorts explicitly or implicitly mentioned in their ToS?
Along the same lines, will hosting files on directly on Github and using that as our primary resource (raw.githubusercontent.com...) be considered unethical or impolite?
- "Abuse or excessively frequent requests to GitHub via the API may result in the temporary or permanent suspension of your Account's access to the API. GitHub, in our sole discretion, will determine abuse or excessive usage of the API."
Utterances uses the GitHub API and its demo page makes 4 requests to api.github.com. The API docs state a limit of 5000 requests per hour. That's quite a lot and within what a low volume blog would get, which I think is the main use case for this app. But if your blog gets really popular then you might ring alarm bells at Github.
- "Responsibility for User-Generated Content" As this is all user generated content you, as GitHub account owner, are responsible for it not breaking GitHub's content guidelines and you had GitHub permission to do with it as they see fit. GitHub are the ultimate decision makers about your user's content, not you or Utterances.
For an example of Microsoft's system in use, see the "Feedback" section on [2].
[1]: https://github.com/MicrosoftDocs/feedback/issues/396
[2]: https://docs.microsoft.com/en-us/azure/azure-functions/funct...
I like how it's marketed as 'no ads, always free'! Not so difficult to do when you're (ab)using someone else's service to handle all your data.
Infamously, CocoaPods was serving directly from GH, maxing out out five server CPUs and using terabytes of traffic, and their response was fairly sympathetic: https://news.ycombinator.com/item?id=11245652
Being on the front page of hacker news feels a lot like "pushing the limits".
"Check out SnooFS: the free cloud storage solution built on Reddit comments! Basically instead of paying for your own storage, SnooFS generates you a personal subreddit and uploads your data as text, video, and images to be hosted on Reddit's servers! No limit to storage - upload as many TB as you want!"
On the other hand, whereas GitHub issues are not intended for external blogs comments, it is already used like this and for blogs hosted on GitHub Pages. This is just an automation tool. If GitHub sees a problem with this in the future they can always change their terms of use (and that's why anyone should only use a system like this for ephemeral stuff).
From my blog post [0]: This product requires an external server to be up and online at all times. And while they do promise to be always free without ads, they don't promise to be always available. And while they are open-source and I could always decide to host my own Utterances server/bot, I'd prefer to host nothing at all. This isn't a super deal breaker, because in the end, all content is stored in GitHub Issues.
[0] https://pknopf.com/post/2018-10-13-comments-for-static-sites...
I guess, if my solution were a "product", as opposed to a one-off.
What if someone comments in the issues directly, on GitHub?