What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 128 Stack Exchange communities.

I have created an Open Source implementation of StackOverflow.com. It's very early and I haven't done all (obviously) of the features that StackOverflow has. But I will with time.

Are there others that would want to have access to something like this?

If so, what would be the features you would expect it to have? What license would you want it to have?

I have created a small blog where I talk about Stacked and there's even a video featuring a demonstration. You can register (without confirming your email address), so please play around with it and give feedback about what you think.

The reason why I did this is because I started using StackOverflow.com just this week and I was instantly addicted. StackOverflow is the way people should communicate when they need help. And I wanted this for myself for Ra-Ajax as our primary forum mechanism.

I think Joel Spolsky and Jeff Atwood created a brilliant way to help others and ask for help. I want the rest of the world (including me - and the users of Ra-Ajax) to also have access to a system like this.

Yet to be implemented:

  • comment support
  • RSS (or Atom?)
  • better ways to browse profiles
  • editing profiles
  • email confirmation when registering, etc.

Most of the "core" features of StackOverflow.com have been implemented.

The code is ASP.NET using ActiveRecord and Ra-Ajax (obviously).

There's about 1000 lines of code and the code can be found at the Google code project page - though I haven't created a release yet. But you can access the SVN anonymously.

Give me feedback please.

share|improve this question

migrated from stackoverflow.com Aug 24 '09 at 5:53

This question came from our site for professional and enthusiast programmers.

    
Feels a lot like the Phil Haack demo at the PDC –  Brian Genisio Nov 28 '08 at 13:31
2  
how long will it take you to get all the features of Stack Overflow? 6-8 weeks? :) –  Sam Hasler Nov 28 '08 at 15:55
11  
I'm not a fan of Ra-Ajax. Not at all. –  Robert S. Nov 28 '08 at 16:36
6  
why is this original SO closed source? wouldn't it be better to convince the guys to open the code? –  Johannes Schaub - litb Nov 28 '08 at 17:20
    
Hi Sam, well I think 4 will be sufficient ;) Remember I am using superior tools ... ;) –  Thomas Hansen Nov 28 '08 at 18:14
    
What's up with ra-ajax, Out Into Space? –  John Nolan Jan 4 '09 at 19:23
    
@john, it costs $$$. –  Robert S. Jan 6 '09 at 1:19
    
Of course you're welcome to open up whatever you want, but remember that half of it is the community -- so even if you make a SO clone, you still have to get people to use it. Why do that when the original works so well? –  George Stocker Jan 11 '09 at 3:53
    
Anyone remember cuil? –  Michael Haren Jan 11 '09 at 5:31
    
"Jeff, Joel... If you have a milkshake, and I have a straw, and my straw reaches acrooooooooosssss the room...." –  Dave Markle Jan 11 '09 at 5:36
    
Hey, I would be interested in working on this and creating a site with it of a different type (non-programming). How may i reach you? (source code is offline?) –  ccook Mar 30 '09 at 16:52
    
thomas@ra-ajax.org –  Thomas Hansen Apr 2 '09 at 19:57
9  
The interface is hideous atm. –  Unknown Apr 18 '09 at 4:37
5  
I think the Stackoverflow source code should be open source. After all, its us developers, who make it to be what it is. We should get to learn from Stackoverflow's source in return as well. –  Alex Aug 24 '09 at 3:16
1  
SO (the backend) is clearly well suited to other domains than software and IT, so it is inevitable that there will be clones. The same thing happened with wikis. –  Ken Liu Aug 24 '09 at 3:54
show 3 more comments

21 Answers 21

Will stackoverflow opensource?

share|improve this answer
add comment

Browse posts tagged feature-request and/or status-declined and try adding some of the more popular ideas that haven't been implemented on Stack Overflow.

share|improve this answer
add comment

Grab the StackOverflow data dump and setup a site using the data to see how it performs.

share|improve this answer
add comment

The first thing you should fix if you want a broader audience to your software is the lack of support for IE.

Please, just putting a message like "use firefox or whatever" doesn't fix the problem and come on, it's so silly...

share|improve this answer
add comment

I think AJAX is the wrong model to use pervasively in an application like SO.

I use middle-click all the time to open questions up in multiple tabs, to open different sorting orders, etc. REST architectural style is designed the way it is for a reason; there is concrete functionality that REST provides that AJAX or classical rich UI designs don't naturally implement.

share|improve this answer
    
Great feedback. Obviously there MUST be a LOT of Ajax to make the application responsive. But I take your hint on not using it to things people would like to link to ... ;) –  Thomas Hansen Nov 28 '08 at 12:53
2  
Good point about AJAX... but if you do AJAX right, then there is no problem: singingeels.com/Articles/… –  Timothy Khouri Nov 29 '08 at 12:17
    
