Re: [Gimp-developer] Easy access for contributors
- From: gfxuser <gfx user online de>
- To: bootch nc rr com
- Cc: gimp-developer-list gnome org
- Subject: Re: [Gimp-developer] Easy access for contributors
- Date: Mon, 19 Mar 2012 07:54:53 +0100
At 16.03.12 16:42, bootch nc.rr.com wrote:
grafxuser:
Could you please expound on your idea? (I don't know much about virtual machines.) What would a "middle level" developer do to get the environment and what would they have to learn about virtual machines and about GIMP development? It sounds like magic to me. I assume that you mean something like: a user downloads and installs one package. The package does not do any building at installation time, all libraries and programs (GEGL, GIMP, etc) are already built in the virtual environment? After that, they can enter a virtual environment where they can hack on GIMP without fear of destroying their production environment. Or do they first need to download the virtual machine package that supports virtual machines? They can destroy and refresh the virtual environment whenever they want, but it may take a few hours to download it again?
Do you have a link to another project that offers a virtual development environment?
You can think of a virtual machine (VM) as a 'computer in your
computer'. It's a software which emulates a computer. In a VM (the
'guest' computer) you can run programs like on a physical computer. It's
a common technique to test programs safely. Your physical computer (the
'host'), which runs the VM, is not touched by the processes in the VM.
So you can safely test or modify developer versions of GIMP in the VM
without disturbing your productive GIMP version on the host. Even if you
destroyed the whole system within the VM, it would have no bearing on
the host computer. It's a sandbox. This works vice versa - installing
software on your host computer usually doesn't affect the guest
environment.
Modern VM software uses savepoints (like in computer games): if you came
to a dead end in your VM, you can recover a stable state in a very short
time. Depending on the power of your physical computer it's only a
matter of up to a few minutes. You wouldn't neither have to download the
virtual environment for hours again nor wouldn't you need to sit a whole
weekend to recover a broken physical environment in this case.
Also a VM can be used to compare two different GIMP versions, like a
developer version and a stable version. This can be useful to check
whether open bugs are already fixed. It also has the benefit of a
defined environment for contributors. They could help each other easier
and in shorter time, no matter which physical environment they own.
To be fair it should be mentioned, that final product tests must still
be done in the target environment. So a VM running Linux cannot be used
for final tests of GIMPs Windows or Mac versions. Also a VM can do no
magic if the host operating system doesn't recognize particular
hardware. If some hardware is not recognized by the host operating
system at all, the VM wouldn't also be able to use it.
From a technical point of view the VM consists of two parts: the
emulator software (the 'hypervisor') and a big data file (the
'appliance'). For a more detailed description see
http://en.wikipedia.org/wiki/Virtual_machine, especially the chapter
'Emulation of the underlying raw hardware (native execution)'.
A GIMP specific VM could look like this:
Due to license issues the guest operating system needs to be Linux. This
also has the advantage to receive distro software updates constantly
without much effort.
For testers, bug triagers or people who just want to play with a current
GIMP: a pre-built, fully operative GIMP with documentation.
For developers, authors, translators: a ready-to-use development
environment with the GIMP sources und developer documentation.
For all: an IRC software and a browser with bookmarks to important GIMP
sites: GIMP.org, GIMPs G*+-site, Bugzilla etc.
To be independent from specific hypervisor products, the VM should be in
an open file format, like OVF
(http://en.wikipedia.org/wiki/Open_Virtualization_Format)
This is a first proposal. Detail questions need to be discussed separately.
A user would
1. download and install the hypervisor software
2. download the GIMP appliance and import it into the hypervisor
3. boot the GIMP-VM and start playing or working
Well-known hypervisor products are Virtualbox, VMWare or Virtual PC.
There are already some projects offering appliances, for instance the
VMWare Marketplace, Turnkey Linux, Suse Studio Gallery or the Oracle
Developer VMs. Using these keywords a search engine will show the right
addresses among the first results. Maybe there is already something that
can be used out-of-the-box or with minor modifications.
Greetings,
grafxuser
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]