Hi Equalizer Devs, Equalizer is big, hard to use for newbies (concerning ~90% of the posts here start with "Newbie question") and i cannot imagine it is easy to maintain.
I don't just want to rant, I am really willing to help to make Equalizer slim, cool and fun to work with. I compiled a list of ideas and ordered them by importance. The topmost should be adressed first. 1. Leave Sourceforge, join GitHub! ---------------------------------- svn is slow git-svn is slow git on sourceforge is slow git on gitorious is slow Boost moved away from Sourceforge for performance reasons, a move to git is planned for performance reasons, GitHub was chosen over Gitorious for performance reasons: http://ryppl.org/2010/07/30/modularized-boost-moved-to-github/ Follow the move! why git? -------- Let's assume i want to modify equalizer... current situation: * i checkout equalizer, do modifications * when i want to contribute changes, i ask for permission to commit * then i commit my changes to trunk * you will see that some of my changes suck * you are left with a mess >:-) example situation with git: * i fork equalizer, do modifications, commit changes * when i want to contribute changes, i tell you about my fork * if you like my changes, you may pull them, if they suck just don't Using this workflow, it is so much easier to collaborate. IMPORTANT: Using Git and Subversion in parallel and syncing between the two is something we should avoid. The goal should be to simplify collaboration and contribution, not to complicate maintenance!! 2. Drop all Toolchains except CMake ----------------------------------- directories: make, VS2005, VS2008, XCode all files named Makefile Or is something still missing in the CMake files that the other toolchains support? 3. There are generated files inside the source tree --------------------------------------------------- And some of them are even under version control. This clearly is an error. All generated files should be placed in the build tree. Generated files do not belong under version control. 4. Drop unmaintained parts or maintain them! -------------------------------------------- some examples fail to compile (SharedData.h is not found). 5. Drop unfree parts or free them! ---------------------------------- The ProgrammingGuide's license does NOT comply with the Open Source Initiative ("OSI")'s Open Source Definition. It is against the terms of use of sourceforge to have it in their repository!! Ref: https://sourceforge.net/apps/trac/sitelegal/wiki/Terms_of_Use 6. Reorganize header files -------------------------- current situation: * all header files lie inside the source directories * during configuration some header files get copied to another dir, some headers get generated * this directory is used as include directory during compilation * files in this directory are used during installation/packaging disadvantages: * needs additional maintanance in the toolchain * when i change a file in the wrong directory, then run configure, my changes are losts * installed header files depend on the system. when i want to crosscompile for windows under linux i cannot use the installed headers. advantages: * I cannot think of a singe one. Please enlighten me! suggestion: * move public headers into directory ${TOP}/include/... * private headers should remain in the src directories * do NOT mess with headers at the configure step * install ALL public headers on EVERY platform. 7. Automatic regession testing (AKA CI) --------------------------------------- Just do it. And provide results online. But analyzing the size of 'src' reveals a much bigger problem: Equalizer source code 3.5 MB Example code and configs 4.5 MB Toolchain files 2.0 MB Dependencies for Windows 9.5 MB Test data 85.8 MB SO much test data? Really? We should drop it from the source and provide it externally. ============================================================ What do you think? cheers, Daniel _______________________________________________ eq-dev mailing list [email protected] http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev http://www.equalizergraphics.com

