{"action":"opened","issue":{"url":"https://api.github.com/repos/samrocketman/vagrant-gimp/issues/7","labels_url":"https://api.github.com/repos/samrocketman/vagrant-gimp/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/samrocketman/vagrant-gimp/issues/7/comments","events_url":"https://api.github.com/repos/samrocketman/vagrant-gimp/issues/7/events","html_url":"https://github.com/samrocketman/vagrant-gimp/issues/7","id":109939406,"number":7,"title":"Summarize the project with goals","user":{"login":"samrocketman","id":875669,"avatar_url":"https://avatars.githubusercontent.com/u/875669?v=3","gravatar_id":"","url":"https://api.github.com/users/samrocketman","html_url":"https://github.com/samrocketman","followers_url":"https://api.github.com/users/samrocketman/followers","following_url":"https://api.github.com/users/samrocketman/following{/other_user}","gists_url":"https://api.github.com/users/samrocketman/gists{/gist_id}","starred_url":"https://api.github.com/users/samrocketman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samrocketman/subscriptions","organizations_url":"https://api.github.com/users/samrocketman/orgs","repos_url":"https://api.github.com/users/samrocketman/repos","events_url":"https://api.github.com/users/samrocketman/events{/privacy}","received_events_url":"https://api.github.com/users/samrocketman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-06T05:48:32Z","updated_at":"2015-10-06T05:48:32Z","closed_at":null,"body":"This project should include goals from the GIMP mailing list as I have laid them out via email exchange.  Here's an example,\r\n\r\nOn Mon, Sep 28, 2015 at 2:40 PM, Sam Gleske <sam.mxracer@gmail.com> wrote:\r\n>On Mon, Sep 28, 2015 at 11:22 AM, Ofnuts <ofnuts@gmx.com> wrote:\r\n>>Plenty of UIs and desktop managers, and plenty of development tastes... I'm myself on KDE, but if your VM was running Gnome or Unity, it would be useless to me. I do use a VM for some development that can only be done on Windows, but using a Linux VM over my existing Linux install is a bit wasteful?\r\n\r\n>In this case, it is not wasteful.  Consider the goals of this project (and development from the perspective of a newcomer).\r\n\r\n>NEWCOMER PERSPECTIVE:\r\n* Must assemble over 100 dependency packages from Debian (for Debian GNU/Linux alone; not including other platforms).\r\n* Must clone two additional projects (GEGL and BABL).\r\n* Must compile projects in the correct order: 1) BABL 2) GEGL 3) GIMP.\r\n* On the mailing list there's a lot of \"works for me, so it must be something wrong with what you're doing\"\r\n\r\n>The point of a bootstrapped development environment is to avoid even having to answer most of the above questions before they're even asked.\r\n\r\n>PRIMARY GOALS:\r\n* Lower the barrier to entry for contributing to GIMP source code.\r\n* Repeatable and consistent configuration between someone who is new and someone who can verify if issues experienced by the new contributor is with the development environment or with GIMP itself.\r\n\r\n>FUTURE:\r\nEven when I maintain the build system at build.gimp.org there's regularly a \"works for me\" statement when the build system fails but it passes on a developers laptop.  These challenges hinder progress when having a repeatable build environment would solve these issues.\r\n\r\n>Future-looking action items for me that will come out of this:\r\n* Containerize (via docker) a build environment based off of the vagrant bootstrap development environment.  This means build.gimp.org will run the same code and dependencies as the development environment.  Avoids the \"works for me\" syndrome between core developers and the build system.\r\n* Create a Windows-based development environment based on https://atlas.hashicorp.com/modernIE and https://dev.modern.ie/ (free Windows VMs provided by Microsoft).\r\n\r\n>CONCLUSION:\r\nBy settling on a convention for how we build the GIMP software we'll:\r\n* speed up development velocity\r\n* be more consistent\r\n* have a lower barrier to entry for new contributors\r\n\r\nAdditionally, as per a conversation via IRC a goal which I though implied should be stated: repeatable (which is what I meant by be more consistent).  That is, if you check out a git hash of the project it the resulting built binaries should have the same SHA1 sum every time."}}