19
5
I'm a TA for a programming course and tasked with creating a virtual machine image based off Ubuntu 14.04 LTS with all necessary software (for C++ and Python development) preinstalled such that the students all have the same virtual system running and we avoid the struggles of getting everything to work on a variety of different machines and operating systems. We intend to use Virtual Box as the host VM software as it is free and available cross platform.
Naïvely, I would just use the Ubuntu 14.04 LTS disk image, run it in my Virtual Box, install it to the virtual hard disk (VDI), set up a "student" account with a predefined password, install all the necessary software, shut down the virtual machine and distribute the VDI file. We'd ask each student to import the VDI to Virtual Box, run it and set up their personal account (or just use the default student account).
- Is the above procedure viable?
- What are the pitfall to look out for? We need this to be pretty much fool-proof. We expect 80+ students and are only four TAs, so we can't provide individual support.
- Are there disadvantages to using a dynamically allocated VDI-type virtual HDD?
- Is it ok for me to install Virtual Box's Guest Additions right off the bat or does it do anything host-specific?
- Is there a more elegant way to handle the user account creation? Ideally, Ubuntu would put them through an account creation wizard and have them set their passwords (as well as add them to the sudoers file) the first time they boot the image. This is not a priority, though. I guess having a default account is fine.
3Note that you must include an offer for the source code, as you are distributing software under the terms of the GPL. – ChrisInEdmonton – 2016-03-23T13:44:05.540
@ChrisInEdmonton Good point. Since I do not write any code myself, is this technically a modification or is it just redistribution? Is it sufficient to point the students to the Ubuntu or third-party sources should they ask (they won't) or am I legally obliged to provide the sources proactively? Does it matter that I do not publish the image but rather provide it to a limited audience with restricted access? – Jonas Greitemann – 2016-03-23T14:00:17.617
I'll simply point you to the GPL as I'm not a lawyer. It's very unlikely to become an issue here. :) – ChrisInEdmonton – 2016-03-23T14:12:01.750
2
I would say that you don't have to do that together with the Ubuntu image itself: http://www.gnu.org/licenses/gpl-faq.en.html#SourceAndBinaryOnDifferentSites Just write somewhere in the instructions how to download the source code.
– Markon – 2016-03-23T15:03:41.2001
You may want to carefully review Canonical's intellectual property and redistribution policies before doing this. While GPL software is free to redistribute with source, and almost every other license you'll find software licensed under in a typical Linux distribution allows redistribution under reasonable terms, at least recently there has been some controversy about Canonical's IP policy.
– a CVn – 2016-03-23T16:27:37.177Technically you have to include the offer, and keep a miror copy the source of your build at the time of the build. You do not have to keep source for packages your users update themselves. It is not enough to rely upon other mirrors or upon Canonical. Remember Mepis. In theory you have to supply source according to the GPL for a duration after distribution (not the duration after the original release). I once gave a donation to Puppy Linux and got the entire build procedure on CD unsolicited by post so people do take this seriously. If you form a club there is no "distribution" per se. – mckenzm – 2016-03-24T05:11:55.060
VBox Guest Additions are not redistributable ! – MSalters – 2016-03-24T09:38:41.493
@mckenzm: No, you don't have to include an offer. It's one option, but another option is to straight away include the source. If you do this, you do not have enduring obligations. – MSalters – 2016-03-24T09:40:04.290