Codeplex/Sourceforge for internal use [closed] - open-source

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm looking for a free/open source collaborative project manager that can be deployed internally in my workplace that would act similar to Codeplex or Sourceforge. Does anyone know of something like this, and if so do you have experience with it.
Requirements:
Open Source or Free
Locally Deployable
Has the same types of features found in Sourceforge / Codeplex
Issue/Feature Tracking
Community Interaction (ie. Voting, Roles, etc.)
SCM Integration (Optional)
.NET/Windows Friendly (Optional)
Every business ends up having internal utilities, and domain specific apps that developers create to make life easier. Given the input of the internal developer community they have the potential to become much better (can you say GMail...), and I would simply like to foster such an environment internally by providing an easy place for that interaction to take place.
UPDATE:
So I like what I am seeing in both Trac and GForge, but both are heavily geared towards UNIX/Subversion environments. I should have specified this, but we are a MS shop from top to bottom. How practical do you think it is going to be to try and use these in a MS .NET environment? Would that be like trying to shove a square peg through a round hole?

I like redmine for this: http://www.redmine.org. The only thing it's missing from your criteria is voting, but there might even be a plugin for this.
Trac is also popular (http://trac.edgewall.org) but it lacks suport for aggregation of data across projects.

Try GForge, it's a SourceForge fork and has most of its features.

I agree, Trac should work. IMHO setting up Subversion should be relatively easy on Windows too, there are great Windows clients for it (tortoiseSvn), and Trac runs on python, so it will work on Windows too.

Other advantages of Sourceforge Enterprise are these plugins. There are extra plugins for Visual Studio wich can be found here and here.

SourceForge Enterprise Edition 4.4 is available for free for up to 15 users. We use it for our development team and another development team where I work.
It's been working great for us. It has subversion and cvs built in (whichever you wish to use). If you plan on accessing it over the internet you might want to enable HTTPS. I had to do a little finagling to get HTTPS to work correctly (finding the right CentOS packages to install). If you wanted to use this solution with HTTPS I wouldn't mind if you sent me a message asking for help.
It comes with a VM for VMWare Player:
http://www.collab.net/downloads/sfee/index4.4.html

Launchpad has support for Code Hosting and version control, Bug tracking, Blueprints, Answers, Polls, Translations, etc.
Launchpad is used by the Ubuntu Project.
A few weeks ago, Launchapad was released as open source.

I was just wondering the same thing, something like Trac but in .NET, after a quick GOOGLE search (I have never tried these tools) I found
sharpforge (This no longer looks free!)
I like how the site .netTiers looks.
They use screwturn wiki.
It is totally free if you fulfill all GPLv2 statements.

Assembla and BeanStalk are nice, both have things like; wiki, discussion, alerts, chat, ticketing, Trac, Git and Subversion

What about Trac? It's pretty simple, but does it's Job for a lot of Open Source projects.

I would concur on the Trac suggestion. I use it both for an open source project and for an internal project. It has decent issue tracking and integration with Subversion which allows links between tickets and subversion checkins. It also has an integrated wiki, which can be of some use for documentation. Although we do not use it for voting / community type features, I know there's a number of addons to it that might serve this purpose.

Related

Which continuous integration software do you use? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Google says there are:
Jenkins ( first impression: not lightweight )
Cruise control ( first impression: not lightweight )
Bitten ( seems to be dead, last ticket >8 months old)
BuildBot
But BuildBot seems a bit outdated, offering no statistics, not very intuitive to configure... Features we are interested in are:
Multi platform support for build slaves: Linux, Mac OS X, Windows
Easy build slave setup
Mercurial support with branch sensitivity
Scheduled builds
Commit-hook builds
Email notification with full debug output
Trac integration would be nice but is not a must-have feature
Edit:
I favour Jenkins over Hudson by now, since its the real open source fork of Hudson. Oracle just failed.
Hudson is my recommendation. It's easy to setup and use, it's free, there are a large amount of third-party plugins and good community support.
TeamCity by JetBrains.
Google says there are: [...]
There is a huge wikipedia page on CI software comparison:
http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software
Personally I am also using buildbot and I think it could fulfill all of your requirements. It's a bit of work to setup because it is a distributed application but frankly as pyfunc said it's a breeze to setup a new slave once you know what two commands to type (one is an "easy_install", the other one a "buildbot create-slave" with the right options).
Also it is still under heavy development and I chose it because it is easily extensible, whereas XML-based tools are confined to the types of build specs which were coded in the tool: perfect for Java/Ant/Maven projects but it can be limited for slightly more complex ones (e.g., involving DB, or embedded software, etc.).
Hope it'll help.
Cheers,
Christophe.
= The act of automating doesn't solve problems, it just automates them --Joseph Weizenbaum =
I have used Hudson with Mercurial and found it to be excellent. The Feeds, web site, status reports, etc. were all "just the right size" for us in a 20 person shop. Just run it in a VM and forget about it; we did.
I have used BuildBot. My experience has been good with it. Installation is a breeze. It uses configuration to setup the master, slave and has various means for communicating result from publishing on web to mail integration.
http://buildbot.net/trac
I have blogged about the buildbot setup. I find it easy. There are few dependencies like twisted that needs to be taken care of.
http://pyfunc.blogspot.com/2010/09/using-buildbot-for-continuos.html
[Edit: I tried to put together a post on how to configure BuildBot - master.cfg]
http://pyfunc.blogspot.com/2010/10/setting-up-buildbot-customizing.html
As others have recommended, Hudson satisfies your list of requirements. There's also a plugin for Trac integration.
Regarding "lightweight", Hudson configuration is not XML hell. You can do everything via the Web interface. So it's very easy to get up and running.
Hudson's plugin architecture provides a lot of extension points and integration with other tools. (Although it can be a pain to sort through all the possibilities for the plugin that has the behavior you need.)
You can also script it through the remote access API. This is a powerful way to introduce new behavior for your environment without needing to dive into writing a plugin.
Our free hosted CI environment (fazend.com) is powered by CruiseControl 2.8.3, which is a free open-source product, written in Java. One of its benefits (for us) is that it doesn't need any database, everything is in files.

white-label collaborative open-source development (e.g. github/sourceforge/google-code in a box)? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Does anyone have a recommendation for an open-source or paid (either packaged or SaaS) solution for integrating collaborative development features into your own website? Here's more details:
We currently host an online plugin gallery for our product. Users can upload and download plugins. But users can't easily collaborate on a plugin's development, can't easily report and track bugs on a plugin, can't easily track a plugin's versions or roadmap, etc.
Of course, contributors can host their plugin development on github, sourceforge, google code, codeplex, etc. But keeping users on our website has some advantages. For example:
We can use single-sign-on to avoid yet another username/password required
we can integrate end-user issue tracking into our existing online issue-tracking systems
we can get integrated analytics so we can better meet the needs of top contributors as well as downloaders
We can easily reward reputation points to committers just like we do for people who answer lots of questions
Anyone know a good solution for white-label sites for open-source project developer collaboration?
Atlassian Studio might be what you're after:
Subversion - Source Control
JIRA -Issue tracking
FishEye - Source Code Search
Confluence - Enterprise Wiki
Greenhopper - Agile Planning
Bamboo - Continuous Integration
Crucible - Peer Code Review
All hosted in the cloud, prices start at $125 for 5 developers.
http://www.atlassian.com/hosted/studio/
Alternatively for a cheaper alternative, Atlassian offer open source licenses which would allow you to use each of the above for free, however you'd need to host them yourself, and configure them to talk to each other manually (whereas Studio is a hosted SaaS environment with interoperability already configured out of the box).
If you don't qualify for an Open Source license, and you've got 10 developers or less, you can get a Starter License for every product except Crucible for $10 - full commercial license, with support etc.
(This isn't meant to be an ad for Atlassian, and I don't have any connection with them, I just love their products for this kind of solution).
My recommendation would be RedMine or Trac; Trac would require you to set up a separate instance for each project (TracForge can, I believe, help with that). Another option would be Gitorious (I believe its code is all open-source).
There's also GForge, but I wouldn't recommend it (its UI is like old-school SourceForge; I find that rather clunky).
Since you mentioned GitHub and SourceForge:
GitHub:FI is a white-label version of GitHub
SourceForge used to be available as a white-label version at some point, I have no idea whether that is still true though (Hmm, it seems it is called CollabNet TeamForge now)
before that, SourceForge actually was Open Source up until version 3, and there exist multiple forks of the original software:
Savane, a fork started by the GNU project, the software powering GNU Savannah and Gna!
GForge, a fork started by one of the SourceForge developers, the software powering Alioth (until recently) and RubyForge
FusionForge, a fork of GForge by three of the developers after the parent company took GForge proprietary, the software powering Alioth
Gitorious is an open source competitor to GitHub. Launchpad is going to be released as open source sometime this year, and is also available or sale and/or rent right now, I believe. FogBugz launched Kiln, a Mercurial hosting and code review service.

Seeking advice for taking a project open-source [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I currently have a few closed-source applications that I have developed to learn a particular technology or experiment with a programming technique. As a result, I have some software that is useful to others and that I have made freely available, but in closed-source format.
Some of the users of the software have asked if I would be willing to go open-source with the software so they could contribute to it. I'm all for it, but haven't had any previous experience working on open-source projects, much less starting one.
Ideally I'd get my feet wet by contributing to an existing project first, but I don't want quell enthusiasm of these volunteers by delaying too long. So I am going to forge ahead slightly blindly.
What I am looking for is a crash-course in managing an open-source project for someone just starting out on this track.
So let me phrase this as a question:
What advice do you have for someone
starting up their first open-source
project?
I'm also interested in recommendations for books/links that you think would be helpful
You have two important choices to make initially.
Firstly which licence should you use? There are dozens of Open Source licences, but it basically boils down to whether you want copyleft (GPL/AGPL) or non-copyleft (BSD, MIT, Apache) and that depends on your own objectives.
Secondly, you need to choose a version control system and, assuming you won't be hosting it yourself, a provider. This is effectively a choice between Subversion or one of the distributed version control systems (Git, Mercurial, Bazaar, etc.). A DVCS may make it easier for you to manage contributions from other people if you don't want to give them write access to your master repository.
Choice of VCS will influence your choice of host and vice versa as most providers only offer one VCS. A provider that will also host a website and/or wiki for you would be ideal. Most will provide some kind of rudimentary issue tracker and possibly mailing lists. You can also get mailing lists from Librelist.
I would recommend that you take a look at GitHub or Launchpad. I'm not particularly keen on Google Code or Sourceforge. Nothing against Subversion, I just don't like their UIs.
If you want your project to become popular, and that might not be important to you, you'll have to promote it. You can register it with Ohloh and Freshmeat. Writing blog articles about your project and submitting them to sites like Reddit and DZone would increase visibility. Remember also that Jeff is offering free advertising on StackOverflow for Open Source projects.
Anyway, as long as you have a public source repository and a website for people to download the software from, just write code and the rest will follow.
If you're already familiar with VCS (Versioning Control System) you should be fine. I recommend www.github.org to host the repository, and maybe at some point a website to talk about the app. Github is nice because it makes it especially easy for people to contribute code. It's ridiculously simple, although git has a bit of a learning curve.
And then, a way to communicate! A mailing list.. Maybe googlewave.. Maybe a forum.
Don't miss the great e-book from Karl Fogel, Producing Open Source Software available at no cost online.
I don't have any personal advice on hand, but I found the following video very interesting. It's a recollection of the experiences of some Google employees and the lessons they learned whilst managing their open source projects.
How Open Source Projects Survive Poisonous People (And You Can Too)
https://www.youtube.com/watch?v=Q52kFL8zVoM
Read this book: Wikinomics
In one of the chapters, for example, the author explains the challenges faced by IBM when they first joined open source projects on Linux.
Some code repository sites do a lot of the management work for you. They provide the licenses, they handle versioning (in some cases) and they obviously handle the repository.
look at these sites:
http://www.codeplex.com/
http://www.codeproject.com/
http://sourceforge.net/
The very minimum that you need to do is post the code as a zip, with a suitable license file. You can do that at Google Code - it's really easy to use. As for which license, start with an unrestrictive one such as MIT (Google Code has all the license texts) - you can always re-license later, provided you haven't accepted any updates.
As for books/links, take a look at Producing Open Source Software - it's not perfect, but I don't know of anything better.

How to create an open source repository [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Time ago I started to develop a project and now I would like to make it open source. I am not familiar with open source contribution so I would really appreciate if anyone of you could suggest any good source (book or web tutorial) where I could learn how to setup a repository and arrange everything neccesary in order to make possible open source development.
Thanks!
Easiest way to start, create and maintain a repository is to open a project on SourceForge, or CodePlex (if you intend to have a .Net project). You can also try Google Code.
Visit Google Code. Setup a project there and learn how to use Subversion. When you're comfortable using Subversion and Google Code, you can setup your own Subversion/Trac server.
These days one of the more popular ways of running an open source project is to let a website such as SourceForge or Google Code (and there are many others) host the project. Most provide services such as code hosting using a variety of repository formats (CVS, Subversion, Git, Mercurial, etc...), mailing lists, bug trackers, wikis and more. The idea is that you are busy writing code, you shouldn't have to deal with mundane system administration tasks like maintaining source control or web servers.
In addition to SourceForge, Google Code, and Codeplex, I would add GitHub.
As others have indicated letting someone else host this for you is the easiest way to go about getting an open source project up and started. As for guidance on the different options out there:
Source Forge - Never used them, but
I know they've been around for a
long time and they claim to be the
largest.
Google Code - Can use subversion or
mercurial for version control. Good
code review tool too. Good option
for choice and tools.
Codeplex - .NET stuff goes here.
Hosted version of team foundation
server.
GitHub - Centered around git, the
distributed source control system
developed by Linus for Linux
development. Great for parallel
development if you plan on having
lots of folks working on it, but to
be fair mercurial offered by Google
Code is also parallel.
Here's an interesting article by Rob Conery about moving his .NET based open source project to github. If I remember right he had used Google Code and Codeplex previously. Have I successfully plugged my favorite? :)
In any case, don't worry about doing it yourself, a lot of hosting companies have one click installs for subversion. However hosting it will give you the following advantages:
Source control system set up and managed for you
Code review, and other collaboration tools are common
Generally you get a page to provide downloads to potential end users
Visibility and a community of potential contributors. I'm assuming you'd like other people to help you.
Hope that helps.

What are the best practices for releasing an open source project? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
We have a pretty cool little web framework that we have used successfully on dozens of client projects. We are planning to release this software to the community. However, I am wringing my hands about what should/should-not go on a new open source software project page. What are the things the site must have? Docs? A Wiki? A link to download? What else?
And, a related but possibly different question is how do we begin marking release numbers. All we use internally is the SVN stamp. Is there a good way to determine when to start calling something version 0.9 versus 1.0 and 1.1 and so-on?
You can get an idea of what's required by what open source project hosting sites provide:
A web site which acts as the "one stop shop" for the project
Docs, potentially in wiki form
A source repository allowing browsing, anonymous checkout, and authenticated and authorised commits
Issue tracking and new feature requests
As for version numbers... I don't think anyone's worked out the best way of doing that yet :) With a bare minimum of thought, I'd consider:
v1.0 should be ready for production use
Major version number changes can completely lose backward compatibility (if necessary - hardly a goal though!)
Minor version number changes should usually be mostly compatible - deprecating is probably better than removing/renaming bits of API
Smaller-than-minor version number changes should only include minor functional additions (if any) and bug/performance fixes
On versioning, I think the absolute best place to start from is Semantic Versioning.
The 0.9 / 1.0 / 1.1 / 1.0.1 / ... version labelling is for marketing purpose only (in the good sense of it). This allows your users/customers to identify if the release is major, minor or bug-fix and whether you consider it mature or not yet.
The minimum to deliver is sources. Other deliverables depend on how you are willing to help your users and provide them support.
Choose a website to host the source on first (SourceForge, for example). Get the source up there on a version control system with anonymous checkout. Get an email address on there for people to contact you.
Call this first version 0.1. This is because you don't have docs yet to support the project.
Then breathe.
Then start looking at documentation, like a wiki. Once you have it all covered, at a basic level of detail, and you believe the release is ready for some primetime, then move to 1.0, and start providing binary downloads.
Make sure you think about the license for the sources.
When I look at an open source project, one of the first things I check is the license. If the license is not GPL2/GPL3/BSD styles or similar, that's a demotivator for me.
The license means what people will do with it, how it can grow, and how much it is owned by the corporate who released it. As by choosing open source I try not to depend on corporations (who depend on their share holders), I really choose to use the software that is really free.
As the open source community is very sensitive to corporate power (Google seems a bit immune to that at the moment), so you really must make sure to deliver the message of truly free on your web site and other materials you release about the software.
See more on free software and open source definitions of the FSF.
Take a look at GitHub or Google Code. they provide a very good starting point for own open source projects. You can describe your project, documentate in a wiki, use git or svn as your repository, and provide downloads together with an issue tracking and multi-developer management. Nice environments out of the box to learn from and to use them.
For release numbers: I don't recommend 0.9 or something like this for pre-releases. The reason? What about release 1.9? Is it the 9th sub-release of the major release 1 or is it the last pre-release of release 2? My release standard is decribed here: http://code.google.com/p/tideland-eas/wiki/ReleaseStandard. I'm using a three-number-scheme, major, minor, and fix, together with a status code, alpha, beta, gamma, and the release date. So I'm able to handle multiple releases in parallel easily.
Hope this helps.
mue