I have been doing freelancing with PHP, Ruby, and mostly open source frameworks for a long time. Now that I have a certain client base, they are giving me regular projects.

I have decided to go in for a full fledged company with several employees, some will be recruited and others are freelancers.

What I'm looking is for a project management software that allows me to manage various projects, like building logos, corporate identity, CMS, and e-commerce.

I'm looking for some advice on open source web interface solution that allows me to:

  1. Collaborate
  2. Time shart, Gannt Chart
  3. Resource Allocation
  4. Issue tracking, bug tracking
  5. Allows the client to login and view the progress of task done
  6. Invoicing
  7. Time tracking

The above list might not be comprehensive, I'm starting at this, please feel free to add more.

I would also like to add that while googling I came across Achievo, Redmine, Project-Open.

Though being a beginner in this, some user opinion will be very helpful.

This might be another topic but useful for someone opening a new company

I also need clients engagement. For some clients I would like them to see the issues they created or see what tasks are pending and what are about to complete. Or should there be a completely separate software to manage customer engagement? I would like to stress on the fact that customer billing and invoicing is not a great issue as there are many other good alternatives available.

Do any of the PM software allows me to define what a particular client can see.

Jira, as mentioned by Hoang Long is good, but it can be overwhelming in terms of price and usability for beginner, but nevertheless it was the most feature rich and complete PM software I came across. Given, you don't lack funds, I guess you should invest time and money in good PM Software for a streamlined business processes in later stages.

  • You should add the italicized text as a comment to the user's answer so that the question block contains your question. This also links your feedback with that users' answer and helps eliminate clutter from the question.
    – jmort253
    Commented Mar 12, 2011 at 18:47
  • There should be a sticky in here for Fogbugz. Joel Spolsky created this website and also Fogbugz. He is a thought leader in this area.
    – RHT
    Commented Oct 21, 2011 at 17:15
  • Interesting to find posts on this. As a web dev company, we tried and failed to find anything that suited our needs. All the apps were either too basic/limited, or they were too overblown with features and complex UI we didn't need. We've since created tasman.io and it's currently in BETA. At this point it's transformed how we work and we're looking to see if other web dev companies find it suitable too. The key point of difference is that it's end-to-end (client>project/budget>task->time>billing/invoice).
    – Quadrant6
    Commented Jul 7, 2017 at 5:57

16 Answers 16


I have used and would recommend JIRA along with Confluence. It's simple to use, and have almost the functions you required. It also allows your customer login, see the progress, create issues and even comment on the tasks.

Or you can take a view on Trac, but this open source software have dispute on difficult setup.

  • Jira and Atlassian are both paid, well I'm not really against paid, but to keep my costs down.
    – Nikhil
    Commented Mar 10, 2011 at 7:42
  • It doesn't cost much for small companies. Also take a look at other Atlassian products: Fisheye, Crucible, Crowd, Bamboo, Bonfire.
    – Sergius
    Commented Sep 15, 2011 at 6:44
  • 1
    I do agree Jira is great for issue-tracking but it gives you nothing/little in terms of project managment / resource managment / time tracking
    – Tommy
    Commented Oct 19, 2011 at 20:00
  • @Tommy: why not? I think that the statistics function that Jira provides is good. Commented Oct 20, 2011 at 7:57
  • JIRA does have time tracking, but it may be disabled by default.
    – jrummell
    Commented Nov 4, 2011 at 14:19

You may not find it all in one solution. I recommend: 37Signals.com suite of tools (BaseCamp for starters) for client engagement and collaboration; find a good web-based billing/invoicing company (references on SmashingMagazine); lastly, reconsider or greatly simplify Gantt charts. Basecamp doesn’t even include them.

Build slowly.

  • I have tried that, they are pretty good. I tried the free version. They even provide branding for paid version which is good. Many other tools, like invoicing system provide integration with basecamp which is good plus. But again to keep costs down, would like to go in for Open Source and also I would like complete branding that would be something like manage.mycompany.com or clients.mycompany.com
    – Nikhil
    Commented Mar 10, 2011 at 7:45

Web developer here and Fogbugz works great for us as it is a bug tracking tool with project management features built specifically for software development. We even use it for support issue tracking with built in email because it has all the features needed for that as well. The EBS (Evidence Based Scheduling) is something to behold, the Fogbugz interface is clean and usable, and it handles all of our time tracking for billing purposes as well. You can also send emails from cases and replies will go back and append the case, and external users can be given a page where they can track the status of things without being logged in (clients).

In short, it does everything you wanted, does it well, is highly usable, is specifically designed for software development, and the newest version even has mobile browser support, highly recommended.


Oh yeah, the install and management for your running it on your own server is easy and I think the pricing might be more ideal than having them host it and pay monthly: http://www.fogcreek.com/fogbugz/for-your-server.html

