Friends of mine want to take their in-house programming language and take it into the open source arena.

There are many challenges, one of which is how to begin to create a community of users. Where does one start?

The original was written, as I understand it, in VB6 (with components written in Ada, Perl, assembler, Fortran etc.) There are discussions about what to write the new version in: C#, D, Go ... and the list goes on.

Also there are discussions about whether to stick to the Windows platform or go cross-platform. Huge questions and not many good answers.

And they worry too about having someone fork the repository and develop a competing and perhaps more successful version. Perhaps they need to find a benevolent dictator. Are there other means of keeping a name with one version and not letting it drift to others?

The biggest challenge is the business plan: how do you monetize a programming language community?

P.S. Is this the right place to ask these questions?

  • 1
    No, I don't think this is the right place. I think you could revise this question to be about project management, but at the moment, this is a question about how to monetize a community. It may be that the goal/outcome of your project is to monetize a community, but that doesn't make the question a question about project management.
    – MCW
    May 2 '14 at 11:11
  • 4
    This question is not on-topic within the scope defined in our help center.
    – Todd A. Jacobs
    May 2 '14 at 13:06

First of all, risks exists in many commercial endeavors.

How does one create a community of users? A community is created when you promote your cause and when people adopt your programming language. As long as the community, documentation, support and the language itself is to their liking, users will share their thoughts with others and slowly grow into a community. Many things affect this situation and it's hard to pinpoint exactly how to become successful.

To give you an indication; maybe you've heard about Dart, built by Google, I've only heard about it through one of the owners from a start-up. Dart is being promoted intensively and many real life demonstrations and meet ups have already taken place.

What to write the new version in This is a matter of taste. The team will have to run the necessary comparisons and decide for themselves. Go is rather new, seems to be growing fast as a community; but my knowledge on that matter is rather limited.

Cross-platform Going cross-platform is absolutely is smart consideration. Don't underestimate how big the linux and apple communities are. Even though developing for multiple OS'es is time intensive, ruling out one community might reduce the adoption rate of you programming language.

Forks and licensing It's fairly easy to create a license for your programming language that allows open-source usage of it, but rules out selling it in the same or a mutated form.

Monetization There are plenty of possibilities to earn money. For example to offer premium services, a cloud hosting platform, becoming a premium developer, online courses, commercial licenses, on-site courses, etc.

Open source sounds attractive. However building a community might take a very long time. In order to arrange for fast growth you'll have to convince people to adopt your programming language, provide massive amounts of documentation and help them make the move from whatever language they come from.

Building a programming language with the goal of monetization actually makes the programming language a product. Therefor you would need to create a business model and set up the necessary growth path.

Not the answer you're looking for? Browse other questions tagged or ask your own question.