OpenScienceMOOC / Main

Management materials and content
MIT License
30 stars 13 forks source link

Use/Migrate to Open Source softwares to manage the MOOC #17

Open heitorPB opened 5 years ago

heitorPB commented 5 years ago

This OpenScience initiative is great! Keep the good work!

I'd like to brainstorm a bit on how to select a tool to use. In order to achieve an Open Everything status, the tools/services used should be Open Source also. For example, git is an free and open-source tool, but GitHub is a non-paid proprietary service. GitLab on the other hand uses only open-source software on their services. An open-source alternative to Slack is Riot.

Protohedgehog commented 5 years ago

Aha, this is an excellent discussion to have. I think @dannycolin has been looking into some alternatives for this too.

While I love the idea, we have to consider the impact of moving the whole project to different platforms, especially with large existing communities in them. For example, if we could do a simple migration from GitHub to GitLab, I wouldn't object to that. This is something I'd love to hear about from others too though. :)

stain commented 5 years ago

That is a great political principle I would support! Agree with @Protohedgehog a community transition would have to be carefully managed. Moving repositories and issues are generally easy, moving people is tricky. And if you make yourself "too GNU" it can be alienating to newcomers.

alexmorley commented 5 years ago

I :heart: Open but would be very cautious with moving away from Github (slack to a lesser extent) - I'd be happy with just making clear to learners that this is a proprietary platform, and that there are OSS alternatives.

My main justification for the worry would be that for educational purposes I want to:

heitorPB commented 5 years ago

On Mon, 12 Nov 2018 03:55:42 -0800 Alexander Morley notifications@github.com wrote:

I :heart: Open but would be very cautious with moving away from Github (slack to a lesser extent) - I'd be happy with just making clear to learners that this is a proprietary platform, and that there are OSS alternatives.

My main justification for the worry would be that for educational purposes I want to:

  • have the lowest possible barrier to entry (IMO github UI and docs are >>> for beginners than anything else)
  • give people the skills that will be the most transferable to other projects (alas there are still many more people developing openly on github, in science and elsewhere, than anywhere else)

indeed. GitHub is the biggest repository of repositories. But GitLab is growing a lot. When Microsoft bought GitHub some time ago, several projects migrated to GitLab.

This idea of having a note saying the tool/service/platform is proprietary and a list of alternatives is a good idea.

dannycolin commented 5 years ago

As a Free and Open Source user myself (and also developer), I'm really for having more open tools but like others already said we need to be carefully when it comes to migrate to a new platform.

So here's my opinion on the subject and some informations on the tools proposed.

GitLab

It's true that GitLab is more free than GitHub but the instance running on GitLab.com isn't Open. GitLab offers two versions that are :

  1. Community Edition 100% Free and Open Source but you have to host it yourself. That mean you need to pay for a server and you need to maintain it (keep it up-to-date).
  2. Enterprise Edition Not 100% Open and this is the version running on GitLab.com

In other word, moving to GitLab.com wouldn't make us more free. And at the moment, we don't have the people nor the financial resources to self-host an instance of GitLab.

A solution for now could be to create a task in the module 5 based on GitLab. It would give people a free alternative to GitHub.

We could also add this as a prerequiste to every tools we teach in the different modules. What do you think about that?

Riot

I've tested it and it works great but I have to admit that newcomers will probably face a bigger learning curve with this platform than they have to face with Slack. The interface is a bit less intuitive and like others pointed out it's not an easy task to move people to a new platform.

So my opinion on that would be that in order to move on Riot we would definitely need to do a guide to help people migrating. We would also need to give people time. I think if we go that way we should open an issue just for that migration.

Finally,

I'd be happy with just making clear to learners that this is a proprietary platform, and that there are OSS alternatives.

I'm also voting for that. I think it should even be an obligation to make clear if a software that we propose is Open or not.

This idea of having a note saying the tool/service/platform is proprietary and a list of alternatives is a good idea.

So since it's not the first time someone on a thread think that a list of alternative would be a good idea, I have added to my todo list a task of creating a small website à la alternativeto.net (nothing to fancy) where people could enter a software name and in return a list a Free and Open Source alternative will pop up. If others here would be interested to help I could create a new repository to coordinate it.

heitorPB commented 5 years ago

In other word, moving to GitLab.com wouldn't make us more free. And at the moment, we don't have the people nor the financial resources to self-host an instance of GitLab.

That's a very strong argument.

We could also add this as a prerequiste to every tools we teach in the different modules. What do you think about that?

You mean for every tool in the modules to be open source?

I've tested it and it works great but I have to admit that newcomers will probably face a bigger learning curve with this platform than they have to face with Slack. The interface is a bit less intuitive and like others pointed out it's not an easy task to move people to a new platform.