The Fog Creek Promise:

If you’re not satisfied, for any reason, within 90 days you get a full refund, period, no questions asked. We don’t want your money if you’re not amazingly happy.


You might want to take a look at Jira from Atlassian and its complete set of products for project management.

The starter license for small companies with a small number of users has a negligible price. It can help you get started in having your projects under control and will be equally useful and up-to-the-task if the number of projects and employees in your company increases in the future.


The company I work for, Vertabase, makes project management software that sounds like it would be a good fit.

IN RESPONSE TO YOUR UPDATE Vertabase allows you to control what each client sees. You can set very granular access level controls if you want.

  • Vertabase has some very good list of features, but being proprietary, its very expensive. For couple of years my business may not be even vast enough to utilize it fully. My investment in Vertabase is not justified.
    – Nikhil
    Commented Mar 10, 2011 at 16:11
  • It does cost more than open-source but a lot less than many other tools out there. Customers find it to be a great value---but this is really more the type of stuff for a sales person to talk to, not the place for it here : ) Commented Mar 10, 2011 at 16:37

SmashingMagazine (dot) com/2008/11/13/15-useful-project-management-tools/ is a list of 15 Useful Project Management Tools.

Search the site for more "best of" lists for project management tools, invoicing, and time tracking.

I've found Smashing Magazine to be very usefull for all sorts of web development questions and technique ideas.