yes, good ajax avoids these issues entirely... code.google.com/p/reallysimplehistory can even allow for forward/backward navigation. –  Ape-inago Jun 14 '09 at 5:43
    
I think Ajax certainly is very useful in many features of the site like this one, but it does not have to implement everything in Ajax. Anyways, here is another great Open Source alternative StackOverflow-inspired project also used Ajax for many features, this one in php 5.3/MongoDB demo: support.lampcms.com –  Dmitri Mar 21 '11 at 15:09
add comment

This may be too early for you yet, but I'd consider using OpenID like StackOverflow does. The last thing I would want is another login ID to deal with. StackOverflow took a big leap by using it and I think it works well. If you're making a clone, why not copy one of the major advantages of the site's registration.

share|improve this answer
    
I've implemented this (naively) now thanx to DotNetOpenID –  Thomas Hansen Nov 28 '08 at 15:25
    
Agreed, but, on the flip side, a lot of people seem to have complained about SO accepting only OpenID. You might want to consider allowing users to choose which way they want to do it. –  Dave Sherohman Nov 28 '08 at 17:20
1  
@Dave - It's in SVN already ;) –  Thomas Hansen Nov 28 '08 at 18:14
add comment

The most important thing about Q/A sites is the community, I would say that having SO clones floating around would fragment the community and this would be a bad thing.

To have such a site for a limited crowd aka as a wiki replacement for a specific company / niche would be very nice however. So good work :)


After checking it out I must say I'm impressed by the work done especially if you've been able to keep it so small.

Features that would make it even better (judging from video):

  • mimicking the fuzzy search while asking questions.
  • AD / OpenID support
  • Intelligent monitoring of how populair posts are (views by time)
  • Sorting by column, views, answers, unanswered
  • preview for comments with parsing of markup
  • Tags / Category / Tree support - some sort of hierarchical overview of questions besides the flat view.
  • Keeping it 100% (hassle) free to deploy. (not sure about costs of ra-ajax for this)
share|improve this answer
1  
Hi Mischa, obviously I don't intend to compete with SO in anyways, I just need it myself and in that process thinks Open Sourcing it is a superior way to get the quality I need :) –  Thomas Hansen Nov 28 '08 at 18:15
2  
I like the project, and I believe Thomas has a point in trying this thing out. Hell, I'd even help him if I had time! The fact is that stackoverflow is a community of Q/A for programmers, but anyone can have a different community of Q/A. Think radioamateurs, or recipes, or airplane models, or whatever... I support Thomas effort plenty. –  Stefano Borini Apr 19 '09 at 20:50
    
True. AFAIK, fragmentation is the chief reason the GPL was created like it is - copyleft and all - back then in the 80s. Now, this is just an opinion, please don't start a license holy-war ;-) –  namespaceform Oct 24 '09 at 12:53
add comment

You should make your website easy for the admin to add rules for badges and for reputation privileges. Something that let the admin play with variables to create rules.

Example:

badgeXYZ=questionvote>50;//For badges
enableedit>=4000reputations;//For reputation
enabledeletequestion>=5000reputations && hasanswerminimum:10questions;

This could been a type of scripting or simply something that let the administrator to change the rule with different parameters. This would be very great features.

share|improve this answer
    
GREAT idea...!! :D –  Thomas Hansen Nov 28 '08 at 18:16
add comment

I think this is great - just the other day I saw a need for this kind of thing in a community based scenario (actually a more local council / political twist in aus, newcastle) where people could comment on ideas and policies that were gaining momentum. It would work in many environments - especially in industry bodies where reform or improvement was needed, that required input from whoever needed / wanted to be involded. I dont see it as a fragmentation of what stackoverflow is trying to do - but an expansion into other areas that would benefit from an open source version of the idea. Nice stuff!

share|improve this answer
add comment

Wonderful job. I went through 'Stacked'. I really liked the URL rewrite. Its a good start buddy. I can volunteer myself for any code development. Let me know

share|improve this answer
    
Hi Prashant, send me an email to thomas@ra-ajax.org and we can start from there :) - PS! A patch, review of the code or something similar would be a "great start" to prove your worth ... ;) –  Thomas Hansen Jan 6 '09 at 21:41
add comment

There's also http://sourceforge.net/projects/cahoots, which is an in-progress expansion of the SO idea built around the Q&A/reputation model. PHP implementation and open source.

share|improve this answer
    
Nice :) - I think the SO idea was a brilliant discovery by Jeff and Joel and really deserve "life outside of" stackoverflow.com :) –  Thomas Hansen Jan 6 '09 at 21:42
    
