borgbase / vorta

Desktop Backup Client for Borg Backup
https://vorta.borgbase.com
GNU General Public License v3.0
2.03k stars 135 forks source link

Google Summer of Code 2023 Discussion #1575

Closed m3nu closed 1 year ago

m3nu commented 1 year ago

Ideas page is now a Wiki:

https://github.com/borgbase/vorta/wiki/Google-Summer-of-Code-2023-Ideas

Hofer-Julian commented 1 year ago

@real-yfprojects @m3nu made you both moderators on the matrix channel (assuming these accounts aren't imposters with very good timing)

real-yfprojects commented 1 year ago

@real-yfprojects @m3nu made you both moderators on the matrix channel (assuming these accounts aren't imposters with very good timing)

Mine isn't.

m3nu commented 1 year ago

You have the right guy.

Also updated the Wiki page a bit to make the application process a numbered list. So it's clearer for applicants.

We should also think about promoting the program and task ideas widely to attract the most qualified and relevant applicants. My ideas:

Hofer-Julian commented 1 year ago

Borgmatic Mastodon maybe?

real-yfprojects commented 1 year ago

Updated the vorta ideas to include a description of tasks/steps in the task outline section if they didn't already. Additionally I unified these sections to use the imperative. However I didn't touch the non vorta ideas although I think they need adjustments too.

I also refactored the @mention links to use the markdown reference-style. This reduces redundancy.

Should we have a field for each project describing what the contributor will learn?

Do we need additional details if no issue exists yet for a project idea? Should we tell them to turn to us or drop the field in those cases?

ThomasWaldmann commented 1 year ago

Before announcing something, we maybe should wait until @m3nu's org got accepted for SoC by google or until it is clear how many students we'll get from PSF (which I'ld assume will get accepted, but even that has to be seen still).

m3nu commented 1 year ago

PSF already accepted us. They use Borg and Borgmatic themselves. 😄

For new orgs, they would usually provide 1-2 student spots. Maybe we can push it to 3, since we have enough mentors. But 2 would be fine too, if full time. My org may get one spot, since it's new too. I do think PSF's tooling and process for managing the program is valuable too.

So it's OK to announce it. We should have a few spots at least.

real-yfprojects commented 1 year ago

If I announced before Google officially accepted us, I would make it very clear that we might not get accepted in the end.

m3nu commented 1 year ago

Thanks for the tweaks, @real-yfprojects. We can still refine ideas, once there is interest. For now it's good to give a general idea and raise interest. More details are better of course.

The learning field would be a bonus, but the reference PSF project didn't have it. They did have more details in the description and task outline.

🚨 Reminder @ThomasWaldmann @witten @real-yfprojects: If you haven't already, please use the PSF invite link to register an account on blogs.python-gsoc.org. Then you'll show up as mentor with the project and get email updates.

m3nu commented 1 year ago

If I announced before Google officially accepted us, I would make it very clear that we might not get accepted in the end.

The only risk is that the PSF doesn't get accepted. Not likely, I think. So OK to announce it. We can still wait of course. I was merely collecting ideas for later.

real-yfprojects commented 1 year ago

Then you'll show up as mentor with the project

I got two and accepted both. However I don't see myself showing up anywhere.

m3nu commented 1 year ago

Maybe because I added you as second administrator. Do you see the sub-org here? Maybe this already includes you. Since you got the last email update.

Then only @witten and @ThomasWaldmann missing.

real-yfprojects commented 1 year ago

Do you see the sub-org here?

I think the web interface is a bit buggy since I can see the suborg profiles but I can't see the existing application. Your link leads me to a form for creating a new one.

real-yfprojects commented 1 year ago

I added some more vorta project ideas.

Regarding running backups as root: [...] This is also the only task where I would be unsure what's the best way to implement this.

I have written out this task in full anyways. Please tell me whether you think we should keep it as an idea.

real-yfprojects commented 1 year ago

Google employees will start reviewing applications (including project idea boards) starting on February 7^1. Our idea board should be finished until tomorrow, i think. Open tasks are listed in the first post.

Hofer-Julian commented 1 year ago

I added some more vorta project ideas.

Regarding running backups as root: [...] This is also the only task where I would be unsure what's the best way to implement this.

I have written out this task in full anyways. Please tell me whether you think we should keep it as an idea.

It is one of the most wanted features. But it's hard to get right, and e.g. extracting as root can easily break your system. It's also a design question, how would you expose it? But if you feel you have a good idea how it should be implemented then I see no reason why you shouldn't mentor it

Hofer-Julian commented 1 year ago

I removed myself as mentor for this task :)

real-yfprojects commented 1 year ago

But if you feel you have a good idea how it should be implemented then I see no reason why you shouldn't mentor it

I feel like doing research and figuring out the best solution is part of a medium difficulty task. Additionally the community has already done some experiments running vorta as root using sudo or polkit.

m3nu commented 1 year ago

I'm also not happy with the root task. But if someone brings a solid solution, why not. I just can't tell you how to do it in detail.

I think the web interface is a bit buggy

It is. I removed you from the admin field and added you as mentor only. Maybe now making a mentor account works. I wouldn't stress about this particluar web interface, since the real action will be in the Google dashboard. They Django thing is more for internal tracking, I think. And for blog updates.

witten commented 1 year ago

I may have jumped the gun a little before catching up on all of these comments.. I've posted announcements on borgmatic Mastodon and IRC! I also added another borgmatic project to the ideas page, and I'm trying to register with the Python GSoC site but haven't yet received the registration email.

m3nu commented 1 year ago

Announcements are fine. The project is accepted.

I've just resent the email in the in their system. I think. w**@**ion.org

If you don't receive it, I'll email them.

witten commented 1 year ago

That's the email address, but still not seeing it on my end. (I checked spam folders and even the mail server log.)

m3nu commented 1 year ago

My test email also didn't arrive. And the first I got were delayed by a few hours.

Let's wait until tomorrow and then I'll email the guy.

m3nu commented 1 year ago

I've reported it in their IRC. When I registered, the email arrived as one batch a few hours later.

witten commented 1 year ago

Okay, I got the email(s) finally. I'm in and registered.

m3nu commented 1 year ago

Nice. Then only @ThomasWaldmann missing.

real-yfprojects commented 1 year ago

@m3nu Can you look over the time estimates for the vorta tasks? I don't know how you derived your estimates but I have a hard time with that.

m3nu commented 1 year ago

It's either 350 or 175 hours in total. Full or part time (mentioned here)

So I put it as 1, 1/2 or 1/2 project roughly. And 25 hours for the much smaller tasks.

You think it's too much or too little? I tried to be on the higher side.

Our tasks aren't big enough for a full project, so best if people choose a few. And we should aim to have full time spots, if we only get 2.

ThomasWaldmann commented 1 year ago

I set up my python-gsoc account now.

real-yfprojects commented 1 year ago

You think it's too much or too little?

I am just very bad at estimating the time needed. So I can't tell you.

I tried to be on the higher side.

:+1:

real-yfprojects commented 1 year ago

I thought over the time estimates again. I would propose to change the time estimates for these ideas:

idea time
error wizard 100 hours
borg live testing 100 hours
root 100 hours
profile sidebar 175 hours
borg command hooks 150 hours
search in diff and extract view 75 hours
summary line in source view 100 hours
m3nu commented 1 year ago

No arguments for or against either estimate. 😄

Multiples of 350/175 hours may make it easier to add them up to a full project.

ThomasWaldmann commented 1 year ago

about the "exclude GUI": shouldn't that rather be a "include/exclude patterns GUI"?

borg's --exclude option is a bit less powerful (it only excludes) than --pattern (which also knows about includes and no-recurse excludes and different pattern styles).

m3nu commented 1 year ago

This dialog would be about exclusions only but uses the pattern option internally IIRC. Whatever gets the job done. Similar to this dialog in Nextcloud.

I wouldn't make it include files at the same time, since that may be confusing. That part is already done by the file selector and I don't recall any complaints about it. Could still be improved by combining file and folder selection (a Qt limitation).

ThomasWaldmann commented 1 year ago

log viewer task

I just added a log viewer task for vorta. Needs time estimate and mentors. See also #1483.

I find that is pretty essential missing feature, I missed it each time I got rc 1 or 2 (and as you all know, rc 1 is pretty common since borg detects that a file has changed while borg has backed it up).

ThomasWaldmann commented 1 year ago

@m3nu one case it needs patterns and includes is if you want to include a path inside an excluded path.

real-yfprojects commented 1 year ago

The exclude GUI can later be expanded for include (pattern style) rules if requested / or already by the contributor if he/she has the time.

real-yfprojects commented 1 year ago

Needs time estimate and mentors.

I'll add me and @m3nu + @Hofer-Julian too.

real-yfprojects commented 1 year ago

I think log syntax highlighting and filtering log lines make this a medium difficulty task (or maybe medium-hard -- I am not sure).

ThomasWaldmann commented 1 year ago

@real-yfprojects Why do you think so? It could log the level (DEBUG/INFO/WARNING/ERROR) on each line.

real-yfprojects commented 1 year ago

There are still some TODOs in the idea list but I commented them out so that they can't be seen in the rich text.

I also sorted the tasks by time and in case of the same time by difficulty.

Why do you think so? It could log the level (DEBUG/INFO/WARNING/ERROR) on each line.

I am not sure what you mean. Firstly filtering log lines by vorta session or borg command isn't that easy, i think. Secondly I would expand the task on implementing more highlighting then just colouring the line uniformly depending on the log level.

real-yfprojects commented 1 year ago

I just asked the PSF guys: We shouldn't edit our project ideas page any more -- besides fixing typos or other errors.

ThomasWaldmann commented 1 year ago

@real-yfprojects well, either each borg command needs to be introduced by some unique marker log line if all is contained in a single log file.

But it might be easier to just write a new log file per borg command.

And I don't think we need complex highlighting. People mainly need to easily see warnings and errors.

real-yfprojects commented 1 year ago

I see. We can adjust the difficulty after the review process.

witten commented 1 year ago

FWIW, borgmatic only colors whole log lines per log level, and sends the logs for all Borg commands to the same place (whether stdout, syslog, or a single log file). And log level filtering is supported by a verbosity flag.

m3nu commented 1 year ago

The org selection is now complete and I'll share more after everything is official. Likely later today or tomorrow.

m3nu commented 1 year ago

Org selection is now complete and the Python Foundation got accepted. See all orgs here. My company wasn't, which doesn't surprise me when looking at the org list. All are heavyweights or some kind of foundations around large projects.

Thanks to everyone who helped create and improve the ideas list. It was an important part in the selection process. 🙏

Next focus should be on attracting the best students/contributors to the project. That's where the PR plan comes in. https://github.com/borgbase/vorta/issues/1575#issuecomment-1418695332. I'll try to find out when is the best time for that.

real-yfprojects commented 1 year ago

Now we can modify our ideas list again. So if you had any additional ideas in the last couple of weeks that you want to add or if you want to change anything else you can do that now.

For vorta I will add a new task for implementing a getting started wizard.

ThomasWaldmann commented 1 year ago

Task: Improve modularization of vorta source

That is likely going to be one big complete merge conflict with everything else done in GSoC.

Such tasks are better done when there is low parallel activity in the project (== not in GSoC).

Edit: I was assuming that there are multiple GSoC tasks in parallel. If there was only that one and there is a very talented student doing this, it would be doable I guess.

m3nu commented 1 year ago

Agreed with @ThomasWaldmann . Let's keep this for later.