- CC-BY-SA is a technically perfect open source license.
- CC-BY-SA's use is discouraged because of the "license proliferation" problem.
Going into more detail on the first point, first we need to know what it means to be an "open source" license. OSI has a great definition of what it means to be open: http://opensource.org/osd
Lets go through each point:
- Free Redistribution – The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution
This is the most important requirement for a license to be "open". CC-BY-SA does not restrict selling or giving away the software and therefore it passes.
Other creative commons licenses (such as CC-BY-NC and CC-BY-NC-SA) fail here and are not open source.
- Source Code – The program must include source code, and must allow distribution in source code as well as compiled form.
CC-BY-SA allows distribution of the source code or the binary.
- Derived Works – The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
CC-BY-SA passes here too, you are allowed to modify the work and can distribute under the same terms.
- Integrity of The Author's Source Code
This is an extension of point 3, clarifying some areas where an open source license can block distribution. CC-BY-SA passes.
No Discrimination Against Persons or Groups
No Discrimination Against Fields of Endeavor
CC-BY-SA is fine for these points.
- Distribution of License – The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
CC-BY-SA is fine again, you can redistribute without permission.
- License Must Not Be Specific to a Product
CC-BY-SA is definitely not specific to any product - that's the whole point.
- License Must Not Restrict Other Software – The license must not place restrictions on other software that is distributed along with the licensed software.
Just an extension/clarification of point 1. CC-BY-SA passes here.
- License Must Be Technology-Neutral – No provision of the license may be predicated on any individual technology or style of interface.
Again, CC-BY-SA passes.
CC-BY-SA fits the definition of open source perfectly and is therefore suited to open source code.
There is, however, one reason to avoid using the license: The issue of "license prolifiration", which OSI has explained nicely: http://opensource.org/proliferation and there's a wikipedia page going into more detail: https://en.wikipedia.org/wiki/License_proliferation
Basically, it's bad for the community to have a bunch of licenses that may or may not be compatible with other licenses. Far better if everybody settles on a small number of licenses where the community clearly knows which licenses are/aren't compatible with other licenses.
This is especially true for "restrictive" licenses like CC-BY-SA, since those are the ones most likely to have compatibility issues. Proliferation is less of an issue with "permissive" licenses (like CC-0) so the community generally is happy for those licenses to be used (although OSI and the FSF do not actively encourage their use).
This is why CC-BY-SA is discouraged. But you can use it if you want, and still consider your project open source.