It seems that SF is down but, there is also the PHPSO project which is a PHP implementation of SO. sourceforge.net/projects/phpso –  Unkwntech Jan 13 '09 at 8:27
add comment

This is awesome, i hope all future forums where it's discussion heavy will be based on this design.

You might want to leverage Google for your searches in the site too.

One question though, did you manage to contact Jeff & Joel about this? I'm just curious to know if they're fine with this and if they can help you expedite your project.

share|improve this answer
    
Well, the current search is actually pretty awesome, using an AutoCompleter to find posts with the given text within. But I guess for "very large sites" Google would probably be a "better fit"... Haven't had any input from neither Joel nor Jeff - but it would be cool of them to give me :) –  Thomas Hansen Jan 6 '09 at 21:44
    
Stack overflow ! Forum –  George Stocker Jan 11 '09 at 16:01
add comment

I find this very interesting, thumbs up and great it sparked into something like this. I find it impressive what you achieved in the short time!

Some things form top of my head:

  • Can't log in via Yahoo OpenID provider. I get redirect to Yahoo, but when I come back I'm on the start page like before and no visual cue that I'm logged in.

  • For an "open source" application it has a very high "reputation" ;) for bad log messages. When I look at the changes and see most of the time "No log message" I feel rather turned down. I would not like to participate in something where basic rules of open/community/source are ignored. Just my POV.

  • I think, and given the votes I consider it strong, Barry Kelly makes an argument here. Such a concept of a platform shouldn't be built around AJAX per se. It should be the other way around. If there's an issue with JS, your project basically stops working for the user. E.g. I'm using SO on my E61i with Opera mini; with that setup I would be out of luck at stacked. I really think a basic principle of such an app should also be accessibility, as a forethought.

  • There's a reason why SO delivers the message ID quite in the beginning of each URL. Consider URLs pasted wherever and being split up at some point (e.g. emails, but can happen everywhere). SO still works because it's actually ignoring what is after the ID/slash. I can write http://stackoverflow.com/questions/325713/i-love-jesus and still get this message. In stacked I get a 404 right when just a single character is missing. This, too, adds to the "accessibility" spirit I was trying to make in the last point.

  • The inline preview when entering a search term needs a bit tuning for timing. Or an indication whether it is doing something in the background or not. At first I would have written it doesn't work until I realized it is maybe just bad JS timeout timing or the server just does take longer to perform it's search.

  • I'm still not convinced the search is working properly :) I'm missing a proper result when e.g. entering "swallows" (is part of the message at http://stacked.ra-ajax.org/does-ra-ajax-work-with-iphone-s-safari.quiz ) and, when hitting enter, I'm missing the search term in the URL for linking. I think hitting enter always brings one to the same page the user was before (no separate search result page?) and the inline result view is the dominant result? Feels very weird and gave me quite an irritation. Btw, searching for \' finds the ' in questions but breaks the highlighting, works with only ' as search term. Just discovered that searching for the an breaks the inline search result highlighting, revealing broken HTML tags used for highlighting.

  • Would be nice when entering a search term which is a tag would lead on directly to the page with all questions with this tag.

  • To bad it's ASP.NET and not something with a more"open" background like Ruby, PHP, Java, whatever and also limited to Windows (didn't bother trying Mono yet). But hey, that's your right, it's your project ;-) And it's likely the reason something was set up that quick, too.

Wow, now this reads a tiny bit like bashing (I don't want to conceal I'm not fan of MS centric architectures) but actually this post should was meant to be delivered with a positive spirit after all ...

If my yahoo provider had worked I would have posted in there over I guess.

share|improve this answer
    
"E.g. I'm using SO on my E61i with Opera mini; with that setup I would be out of luck at stacked" - I don't think so ;) Test it before concluding here... Other than that great feedback and thank you :) BTW it should work perfectly on Mono and Linux... –  Thomas Hansen Jan 26 '09 at 21:27
add comment

Well, for one, you need to find a popular blogger and team up with them to create a podcast to promote your site :-)

Seriously, I would like the ability to sort by various categories and also to more easily be able to tell what answers just caused me to gain more reputation.

share|improve this answer
    
Hahahahahaha........!! :)))) –  Thomas Hansen Jan 26 '09 at 21:28
add comment

Not that it's mandatory, simply a matter of curiosity -- did you use all of the same technologies as SO? http://blog.stackoverflow.com/2008/09/what-was-stack-overflow-built-with/

share|improve this answer
    
See code.google.com/p/stacked for the source code, which is labeled "ajax, asp.net, C" so it might be the same tech stack. –  Adam Davis Mar 31 '09 at 3:28
    
