Received: by 10.90.184.5 with SMTP id h5mr1437349agf.9.1291923920119; Thu, 09 Dec 2010 11:45:20 -0800 (PST) X-BeenThere: qgroundcontrol@googlegroups.com Received: by 10.90.17.22 with SMTP id 22ls516193agq.2.p; Thu, 09 Dec 2010 11:45:19 -0800 (PST) MIME-Version: 1.0 Received: by 10.90.68.15 with SMTP id q15mr666582aga.37.1291923919411; Thu, 09 Dec 2010 11:45:19 -0800 (PST) Received: by p26g2000pra.googlegroups.com with HTTP; Thu, 9 Dec 2010 11:45:19 -0800 (PST) Date: Thu, 9 Dec 2010 11:45:19 -0800 (PST) X-IP: 129.132.245.29 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; de-de) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5,gzip(gfe) Message-ID: <1df98a4b-5395-4795-b649-2588b1f298a8@p26g2000pra.googlegroups.com> Subject: QGroundControl is growing - new guidelines needed to avoid permanent software crisis From: qgroundcontrol <pix...@switched.com> To: QGroundControl <qground...@googlegroups.com> Content-Type: text/plain; charset=ISO-8859-1 Hi all, we're getting more and more code commits and more APs and projects contribute. This is great news, but makes it harder to maintain the application and the support of all three platforms (Windows, Linux, MacOS). Code stability decreased lately and I'm sorry for any inconvenience caused. The current very open contribution model seems to hit a limit here. Initially I thought it was my fault being not swift enough to include all changes, reviewing code and porting to multiple platforms. I however realized after several occasions where compilation broke, that this is a more general challenge and that it needs a change of the collaboration model instead of just investing more effort. We're not the first project to encounter this: http://en.wikipedia.org/wiki/Software_crisis, but it is the first time we have to deal with it. As QGC is part of Unmanned Air Systems, stability is probably the main feature. I was struggling throughout the last two weeks with new libraries, but have finally figured out that there is no way to support all of them at the same time on all platforms. I have compiled a list of improvements I'd like to make over the weekend to ensure a better long-term stability: Stability Improvements on the maintainer side (further suggestions welcome): - New 3-branch architecture: master, dev and experimental. No non- maintainer commits to master, only flight-proven commits in dev, everything else in experimental - 3D View back to pure OpenGL, no GLUT, no OSG. Everything else is just not cross-platform. Could also lead to a short-term of the whole widget until it is sorted out cleanly. - 3D Plus View (OSG, Kinect, etc) OPTIONAL, does not compile per default (e.g. well supported on Linux, kind of acceptable on Mac, horrible on Windows) - osgEarth view OPTIONAL, does not compile per default (same as before) - Google Earth Plugin OPTIONAL, compiled but not activated per default (works only on Mac anyway at this point) - Waypoint interface as-it, but NO CHANGES without mailing list discussion and validation - Better management of widgets and autopilots, persistent window layout (ideas needed!) Stability improvements asked on the developer (your) side: - Always sync to master (bugfixes), WARNING: Currently master is not very stable, will resolve over the weekend - Keep also synced at least twice per week while developing yourself to dev - Experimental branch is for the brave, no guarantees, but edgy features - Strict policy for commits to dev: Only reviewed changes and hotfixes, changes to protocol (e.g. waypoints) require previous announcement and discussion on mailing list. - Users with direct push access: Please do not commit to master or dev directly, just for known-to-work-for-all-platforms-hotfixes. Push to experimental first and check with other core developers. Please feel free to comment or complain, the same way I'm excited about all the new features I'm concerned as you are about stability. -Lorenz
Copyright 2010 https://groups.google.com/forum/#!forum/qgroundcontrol