Hacker News new | past | comments | ask | show | jobs | submit login
Code Firefox (codefirefox.com)
540 points by robin_reala on Nov 18, 2013 | hide | past | favorite | 84 comments



I love contributing to Mozilla. I contributed to a bunch of projects in the past years, including Chromium (a very friendly bunch BTW), but Mozilla makes me feel like I'm a real part of this, not just some guy sending a patch.

- Literally everything they do is in the open, volunteers can participate a lot if they want to, even start new projects. (~50% of their employees remote, I guess that helps a lot here.)

- They're mentoring people new to a project really well - I love this even though I prefer to just dive into the code myself.

- They call you a "Mozillian", send you foundation/company/product updates, invite you to Mozilla Summit (I was there this year, and it was amazing) etc.

- Mozilla is not profit oriented, they just care about their mission: Moving the web forward and keeping it open. Makes me feel like part of a good cause, as opposed to unpaid labour.

All in all, they really got this figured out. I can recommend them to anyone who wants to contribute to something big/important.


> Mozilla is not profit oriented, they just care about their mission: Moving the web forward and keeping it open.

This was my experience with them ever since Firefox 1.0 came out in 2004 to liberate us from Internet Explorer. They really care about open Internet, user rights and privacy. And they stayed true to those ideals all these years. Something you can't say about many big name companies on the net today. In fact, I consider them a fair replacement for the early Google that we've lost to the forces of evil :)


I cannot recommend the mentoring aspect enough. I contributed my first patch earlier this year and having contact with someone on the project to review my code and give me suggestions was a huge help to getting my patch accepted. It also helped me understand the code base better than if I had to make and test my own assumptions wrt design decisions and the like.

I highly recommend contributing to Firefox as well. It's a very cool system.


I've been running the Mozilla nightly(and Chrome Canary) for a few years now. If there are enough alpha/beta testers, it will help the developers move more quickly. Every 6 weeks half the Internet gets a browser upgrade. Helping out requires nothing more than surfing the web.

http://nightly.mozilla.org/


Maybe I should fire a Nightly channel up in the PortableApps.com Platform alongside Stable and Beta for Firefox like we do for Chrome (Stable, Beta, Dev). I'd need to write a custom installer to pull it down, but I still have a mostly functional one from the old process.


I'm going to look into it too.

End of the year I'm going to quit my day job and wanted to do some open source stuff, to improve my skills. After all I heared, Mozilla seems a good start :)


This comment is pushing me over to try firefox as my primary browser. I'd love to see Firefox stay slick like Chrome. It's the development curve of Chrome that has kept me attached to it. Some useful features like managed search engines with shortcut are really neat in Chrome. I'm sure Firefox has them too. Sooner than later I plan on switching to Firefox.


I'm not sure if this is what you're looking for, but Firefox keyword searches let you bookmark any website's search page and then invoke it from the address bar with a keyword:

http://kb.mozillazine.org/Using_keyword_searches

For example, if you bookmark "http://en.wikipedia.org/wiki/Special:Search?search=%s" with a keyword of "w", then enter "w whatever" will directly load "http://en.wikipedia.org/wiki/Special:Search?search=whatever".


If Firefox hasn't had this since its inception, it's at least been available for the vast majority of its lifespan. Don't remember a time when I haven't used this feature (and I've been using Firefox for a longggg time). Really interesting to see someone mention a feature in Chrome as a benefit over Firefox when Firefox had it first.

I hope more people switch (back), and in turn, more people contribute.


I was almost sure Firefox had it. It's just that I switched to chrome a few years back because it was way lighter than Firefox 'at that time'. However, right now it's just inertia that's keeping me with Chrome. Still waiting for a killer feature that'll make Firefox a must have.


do they have anything that an inexperienced person can contribute too? i'd love to get involved but don't know if i am experienced enough.


"Bugs Ahoy" is a Bugzilla search page that lets you filter Firefox bugs that have mentor contact info by programming language and feature area:

http://www.joshmatthews.net/bugsahoy/


Jump in at #introductions at Mozilla channel on irc. There is always something that you can contribute with, and you will learn too!


It's actually #introduction (no plural), but yes, we are a friendly bunch!


Out of all the "big" tech companies, Mozilla is really the only one I've ever wanted to work for!


This is very welcoming sort of page. Good job!

Compare this to most open source projects of this scale, where you will have people just tell you "to look it up in the wiki".

This wiki, if you're lucky enough to find it and find the right article, then often only has a 50% chance of being up to date and therefore missing some crucial information, causing you to spend days getting your build-setup still not working.

Before you even get to contributing, you're already meeting roadblocks on roadblocks and a dismissive attitude to your offer for help.

This on the contrary, looks very inviting. Kudos to Mozilla :)


It really is. This gives me the warm fuzzies. If every free/open source project were like this (ok, ok, like this appears to be) then we would be rolling in riches. I can't count the number of times I've seen a bug in some software and thought "I bet I could solve that!" And I probably could, because I'm not a bad programmer. But the barrier to entry is like the north face of the Eiger sometimes. This turns it into an on-ramp with friendly road signs and a cafe halfway up that serves really good coffee. Bravo, Mozilla!


It would help to have the steps described in text next to the videos as well. Not only because some steps can be boring to watch for some people, but it would also help to be able to copy-paste URLs and command line options and so on.



I totally agree; but you can speed the videos up to make the tutorials drag less.

If you enable the html5 player on youtube, you can watch videos at 1.5x or 2x speed. Go to YT, log in, scroll to the bottom, click 'Try something new!' and choose the html5 player.


Agreed the plan is to use popcorn.js to do this, I'll also be adding transcripts.


"Setting up a Windows build environment"

... what? Why would they only support Windows? Why would they even suggest Windows? Why at least not offer information on Linux, where I'm sure a large percentage of folks are contributing from? It is a FOSS project. You should develop it with FOSS software, such as Linux.


Until Brian has produced videos for Mac and Linux setup too, you can find written instructions here:

https://developer.mozilla.org/en-US/docs/Simple_Firefox_buil...

Setting up a Firefox development environment on Linux or Mac is actually quite a bit easier than on Windows. (For example, in most Linux distributions, you just need to check out the source code and then run "./mach bootstrap" to install the full set of tools and dependencies.)


Obviously there's a slip up with at least not including placeholder/unavailable topics for Linux. That said...

Maybe the reason so many contributors to most FOSS projects are developing at Linux is partly because so many FOSS projects are so goddamn hard to get into from a Windows environment. I know that most Windows build instructions for the projects that I've been interested in have been an absolute nightmare. Wrangling standard make instructions into something that Visual Studio will play nice with is a challenge that will turn off a lot of potential contributors.

By explicitly helping Windows users to pitch in on Firefox development, they are potentially capturing a set relatively untapped helpers. I feel that contributions to a FOSS project should be judged on their individual merits, not on the OS/environment it was developed in.

And because this it HN, I'm going to preempt any comments about 'how about patches derived from slave (or slave-like) labor?' with, well obviously those are bad, but in no way is developing Firefox (of all things) on Windows unmoral in any way. I mean, if you'll happily let Window's users use your free and open source software, then you have no reason to deny their contributions because they use Windows.


There are at least a couple dozen unavailable videos not yet posted. This is not a slip up, but a work in progress. The site is very new and the outline is not even fully posted yet. That being said, I just updated the outline with OS X and Ubuntu planned videos.


Other platforms are coming.


I am annoyed by this, too. There is no reason to recommend a nonfree operating system for developing free software.


There is no recommendation.


> ... what? Why would they only support Windows? Why would they even suggest Windows?

The vast majority of users run Windows, so making Firefox work better on Windows has an outsized impact. Of course, all help on any platform is very much appreciated :)