Actually apart from using ASP.NET and C# it's actually very different. No jQuery and no MVC... –  Thomas Hansen Apr 2 '09 at 19:57
add comment

The best possible improvement for another implementation would be to remove all JavaScript from the comment box, which slows my Dual Core E8500 with 4gb RAM down to a crawl. It's so annoying, I rarely comment even when I want to. (Actually, most of the live-updating JavaScript nonsense on here does that to me.)

To disagree with another answerer, I despise OpenID and desperately wish I didn't have to use it. Sure, I don't have to remember another ID (of course, I do have to remember which OpenID provider I used), but it means my membership to StackOverflow is dependent on Yahoo's reliability and me keeping my Yahoo account up to date. If I decide I hate Yahoo and never want to use it again, I should be able to do that without affecting my StackOverflow membership (think modularity).

I don't mean for this to be a complaint about StackOverflow, which has definitely helped me through some tricky situations. I mean for this to be ideas on things that would make me more apt to want to use your software than StackOverflow.

Another definite area for improvement is DISCUSSION. StackOverflow encourages questions and answers. Specifically, single questions with multiple people responding with a single answer. Follow-ups and follow-ups to the follow-ups are basically a hack of comments or post edits and they are neither easy to write nor easy to read. I'd also like to see what a forum could look like where not only can answers be 0..*, but questions can too. (No, I'm really not sure what that means, but I can definitely tell you it's not like anything that exists today.)

Actually, I think questions being 0..* could eliminate (or reduce) the problem of duplicate questions. Once a single, really good answer is written, all questions that it applies to can be aggregated as questions to which said answer is the answer. So when someone goes to check their question, they will see that it has been rerouted as answered (and not be forced to click a "Here's where someone asked this before" type of link).

Instead of saying, "Given this question, what are the answers," it would be saying, "Given this really good answer/article/essay, what questions does it answer?" Some articles I know of on the web answer numerous questions. For example, this article/dialog/story/whatever (http://www.objectmentor.com/resources/articles/xpepisode.htm) answers a lot of questions of TDD and how to write tests for TDD, as well as "doing the simplest thing to make the test pass." Why should someone have to post a link to this article as the answer to numerous questions instead of the article link existing in one place and pointing to ALL the questions it answers?

share|improve this answer
    
OK, I have to disagree with your disagreement: a major point of OpenID is precisely that you are not dependent on any particular provider. If Yahoo disappears or you decide that you hate them, you can easily switch to another OpenID provider, and just update your SO profile with the new URL if necessary. On an unrelated note, +1 for the idea of many-to-many Q/A associations. –  David Z Apr 19 '09 at 8:21
    
I wonder, is that a necessity of using OpenID or is it just StackOverflow that allows that? I guess I don't know as much about it as I thought. I still don't like it, but... at least it may not be evil. –  Instance Hunter Apr 19 '09 at 18:37
add comment

I would want to use Stacked as a collaboratin tool in my workplace. I believe that a large organization could benefit from this model. I also believe there is a real market for making money with this product.

share|improve this answer
add comment

Kudos to you, sir, this is great.

However, after researching open source clones of stack overflow, I have to say that cnprog is far and away the best. It is truly amazing, down to almost the exact same interface for nearly everything (including, e.g. inline previews of posts). Also has OpenId support out of the box and some features SO doesn't have (like localization). Finally, it is built on top of python/django which IMO is a far superior platform than .NET, particularly for an open-source project.

There is also a thread on meta.stackoverflow discussing several other clones here: Stack Overflow clones

share|improve this answer
    
Finally a reason to learn Chinese! –  Alex Aug 24 '09 at 3:11
    
It's totally localizable (actually according to the SO page I linked to the reason they made it was because they wanted a chinese version) –  Cory Aug 24 '09 at 3:43
add comment

Only adding my congratulations and best wishes to your project. Open a 'donate us' site ;)

share|improve this answer
add comment

This may be off-topic, but instead of SO clones, I'm think it would be a good idea to focus our efforts in writing specifications of SO "modules" like the reputation system. I know it's already in the faq, but we know there are some details that are across long blog posts, blog commments, and such. Being in a and a centralized system would be interesting (I didn't search a lot of this, so if I'm wrong, please correct me).

Sometimes you already have an incredible communnity (the most difficult part), in a phpBB forum and such, it's working, and it would be a great idea do just add the reputation system to it. Why not? Sometimes you want to create a social network, it's not going to be question/answer oriented, but the reputation system would fit as well.

So, a centralized, maybe wiki based, well written place of specifications of the great features SO has could add a lot to all communities.

share|improve this answer
    
I concur. But I still think that StackOverflow's source should be open source as well. –  Alex Aug 24 '09 at 3:44
add comment

You must log in to answer this question.