What are network effects? Lessons from competition in software markets