24
\$\begingroup\$

Let's suppose that I have a personal project which I think might interest more people, and given my low position in the learning curve, want to make it open source.

Besides posting pieces of code in CR for support and some discussion, am I allowed or expected to get extra-benefits from it, in the sense of gathering some community, or posting links to GitHub instead of code chunks, etc.?

I ask this because I have since read this answer, and it seems like the flourishing of projects from CR is seen as a good thing.

If not (if it is unadvised or plainly off-topic), what other ways would anyone have to gather an initial community of like-minded developers with the same interests?

(Just for the record, I obviously have a project in mind. My goal is to create a PyQt app to manually edit Waypoints and LineStrings, with KML file I/O and tiled imagery background. I believe it would be very straightforward to do with Qt Graphics Framework).

\$\endgroup\$
  • 15
    \$\begingroup\$ I will give you one advice : Don't force it to people. Hang out with the people here in chat, ask good Code Review questions on your project and make it interesting. If you do this, you will naturally attract people that will be willing to contribute. \$\endgroup\$ – Marc-Andre Dec 12 '14 at 15:44
  • 7
    \$\begingroup\$ I will give you one more advice : Make sure that your project is well-documented. Document the general idea for the project itself, and also have some good code documentation. \$\endgroup\$ – Simon Forsberg Dec 12 '14 at 16:13
  • \$\begingroup\$ As part of one of the two projects mentioned in the answer, I must say that if it were not for the chat rooms on here, Cardshifter would not be what it is. You're welcome to drop by The 2nd Monitor and ping me by typing @Phrancis, if you would like some details. \$\endgroup\$ – Phrancis Dec 12 '14 at 16:13
26
\$\begingroup\$

Answering your direct questions first:

.... or posting links to GitHub instead of code chunks, etc.?

The keyword you use here is 'instead', and the answer is 'no'. You cannot post questions here with links INSTEAD of the code. You can post questions with both the code, and the link though, if you want. Only the code you post in the question is for review though, the rest of the linked code is for 'context', or convenience.

There are lots of ways to post working chunks of code from larger projects here on Code Review, but, to be valid on Code Review, the question has to be self-sufficient. See: including code.

If you post interesting questions with good code, then you may well find others showing interest in the project as a whole.

As a a side note: the flourishing of a couple of projects is a good thing. Parts of Code Review have a community feel to it. There's a bunch of smart, interesting folk who swing through, and some of them are even regulars. These projects that have arisen are more a function of the fact that if you put like-minded people together who get an idea, then something will happen. These projects are not 'promoted', or 'driven' by Code Review, but Code Review happens to be a place where people actually communicate, and share, and work together. People who were, essentially, 'friends' got together, and worked on something. In both instances, the idea, motivation, and continuation of the projects have happened primarily in chat, rather than the main site. Still, as people have worked on code they have posted interesting parts to Code Review as questions, because we all like that, and we all like rep ;-)

Similar things could happen with your project.

I am not sure how you could actively recruit people while staying within the 'rules', but, for example, I maintain the JDOM open source project, and I drop the name as often as I can ;-). As a moderator, and active user, I end up communicating that fact quite often. It's in my profile, etc. That's all part-and-parcel of 'networking' in what amounts to being an online community.

\$\endgroup\$
  • \$\begingroup\$ Thanks, your answer was very stimulating. As I see, Code Review has some potential to solve some long-lasting frictions I face while coding, in a way I mistakenly thought Programmers SE could. Also, of course, it makes clear that to earn that, a lot of "homework" has to be done first (which would need to be done anyway). See y'all soon! \$\endgroup\$ – heltonbiker Dec 12 '14 at 15:57
  • 5
    \$\begingroup\$ You've just reminded me that I need to add my open source projects to my profile. Thank you both. \$\endgroup\$ – RubberDuck Dec 12 '14 at 16:01
9
\$\begingroup\$

Your question has been pretty thoroughly answered, but I thought it might benefit the Code Review community if I took a minute to present a few ways in which CR has been used by developers who are working on open source software. Particularly since I inadvertently sparked this discussion to begin with.

The Lone Developer: A Case Study

Leonel is a lone developer. He has been working on his Bootstrap Console Customizer for a little while now. Being a lone developer, he doesn't have anyone to review his code. So, after each release, he posts a question here on CR requesting a review for whatever new feature he has added. He then takes that advice away and updates his project armed with the knowledge he gained here.

This is the most obvious way to use Code Review to foster your open source project. Get your code reviewed.

There's more though. During this process, Leonel has posted good questions with working code embedded and also linked back to his repository. He has gained at least one follower and potential contributor by doing this.

Common Interests: A Story About a Duck

As was pointed out, other projects are the result of like minded people being in the same place. When I became an active member of Code Review, there was really only one person monitoring the . He invited me to chat and we quickly became friends. We reviewed each others' code. We would end up back in chat discussing the code. Discussing the code to the point where we were asked to start a different chat room altogether. There were often discussions about everything we hated about the IDE we were using. After several months of this, I discovered that the other developer had just started a project on GitHub that had the potential to radically improve that IDE. Without a second thought, I jumped in and started helping anyway I knew how.

At this point in the project, not only do we use chat to discuss things in real time, but we also post our code here for review from time to time. It helps to make sure it's not just the two of us putting eyes on our code.

About now you're asking yourself, "What's the point here?". The point is, if you want people to contribute to your project, they need to care about your project. It also doesn't hurt if you know another developer or two who are interested in the same things you are. Don't know anyone else who likes to code? That's okay. There are tons of SE chatrooms out there. Many of them are programming related. Go out and meet some fellow developers. It won't do you any good to badger or beg anyone to contribute to your project, but you just might meet someone who cares about the same things you do. You never know. Remember though, that project happened naturally. You can't force that kind of thing to happen.

\$\endgroup\$
  • \$\begingroup\$ I found your answer excellent. Thanks again for your time! \$\endgroup\$ – heltonbiker Jan 15 '15 at 23:41
  • \$\begingroup\$ You're welcome. It was fun to write and I've been meaning to do it for a while now. \$\endgroup\$ – RubberDuck Jan 16 '15 at 0:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .