@Peter it would be great if you could invest in it a little of your time!!!!
Concerning the sources I have found also
http://faq.library.upenn.edu/recordDetail?id=36133&library=manchester_business&institution=manchester
A CSV file with the list in the format required by the fetcher could be made available to everybody interested, e.g. in Dropbox.
Then we could use the fetcher (fetch_csv) to have a constantly updated S&P500 Universe in our algos.
In the CSV file the full list of S&P stocks should be given only for the days in which there was a change in the index constituents.
If there are no stocks for a date in the file, the stocks from the previous day are forward-filled in the Universe.
The CSV file could be backward filled at least until 2007 according to the WIKI page.
It would be great then to have a software running somewhere once per day that checks if there are changes to the index constituents and if so it automatically adds at the end of the CSV file the new 500 constituents with the current date.