Riot devs are making a new interface to solve lots of issues, some initial comments about it are here. I also needed some time to understand Slack and feel comfortable with every concept there. If the tool is Slack, Riot or something else, newcomers will face difficulties for a time.

This idea of having a note saying the tool/service/platform is proprietary and a list of alternatives is a good idea.

So since it's not the first time someone on a thread think that a list of alternative would be a good idea, I have added to my todo list a task of creating a small website à la alternativeto.net (nothing to fancy) where people could enter a software name and in return a list a Free and Open Source alternative will pop up. If others here would be interested to help I could create a new repository to coordinate it.

That would be great! I don't have experience with web development but I am quite good at opening issues at repositories ^^

dannycolin commented 5 years ago

We could also add this as a prerequiste to every tools we teach in the different modules. What do you think about that?

You mean for every tool in the modules to be open source?

I mean if there's a task with a non-free software, we should at least have a alternative task (if there's a alternative ofc) with a FOSS software. In that case we could have a task with GitLab and a small list of instance that run the Community Edition (maybe also GitLab.com with a note saying that it's not 100% free but better than GitHub etc.).

That would be great! I don't have experience with web development but I am quite good at opening issues at repositories ^^

It's not a problem there's more than just code ;)

Btw here's a list of FOSS gitlab that you can use for your project:

alexmorley commented 5 years ago

@dannycolin We can coordinate on alternativeto.net if you want, they key step is to create a reasonable database of the correspondence between the FOSS and alternatives; at the moment AFAIK none exists. I need to create one for a separate project (https://github.com/alexmorley/Back-Your-Scientific-Stack/issues/2) so we can collab on making that database if you fancy :smile:

nemobis commented 5 years ago

Alexander Morley, 13/11/18 10:32:

FOSS and alternatives at the moment AFAIK none exists.

There's plenty of alternatives: https://en.wikipedia.org/wiki/Comparison_of_source_code_hosting_facilities https://www.gnu.org/software/repo-criteria-evaluation.html

(See also https://about.gitlab.com/press/releases/2017-11-01-gitlab-transitions-contributor-license.html.)

IMHO it's not that hard, a freedom-friendly course can recommend to use GitLab while noting that directions exist to self-host or seek an (even more) ethical hosted solution, including nongnu.org and https://framagit.org.

dannycolin commented 5 years ago

@nemobis I think @alexmorley was talking about an alternative to alternativeto.net :).

If I do a recap of the discussion, we pointed out 3 different issues (see list below). I'll create a new issue for 2 and 3. So this is one could focus on 1.

  1. Use/Migrate to Open Source softwares to manage the MOOC (#17)
  2. Suggest alternative tasks that use Open Source softwares (#18)
  3. Create a OpenSource softwares database à la AlternativeTo.net (#19)
dannycolin commented 5 years ago

To follow up on this issue, here's a proposal for a [possible] future migration.

I propose that we flag this issue as a bug and act accordingly. This means that :

  1. we will use platform that are as free and open source as possible.
  2. we will investigate, compare alternatives to GitHub and Slack.;
  3. we will put in place a migration plan.

Of course, there's no rush for the moment to put that plan in action. The goal of this proposal is to acknowledge that we all agree on the principle of using as much free and open source softwares as we can.

heitorPB commented 5 years ago
1. we will not open new collaborative platforms that aren't open source;

I'd suggest as open as possible and as closed as needed. As you mentioned, you'll need resources to host your own services and that might not be easy. GitHub is not open-source, but allows you to be transparent and show your source.

2. we will investigate, compare alternatives to GitHub and Slack.;

I mentioned Riot as alternative to Slack because:

  1. It uses an open protocol: Matrix
  2. It's open source
  3. There's an Open Science room there :) (and it was there that I found out this OpenScience MOOC)
  4. If you don't like Riot, there are other softwares that are in the Matrix ecosystem and you can use them to access the same chats/rooms/users There's a redesign of the user interface coming out soon.
dannycolin commented 5 years ago

I'd suggest as open as possible and as closed as needed.

@heitorPB I've edited my comment. Thanks for the suggestion! It think the as open as is sufficient tho.

If everyone agree with the proposal, I think we could chat about alternatives in the platform channel on Slack. :)

dannycolin commented 5 years ago

Hey all, I've created a table of software alternatives in the Wiki https://github.com/OpenScienceMOOC/Main/wiki/Default-to-Open:-Migration-plan-for-the-OpenScienceMOOC

If you have other suggestions don't hesitate to add them even if you can't find all the informations :).

heitorPB commented 5 years ago

I would add this note for the Riot entry:

Riot is one client for the Matrix protocol, a federated open protocol for real-time communication. There are several other clients available. You can also create your own server with one of the available server softwares.

dannycolin commented 5 years ago

@heitorPB Yes, you're right. I think I'll change it for Matrix and add a link to the clients suggested on the Matrix site.