Wow this is great work! When I was working on my first patch I actually looked for video tutorials on this but came up short. The text tutorials are quite extensive but you tend to miss a thing or two (in my case, I struggled with the qnew feature of the SCM, forgot to tag the reviewer in the commit, and even worked on some files I didn't need to).

I struggle a bit to find parts of the software I can work with, and I suspect that's because I only have a 40 000ft view of the project, rather than a part-by-part exploration of how things are connected. There's a lot of code in there to read through. Unlike the MVC web applications I'm familiar with, I don't understand where to put what code to change something, how to write a test, or sometimes how to test things like crash conditions that should trigger new exception handlers I put in.

This is an awesome start, but to get closer to the goal of a large number of developers contributing meaningful work on the project there's more to be done by the people who can explain the project in better detail. Perhaps this is an opportunity for an online "learn to program" course?


The people at Firefox are absolutely great help. Those of you who have time on your hands, please do contribute to making an already awesome browser, even better.


Former Mozilla intern here. I started contributing to the codebase since a few weeks ago. There are good bugs to find and I can tell you from person experience that contributing to large open source project like Firefox is satisfying. Though contribution is no brainier: it's difficult because there are things you can't understand. A lot of classes are not documented and you literally have to read multiple files to just grasp 1% of what that class does... hopefully we can do better on that part. But IRC is useful most of the time (to get a quick answer), espeically #security, #mozwebqa and #extensions. I am still waiting for review and landing my patch...

If you want to do some testing not direct firefox development, consider #mozwebqa.


Would like to see a guide on setting up things in Linux also


I'll be doing extra videos for Linux and OSX too, and eventually Firefox OS too.


Thanks, when trying to set up a build environment for FF on Mac OS X I nearly gave up a couple of times! Videos would have really helped, rather than a recursively complex set of wikis (Which was my recollection of what the docs were like - may be wrong/out of date.)


waiting for Linux as well.



Me too. I was trying to get it set up on linux a while ago but ran into some trouble.


This is great, but why does everything have to be a video these days? Whatever happened to just text + screenshots (if appropriate)

It's so much faster than a video.


If you prefer text, you can use the official getting started guide here:

https://developer.mozilla.org/en-US/docs/Introduction


"I'm blessed with a loving wife and 3 amazing sons."

What's the deal with this? I've read it in many résumés...


I guess that is an important part of his self-identification,a person is proud of being a family man and wants to share it with the world. Alternatively this may be a signal for recruiters that a person is not willing to do a lot of overtime.


Yep, this is my site and I'm just trying to give a glimpse into who I am. It isn't related to the site but sometime it's nice to hear a tad bit about the person you're listening to if you want to.


Maybe I'm just not used to it. :D

It feels to me like these american show masters, who get on stage and greet the people with a "hello, how are you doing" but since he's asking the whole audience, no one answers.


It took me years to get used to people going "how are you doing?" and just walking straight past me. To me, it seemed exceptionally rude - I'd stop, and start answering the question, but the person had just walked on. It took a while to realise that in some places it is just a greeting, and much longer to not have to consciously remind myself about that...


Yeah, English is full of weird idioms that don't mean what they mean.


"this may be a signal for recruiters that a person is not willing to do a lot of overtime."

well played :D


Whenever I see something like "I'm blessed with a loving wife and 3 amazing sons."

I always want to add "and one average son..."


Be a bit sexist and make the average one a daughter.


It's easy to forget that all this cool content on the Internet is made by people, isn't it?


If it's not a resume, it belongs. (Personal programming website) If it is a resume, it doesn't. Recruiters don't like it because it then puts them on the defensive for age discrimination issues.


Commenting on the wrong article? This is the article on contributing code to firefox :)


This quote is from the about section of the website.


Ah fair enough, hadn't noticed. Yes, it does seem a little unnecessary + irrelevant.


It's an about section by the author who was selfless and benevolent enough to make the site. How is that "unnecessary + irrelevant" when it's specifically about them?

