This post documents my experience submitting a bug report to the Firefox OS project. The bug resides here. Hopefully it’s not a duplicate (I searched for a while), and hopefully it will benefit the project in the long run.
I found the bug while messing around with the Contact API. When an application wishes to use the Contact API, the system will present a user with a prompt. The user can choose to deny or allow the application access to the API. The prompt looks like the one below.

I unchecked the “Remember my choice” option, pressed “Deny”, and nothing happened. Not the gravest bug, but a bug nonetheless.
Now, I needed to create discrete steps the Firefox OS developers could take to reproduce the bug. What I described above is pretty good, but it could be more concise and clearer.
First of all, the app that I was testing contained 300 lines of javascript and had some semi complex UI interaction. The developers should not have to search through all of that to find the single line that causes the bug. I created a much smaller application (source here) that the developers could test.
Then, I created the following steps to reproduce the bug
Which is more concise and much clearer than the paragraph I had before. I was ready to submit the bug report.
Mozilla uses their own bug management system, called Bugzilla. Submitting a bug is relatively simple, and the system gives you suggestions for other bugs that might be duplicates. Of course, the suggestions are naive and I took the time to search for similar bugs using any other keyword I could think of.
The system asks the three main questions any bug report should answer
The system then takes the answers to these questions and automatically formats the report. It also accepts attachments and provides a link to documentation on how to write bug reports. The process was relatively painless and simple.
Well, the bug will get marked as either a duplicate or new, which means that the bug is confirmed by a developer. Should the bug get confirmed, the developer will mark the severity of the bug, i.e. put on the backlog or fixed before the release, etc.
If the developers deem the bug an easy fix, they will assign a mentor. Mentored bugs are a great opportunity for community members to get involved in the project. I believe this system creates a really strong welcoming atmosphere. There’s a nice little website called Bugs Ahoy! that contains a list of mentored bugs.
The biggest concern in my mind is that the bug could have already been fixed in one of the latest developmental snapshots. I did not get a chance to test the bug in a development release of Firefox OS (for numerous reasons).