[Sugestion]: Change the way users contribute to Duolingo
some time ago I asked for a change. Some way for users to see which bugs are open and to help fix them.
Today I want to suggest something else. A shift on the way the Duo managers/developers relate to its users.
I think there is already a strong community of users here. And that we can contribute and help in a lot of ways, besides suggestions and translations. Bug tracking is just one step. But I think users can do a lot more than that.
What do you think? Please share your thoughts. Regards, Paulo
I know that a closed software project such as this has a strong limitation on the total number of people that can answer mails and take care of other details. I imagine Duo team cannot attend each and all of your user's wished promptly. It's always a matter of working on the most important things. So far, so good.
However, I also (respectfully) believe that you are ignoring the huge potential of the Duo community. I think there is a LOT that can be done besides translation.
Just to name a few: beta testing, bug issuing, issue reproduction (with logs!), suggestions, design and usability testing, content review, user support and so on and so forth. Oh, and last but not least, software development!
Inside an open-source development process, the mail turnaround time is minimal, since any user can answer. Leaders naturally pop up on the mail lists, by providing feedback, guidance, suggestions and improvements. Groups arise naturally, with each person working on the issues that better match their abilities.
Furthermore, there is a social phenomena that maybe you are not aware of. It works like this. As the whole development process start to mature and the community effort goes beyond a certain balance point, we use to say that the project "gains traction". All of a sudden, it starts to move almost "by itself". From this point on, it usually accelerate in a steady and strong way.
Think of a river, it helps to illustrate my point. Traction is like the river flow. After a while, when a lot of minor flows aggregate from both sides, the main river grows stronger and the flow can drag what is on its way.
I am following open-source software projects for about twenty (20) years so far. And based on my experience as a software developer, I strongly believe that this project has a lot of potential to become a successful one. I mean, in case you are willing to do that that move.
Of course it is a bold move and it can be scary at first. So, I would start slowly. You already know what happens for translation and discussions. How about making one more step forward? Allow users to contribute to the debug process (see issue #98424).
Release early, release often. Use beta-testers. Let us answer questions also. Let us contribute on other, novel ways. And finally, please consider opening your source code under some form of open-source license (I suggest "GPL v2").
That would represent a major shift and, of course, has its risks and consequences. But if done right, the community can completely reshape it and make it shine in another level of maturity.
For instance, it could prevent a lot of issues and headache. Consider a change such as the one being discussed here: http://www.duolingo.com/comment/1196380 - "Full Android redesign".
It would have a much better chance of being accepted, without features which are not what users need/desire and without the hassle of removing something useful and then, having your users complaining that it should be added again.
Do you dare to try? Or at least to consider how to do that?
p.s.: here are a few links on the topic, just to help.
The Architecture of Open Source Applications
http://www.aosabook.org/en/ - A set of books about successful open-source software projects. A nice way to find out how those projects managed to succeed so far. The last one was just released.
Wikipedia: Open-source software development http://en.wikipedia.org/wiki/Open-source_software_development - Wikipedia article on OSS development.