I find it bizarre and disconcerting that this thread (questioning that comment) even exists. Had he said that he was an avid cook, surfer or music enthusiast, would anyone actually dare to call it into question?


I don't mean to be overly judgmental or ungrateful for his great work, it just seems very out of character with the rest of the site which seems focused on the technical stuff.

I don't mean to be judgmental in that horrible anonymous internet fashion, so apologies to the site creator if he happens to read that and think I am being attacking in some way - not intended.

I guess part of it for me (as a typical Englishman) is reading so many overly-emotional pieces in seemingly out of context places in articles all over and perhaps reacting partly due to that.


No offense taken :)

The information in question though, is buried in the about page, as the last category, with a title of Personal Information. If the information in a category is not interesting, just read the title and keep going.


Yeah, I have to say I feel like a bit of a dick right now. Sorry man.

I love what you're trying to do with this page. Helping get people involved in open source projects rocks, so apologies for the spot-on 4chan impression of a typer HN user I am doing!

I think I glossed over it a bit and had a 'cached' reaction the same way I do when I read something overly sentimental that is literally placed in the middle of an unrelated post, which you are clearly not doing.

My hair is not a bird. My argument is invalid.


Civil discourse on HN! A sincere "sorry" that is not a no-apology apology! Maybe this place has a chance....


This kind of comments I would really like to see more often on HN.


No worries, and thanks!


This is pretty awesome. Though I'll probably never code dekstop apps, something like this for Addons would def. trigger a coding spur.


You'd be surprise a large portion is done in javascript in firefox and many don't require deep browser knowledge like how the transport layer works or working with the DOM. Some are style issues, some are correcting RFC specs. I am fixing two extremely trivial minor CSP issues given I have read the spec and done CSP related things.

Don't be discouraged.


Is there a way to "bump" bug reports responsibly? For example, the proposal for persistent app-tabs (https://bugzilla.mozilla.org/show_bug.cgi?id=551849) seems to have stalled and the original creator now works for Google.


This is a relatively very new bug in Mozilla world it seems. :)

See this for example, a 12.5 years old Firefox bug. https://bugzilla.mozilla.org/show_bug.cgi?id=78414 Almost all major browsers suffered from this at a time, but the rest of them fixed it. The only important update they've done so far about this bug is to block unhappy users to even comment on it ;)


I am fully aware of the issues with Mozilla's bug tracker, that's why I asked if there was a proper way.

For your bug, there's a proof of concept patch https://bugzilla.mozilla.org/show_bug.cgi?id=78414#c657


Yeah, people have historically added patches, but all of them have been rejected so far for one or the other reason. They are not even willing to add an about:config workaround for that. Anyway, I'm sidetracking a lot from the subject :).


Restricting comments so the 405 developers don't get spammed "me too", "please fix this ASAP", etc is a good thing. Bug report comments are not the place to add such things. Votes were implemented for that.


Absolutely certainly, the voting system isn't working - and the biggest evidence of that is this bug's life span. If it had any effect at all, a vast majority of all of their (human) resources would be devoted to fixing this, since it has one of the greatest number of votes. And that is exactly the point of frustration of most of the people commenting there. I understand the "people work voluntary" reasoning, but you can't use that reason all the time.

A better way to fix comments is always to have a vote up/vote down system, rather than disabling it altogether. The website already allows to selectively unsubscribe from emails for each bug for those who don't want.


bugzilla is not a public forum. There are public forums for those types of discussions. Bugzilla (and similar) is for bug reports, analysis, patches, and constructive discussion. There's no need for an up/down vote system to deal with comments that shouldn't be there in the first place. They add absolutely nothing to the developer discussion in working on a bug. Any posts of that nature should always be removed/banned in a bugtracker so developers and proper testers can get their work done.


The problem is that the people in the know don't browse the forums where people need to know! [1]

What do we do about bugs that sit there for a very long time? They're clearly not good for the developers or the community at large.

