MycroftAI / mycroft-skills-manager

Mycroft Skills Manager
Apache License 2.0
15 stars 13 forks source link

Q: Inflationary use of GitHub and Mycroft in education #65

Open Natureshadow opened 4 years ago

Natureshadow commented 4 years ago

Hi,

I looked closely at Mycroft recently, both out of personal interest and to find an open platform to use voice assistants in education. I am from Teckids e.V., the free software youth organisation, which works with young people to help them contribute to their digital environments.

I noticed that the term "GitHub" is used in almost all places where "Git" was meant. For example, msm has a sub-command allowing installation from a repository, and this repository is, in fact, any Git repository, hosted wherever. The help still suggests it only supports GitHub.

The issue with GitHub is that it is not an open platform and has terms of service that can inacceptable for contributors. While this is a personal choice most of the time, at least young people are explicitly discriminated against, and contributors younger than 13 years cannot use GitHub in the USA (younger than 16 years in the EU).

While this is a geneal issue, and projects should always at least provide another channel for acceptign contributions, writing and publishing skills is probably the most visible one as it has the lowest threshold to get started. We are developing the AlekSIS platform, an extensible school information system platform, and we are doing that together with teachers and students as young as, currently, 11 years. AlekSIS shares quite a few concepts with Mycroft, in that it also can handle apps that extend its core functionality in a well-integrated manner (what is called SKills for Mycroft). Some expressed the desire to be able to use AlekSIS with voice assistants, and according to our goals, we will start with a free paltform (before also supporting proprietary ones).

Also, programming a voice assistant is a very cool opportunity to make something usable for CoderDojos and other environments that start off children in tech with tinkering and might result in a really usable contribution. We see that happen all the time, and for Mycroft Skills, I feel it might happen even more often once we get the topic into such workshop environments.

While we have a lot of experience and solved issues (general legal issues with children clicencing code, ensuring maintenance of published code for a longer time, etc.), having an artifical barrier in place preventing such a contribution from being accepted just because the contributor is too young is a throwback.

Thus, please clarify:

Thanks for helping improve life with digital assistants for everyone, Nik

forslund commented 4 years ago

Hi @Natureshadow thanks for starting this discussion. I'll ping @krisgesling who works with developer relations and is probably the best person to talk with about Mycroft and education. I must admit that I personally didn't realize the restrictions of the Github terms and services you mentioned and we like to be as inclusive as possible. Hopefully we can setup a channel that works with your requirements.

I'm going to try to answer your questions as best as I can, let me know if I dodge any of your queries or you'd need some further clarification.

Much of the skills infrastructure is built upon git and Github in particular. That said only submitting skills through the msk tool requires use of the Github api (creating PR's) all other cases are using git.

The choice of Github was made because at the time it had most of the market and most developers used it (at least I think this was the reason).

And finally msm support for more git repo serving platforms. Yes I'd be happy to accept PR's/patches for that. As far as I know the big thing that will depend on the git repo serving platform is the author extraction code.

Msk will require more work to support more platforms but it's definitely not impossible.

I think @krisgesling also could have opinions and insight into this.

krisgesling commented 4 years ago

Hey, thanks for the thoughtful questions and offer to help out.

Git vs Github

As Ake mentioned there are a few functions that are explicitly Github but a lot would work on any Git instance. It would be good for us to be clearer on what is possible from other platforms. Very open to PR's that help us do that, and very happy to receive Marketplace submissions pointing to repo's hosted elsewhere.

A few people have raised the prospect of shifting to a more aligned platform like Gitlab. It's certainly something we'll consider however making that move is quite a large piece of work and would require a lot of retooling. Currently we have other priorities so it won't be happening in the short or medium term.

Accepting contributions via other mechanisms comes with a significant amount of work. We want to encourage participation but are a small team and must be realistic about our capacity. If we could automate the processing of something like mailing list contributions it could be possible, however the work required to setup and maintain those systems is significant. If it's something the Community wanted to work on then that's great, but I can't see us prioritizing it any time soon.

Age restriction

The age restrictions are quite common unfortunately. At least in the US, there are specific legal obligations for any site that allows users under the age of 13. We are a small startup and there's just no way we can meet those requirements at this stage. For example, currently we don't verify anyone's identity, under the COPPA ACT we would be required to obtain verifiable parental consent for them to even sign up.

If you haven't seen it already, take a look at Chatterbox. They are based on Mycroft but are intentionally focused on young people. This wouldn't allow them to submit a Skill to the public Marketplace but is a great way for them to build their own smart speaker and build their own Skills.

Currently if someone under 13 wanted to submit a Skill to Mycroft it would need to be done by a parent or guardian. I can't currently see a way around this, but I'm open to ideas.