I have had a nice experience with Dotproject (http://www.dotproject.net/).

Some of the main contributors started a fork, which looks promising (but that's all I can say about it): Web2project (http://web2project.net/)

  • web3project.net seems to be very interesting, I'll give it a try and let others how good for a new company it can be.
    – Nikhil
    Commented Mar 10, 2011 at 7:58

Other than invoicing, which this site does not incorporate, you may want to look at Unfuddle which handles ticket tracking, milestones, messages, source control (GIT or Subversion), time tracking, and can handle multiple users with different levels of access.

There's a free version you can use, or, as your team gets larger, you can upgrade your account as needed.


I use Redmine for some time now for remote collaboration and project management for my partners and clients. What I love about it is the rather advanced features, inbuilt extensibility and the fact that writing a module for it in ruby really is not that hard.

It lacks on the time tracking and invoicing side but makes up for it with great GANTTs, subprojects and subtasks, inter-project-task-dependencies and more stuff control freaks just drool over. And of course it's free.

I do my time tracking with Time Tracker Mac, and invoices get done in Google Docs.

  • Does redmine includes a feature where client can log in and see the progress of their project. They could just see some major miletstones / tasks and create issues if they wish to. Time tracking and invoicing can be handled by other applications too.
    – Nikhil
    Commented Mar 12, 2011 at 5:26
  • I just saw this redmine.org/projects/redmine/wiki/redminetimetracking It supports Time tracking too.
    – Nikhil
    Commented Mar 12, 2011 at 5:28

It makes no difference whether you know Python or not to use Trac just like it makes no difference whether you know PHP or not to use Wikipedia.

The biggest gap of Trac's implementation is one that only a project participant on multiple projects would see, namely that each project must be in a separate Trac instance. That means you would have no unified view of all issues from all projects. For us, that hasn't been a show-stopper.

We have modified Trac's workflow to model our actual workflow. Our clients get accounts on Trac and we use the ticketing system as a "ball in court" system where we bounce issues back and forth between our team and the client's team until we arrive at resolution.

For example, a client might open a ticket that describes some feature request. Invariably, the client will be looking for an estimate of effort on that feature. By default, all new tickets are assigned to the PM. The PM gets notified by email with a summary of the ticket, logs into Trac, and accepts the ticket. Optionally, he might accept the ticket and assign the ticket. The assigned party might not have information in the ticket to provide an estimate of effort. There might be other critical pieces of information missing so that person will ask questions of the client, set the ticket to "need_info" state and sets the owner of the ticket to the client.

At every state change, Trac will notify the reporter, the owner, and by default, the PM so everyone who needs to know is kept informed. Additionally, we have the option of cc:ing others on the ticket, which we sometimes do as necessary.

The client answers the questions, sets the ticket to "info_provided" state and sets the owner back to the party who had bounced it over them. Assuming we don't have to do another round of Q&A, the owner will comment on the ticket and estimate the effort, set the ticket to "needs_approval" and set the owner to the client.

If the client has enough information to make a decision and they want us to implement this new feature, they set the ticket to "approved" and bounce it back to us. If they don't want to proceed, they can close the ticket.

If we're ready to start working on that ticket, the team member who will be implementing the feature will set the ticket to "work_in_progress". That gives the client an indication that this issue didn't just disappear into a black hole.

When the developer has finished, he'll set the ticket to "ready_for_qa" and set the owner to someone on our QA team. The QA person can either bounce it back to the developer as "needs_work" with comments or bounce it over to the client as "ready_for_user_acceptance". Again, the client can bounce it back as "needs_work" and explain why or they can accept by closing the ticket.

We use Trac's milestones roughly as SCRUM cycles. We split each month into the first half and second half so we have two cycles per month. We two special milestones: "Not Scheduled" and "Special Projects". I wanted to explicitly see "Not Scheduled" to emphasize the fact that the ticket is in the backlog so we created "Not Scheduled". "Special Projects" are bigger projects for which we don't have funding yet but we'll eventually get to once we do.

Trac's excellent reporting makes it easy for project participants to know who is responsible for what at any given time and gives everyone an idea of the progress (or lack thereof) in the project.

Trac's wiki is quite good. we use it for project documentation. The wiki syntax is quite simple and can be used everywhere. We have Trac integrated with Subversion and Mercurial so we can reference the changeset in the ticket and in the commit log, reference the ticket in order to have that audit trail.

We use PostgreSQL behind Trac so the occasional time we have to do mass changes on tickets, such moving a bunch of tickets from one milestone to another, it's very easy to do it in the back-end. The data model isn't very complicated so it's easy to figure it out.


If you are delivering source code to your client at some point, and as a web developer I'll assume you are, then Github may offer most of what you're looking for. It'll help you with #1, #3, #4, and #5 on your requirements list.

Github features include an issue tracker, wiki, software configuration management (Git), code review tools, and the really awesome network graph visualizer.

Github also allows you to either make projects public or keep them private.

The only downside to Github is the lack of forecasting capability to help clients and team members understand when the project will be completed. However, you can use other tools to help estimate remaining time on a project.

For relatively small teams, the network graph visualizer is a powerful tool that can be used to help synchronize and prioritize the work of team members, which can help prevent rework and bugs. It also provides a loose timeline view of the project, although probably not quite enough to meet requirement #2.

  • I like Trac a lot too. I noticed that someone mentioned it in another answer. To me, both Github ad Trac are powerful tools because they help to integrate scm, project management, and project documentation. The weakness of MS Project and other stand alone project management tools is that tasks can't be easily linked to actual project artifacts like source code or documentation. Commented Oct 14, 2011 at 4:31

It hasn't been mentioned yet, so I'll throw it in the ring - my (albeit small) team are very happy using Unfuddle www.unfuddle.com - it is a software dev management tool with tickets, built in Subversion repository, milestone tracking, and general collaboration area. It's pretty cheap too. We really like the way you can link tickets to commits by simply adding in the ticket number into the commit notes - and it's become the defacto way we document our code now - including the ticket number that can be cross-referenced easily.


If you are familiar with python and comfortable with open source, I would definitely recommend trac. It's a lightweight, flexible project tracking tool that I have used successfully for years. Out of the box it provides a minimal core set of functions:

  • wiki
  • milestone tracking
  • bug & feature request tracking
  • customizable ticket workflow
  • fine-grained access control
  • Intertrac and interwiki links

Trac uses a wiki as its core - wiki markup is allowed practically everywhere. With a little familiarization its easy to link from software changes, tickets, miletones, blog entries and "regular" wiki pages.

Trac is open source & easy to extend with plugins. You can find plenty at Trac Hacks. Some good ones that apply to your situation:

invoicing would remain a major gap, but trac provides a lot of capability at my favorite price.

  • Trac is easy to start with. It's free and very flexible. You can always move to a commercial tool later on when you have a better understanding of your requirements. Many tools have built-in import from Trac, e.g. Jira.
    – Henrik
    Commented May 13, 2011 at 10:33
  • Is it hard to use if you are unfamiliar with python? It's been said that another gap of trac is implementation.. is this true?
    – apacay
    Commented May 13, 2011 at 20:18

If you're willing to pay for a commercial tool, my team is using VersionOne to good effect. We also looked at RallyDev. It was pretty close and VersionOne just seemed like it fit our process better. Both fine tools.


There are several good project management solutions on the Google Apps Marketplace

Many are free and can be upgraded to paid versions with more features. I've tried three of these apps:

Mavenlink - this is a very comprehensive project management app that supports collaboration with colleagues and clients alike. Good task and milestone management and invoicing capabilities.

Paymo - it's best features are the time tracking and invoicing and estimates. Not as comprehensive as Mavenlink. The UI isn't that great. Its good for small projects.

Harvest - this is ok too but is more for just time tracking.


As I couldn't see it already mentioned. I've started using agilesoup

for the limited usage I've had its been perfect, it does also offer reporting on iterations and time spent

And a pretty handy android app.

http://www.agilesoup.com/ I think the only point I haven't found a solution to is the invoicing elem

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