[1]: https://news.ycombinator.com/item?id=6712687


There are lots of choices. You can learn how to develop a patch yourself or organize people to do it. You can pay someone to develop a patch for you. You can fork the product yourself or organize people to do it. You can pay someone to fork the product for you. You can switch to another product. Or you can live with it. Those are the only choices.

Using a piece of free software doesn't give any user the right to a developer's time or bandwidth. The bug tracking software is there to assist the developers in cataloging and responding to bugs. It isn't a public forum or discussion. Some projects have such forums. Some do not.

Developers have different priorities than users. Maybe there isn't enough developer interest to fix a bug or add a new feature. Maybe developers are busy fixing other more important issues. Maybe developers are unpaid and busy with their lives. Just because it matters to a user, or even a lot of users, doesn't mean that it does, or should, matter to developers.

Many developers of free software get sick of dealing with users when there aren't clear protocols and respect involved. Pidgin's developers famously stopped paying any attention to their public forums for a while due issues like that a while back. Interestingly, it's been shown many times that free software users (that's free with a lowercase f as in no cost) are the most demanding and entitled users. They're more trouble to support on average than paying customers. Paying customers are more likely to either suck it up and deal with an issue or politely ask for a bug fix. The thinking is that they value the software (and, thus, the developer) more having paid for it. Open source users that value the concept of open source are a bit different. But many users of open source software don't care about that aspect of it... just the no cost aspect. So, open source developers have to deal with those free users as well.

Just look at that bugzilla bug:

"Seriously, this bug was reported in 2001! What a joke, will this ever be resolved? Is there any point to bugzilla at all?"

"WTF!? FF3 shouldn't be released until this is fixed, how hard can this be?"

"I am amazed that this bug has been allowed to hang around since 2001! I'm not going to hold my breath for a fix anytime soon..."

"Serously? Not enough time? You've had what, almost a decade? Please."

"Looks like the programmers behind Firefox are lazy, possibly bad coders, and don't care about the customer base. Fantastic. This is great reason of motivation to try other browsers such as Opera or Chrome, although I don't use either currently."

And then lots of me toos, plenty of reddit spam, circular discussion from non-developers, conversations about browser replacing operating systems, ALL CAPS YELLING ABOUT HOW CRITICAL SOMETHING IS, etc

Burnout amongst free software developers in the face of entitled users who feel like they are owed what they want (and demand it, often with little respect for the developer) is a very real thing in open source and free (lowercase f) software. It doesn't get talked about enough, which is a shame. I've lost developers over it more than once. And nearly quit projects because of it.


The best way to call attention to an inactive bug is to email the dev-platform mailing list:

https://lists.mozilla.org/listinfo/dev-platform


Thanks, how did you find out this was the right place?


Working at Mozilla for a while helps :)


This is awesome, and I wish more projects would do it.

Unfortunately I can't work on firefox at this point, but this is still awesome.


I'm an avid FF user, and also a (relatively) proficient programmer, with skills in python c++ and a little javascript, but I'm terrified of getting involved with something this size. I have no idea where to even begin trying to help!


We've got lists of recommended contributions for newcomers, and they come with a mentor attached as well: http://www.joshmatthews.net/bugsahoy/


pulling the code right now!


Very nice. I wrote/maintained some of the predecessors to this while I was at Mozilla (https://wiki.mozilla.org/JavaScript:New_to_SpiderMonkey and https://developer.mozilla.org/en-US/docs/Introduction), and I love the video format.

Getting started with Firefox is pretty difficult, and its good that more folks are putting effort into it. Good job!


+1 for whoever's idea this was. We need more guides like this that ask that answer the basic questions on just dev process and work flows. Let's make it easier for people to contribute!


There are only two things I would ever like to contribute to Firefox: revert changes to the UI made with 4 and after; use libavcodec for video and audio decoding.

I'm sure both are way out of my league.


This is great!

I think switching to Github would increase the rate of contributions significantly though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: