It has been decided here to adopt for diaspora* avec SemVer system with a prefixed number.
That prefixed number was intended to “be increased at community decision instead of a major release.”
With the majors changes introduced in 0.6.0.0 (port to BS3, federation gem, and, maybe, public API), I think the project would benefit from a discussion on the requirements for a public 1.x.y.z release.
IMHO, the major blocking point for such a release is the difficulty of installation and setup for non-developers. The diaspora package partly solves the problem but only on Debian. Here are a few ideas to isier this that could be a part of a milestone for that public release :
a graphic interface for configuration; it should be possible to edit the .yml file directly into the administration section,
a grafic setup page for database at the first install; when the source code has been cloned, the server should display a page to let the user configure the database connection before diaspora launches.
an automatic installation of RVM and gems; unhopfully, I have no idea on how to achive this.
other ideas ?
Note: This discussion was imported from Loomio. Click here to view the original discussion.
To me, we will be able to release diaspora* as 1.x when it will be possible for a non-techy person to have his own pod. That means the following points have to be easy:
Installation
Upgrade
Backup
Moderation
Performance (a pod of 10 users should run nicely with 1GB Ram)
I have several ideas about what can be done to improve those points, I don’t know if this thread is the place to discuss them on detail. There is at least one issue about admin task I opened a while ago: https://github.com/diaspora/diaspora/issues/4800
It is. This is specifically its purpose, so you can go on
This thread is general and I like it, I’d like to agree with everyone what should be included in 1.x. To decide about the “big picture”. How we specifically solve each point should be discussed on other threads to avoid pollute this one.
1.x means diaspora* is ready to be used by the world, so, as said in my previous comment, I think the focus for 1.x should be “allow a non-techy person to have his own pod”. Admin features are at this point more important to me than user features, that means, I don’t think any user feature (event, group, chat…) should block 1.x.
The backup point is here because we know that hard drive can crash so it was aim to avoid private key lost.
ordered by importance. Especially seed migration was one of the core promises that we still couldn’t deliver, releasing a 1.0 without it seems wrong. The federation point is about an iteration or redesign of the federation protocol with better stability, resilience and new standards in mind.
I have lost count of the years I have been waiting for this core feature.
Five, at most
Ok, what is missing for a seed migration ? @jhass : what system do you have in mind for a feature like thins ? Would it take the form of a button “migrate my account to another pod” in the parameters section ?
Nice. Though, I don’t think it would really justify a 1.0 release if the user had to manually backup/import its data. As thae API is currently being develop, I can suggest the migration fonctionnality to be the first feature of it ? This way, a migration could simply take the form of an OAuth application installed on the old account that will be in charge of importing the whole account into tha new pod ?
I like to add that IMHO, an API wouldn’t be sufficient to justify a 1.0 release because I mainly see that work as a very long-term work over multiple release, one little step at a time.
No, I don’t think we should expose things like close account and fetching the private key over the API. That approach also has the huge downside of not going to work if the original pod goes offline. The archive approach can work as a backup you can restore anywhere.
And of course the API would need to reach a somewhat stable state first. After all these points are not “hit any and we’re good” but “should all most likely included”.
like close account and fetching the private key over the API.
I’ve never intended to expose the close account feature via the API, but about the private key, tha mecanism can stay unchanged from what you described, except that the user does not have to fetch the archive himself in all cases. The archive can be exchanged complitely encrypted between the pods. I’m not sure I see why it would be less secure than the user fetching the archive himself and then uploading it.
That you don’t see how potentially exposing a high risk feature to all third party clients due to potential bugs in the authorization layer is not so much of a good idea if it can be avoided, is a bit sad.
But anyway, we’re getting horrendously out of scope of this discussion, there has been quite some previous talk, please continue there.