#1 and #2 are easy to conceptualize but very difficult to build and maintain. Basically, the problem is that people don't fund open source unless they can monetize it.