cvra / platform-abstraction

Platform abstraction layer for microcontrollers
3 stars 6 forks source link

How to include uc/OS-III in the repository #14

Closed antoinealb closed 10 years ago

antoinealb commented 10 years ago

Hi, As you knoe uc/OS-III is closed source software : Even if distributed in source format, we are not allowed to give it to other people, especially on GitHub. Since I don't like the idea of source code not checked in Git, I would suggest making a private repository and adding it as a submodule in this repo.

Does anyone have experience in mixing non-open source software and open source ?

antoinealb commented 10 years ago

Apparently some dudes simply don't give a f*\ about copyright laws : https://github.com/nickdademo/xmega-ucos-ii/blob/master/XPLAIN/AVR%20Studio%204/xmega_ucos-ii/uCOS-II/Source/os_core.c

Anyone got an idea ?

Stapelzeiger commented 10 years ago

With the private repo you suggested would we still be able to clone the repo? Will there just be an error message? I would say uc/OS-III doesn't change, so it's not that important to have it checked in.

antoinealb commented 10 years ago

You would get an error message on submodule update about some acess refused.

The main idea behind checking uc/OS in Git is to prevent the build scripts from failing if some dude @ micrium decides to move the zip file containing the source of the kernel.

Stapelzeiger commented 10 years ago

Hmm I don't like that there would be errors when cloning our repo.

What about just specifying in the Readme where you can download the os and where to put it?

antoinealb commented 10 years ago

Would be an option too.

pierluca commented 10 years ago

We could get free, private repos. We'd all have access to it. https://github.com/nonprofit

"If you're not a US-based organization please let us know, we can probably work something out."

antoinealb commented 10 years ago

We could also have a private repository on another site than Github if it is just for this particular repository which will probably have no pull request and stuff. I have my own Gitlab server running, we could use it.

antoinealb commented 10 years ago

But that doesn't fix the problem of having an error if you clone the repository without having the correct rights..

pierluca commented 10 years ago

having an error if you clone the repository without having the correct rights..

Concretely, who would face this error? We all have rights to CVRA, pubkeys and OAuth makes it rather easy on us for our systems and external applications such as Travis CI.

antoinealb commented 10 years ago

Agree on that, but still would be better to have a cleaner option.

antoinealb commented 10 years ago

So after a bit of fun with uc/OS-III, it probably won't be as plug and play to use as it was with Altera's system. I suggest we use a private git repository in a separate module.

antoinealb commented 10 years ago

Okay, today I tried to make a script that would download the uc/OS-III source. The problem is Micrium requires authentification on their web portal to download the source. Doable with Python but painful.

what do you guys think ? Should we just stop caring and put it on Github ?

edit: There are several licences in uc/os-iii sources : one which forbids to distribute source and the other one which seems to allow it... fuuu

Stapelzeiger commented 10 years ago

I think we don't need the os for automated testing so we could just specify in the Readme that the os must be downloaded into a specific folder. This solution is of course problematic if we need to patch the os (to port it to gcc?).

antoinealb commented 10 years ago

If we have to write our own custom port, it can leave outside Micrium's source tree, and therefore is not subject to their license. Having to download the OS manually is an option, but it means the application cannot be built automatically (to detect build breaks, not for tests).

Stapelzeiger commented 10 years ago

I think for now the simples solution is to download it manually. If we think of another possibility we can still change it. For the automatic build, maybe we can use the test version of the abstraction layer. This is not exactly the same, but close.

pierluca commented 10 years ago

Should I ask github for a non-profit private repo or is somebody else taking care of it?

antoinealb commented 10 years ago

I would prefer to have something working before asking for sponsorship. I can provide a private Git server in the meantime.

pierluca commented 10 years ago

It's not sponsorship. Just a commercial-like plan that is free to non-profits. It's quite standard.

antoinealb commented 10 years ago

Okay, why not. We also have to see how it works with Travis CI.

pierluca commented 10 years ago

From: Ciara McGuire (GitHub Staff) support@github.com

Hello Pierluca!

Thanks so much for getting in touch and for providing all the information we need to get you set up. Good news! We've upgraded your organization to our free Bronze plan, giving you ten private repos for your projects. We hope they're useful.

Sounds like a great project to be a part of - keep up the amazing work!

Thanks and GitHugs,

Ciara

antoinealb commented 10 years ago

:+1: Good job. Now we will put a Github sticker on robots, yay :)