Mozilla Awards $585k to Nine Open Source Projects
blog.mozilla.org
blog.mozilla.org
The other projects awarded are:
Tor - https://www.torproject.org/ Tor is a system for using a distributed network to communicate anonymously and without being tracked.
Tails - https://tails.boum.org/ (" secure-by-default live operating system that aims at preserving the user’s privacy and anonymity. ")
Caddy - https://caddyserver.com/ Caddy is an HTTP/2 web server that uses HTTPS automatically and by default via Let’s Encrypt
Mio - https://github.com/carllerche/mio Mio is an asynchronous I/O library written in Rust.
Dnssec - https://www.getdnsapi.net/ This project is standardizing and implementing a new TLS extension for transport of a serialized DNSSEC record set
Godot Engine - http://www.godotengine.org/ Godot is a high-performance multi-platform game engine which can deploy to HTML5.
Pears - http://pearsearch.org/ PeARS (Peer-to-peer Agent for Reciprocated Search) is a lightweight, distributed web search engine which runs in an individual’s browser and indexes the pages they visit in a privacy-respecting way.
Nvda - http://www.nvaccess.org/ NonVisual Desktop Access (NVDA) is a free, open source screen reader for Microsoft Windows
Edit: added project descriptions from
https://blog.mozilla.org/blog/2016/06/22/mozilla-awards-3850...
Also, moderators changed the title to the one in the article (original submission mentioned PyPy only).
The goal of the Mio work is, in part, to implement a higher level, future based API on top of Mio. The award has been amazingly helpful to allow me to focus on getting it done.
I actually announced Tokio on Wednesday, which is the result of this work:
Announcement: https://medium.com/@carllerche/announcing-tokio-df6bb4ddb34 Code: https://github.com/tokio-rs/tokio
I think the work is headed in a good direction. I introduced a `Service` trait similar to Finagle to make working with services easier. I also provide a new streamlined way to write non-blocking IO services. The blog post describes this in more detail.
I'll be around if there are any questions about Mio & Tokio.
Each add-on increases the surface attack area. I only wish a better lynx
Servo is very similar in useability to lynx right now, if grandparent is interested in trying it out.
> Not only does Phoenix aim to match the featureset of Mozilla -- subtracting features deemed geeky and better offered as add-ons -- but it extends it. For example, it adds customizable toolbars and quicksearch in bookmarks and history. It will soon offer an add-on manager, a better wallet, and a new downloads sidebar pane.
http://website-archive.mozilla.org/www.mozilla.org/firefox_r...
Still didn't ever complete the suite, though; Thunderbird tackled email, Sunbird handled contacts. Good thing, too; Seamonkey was a pig on my pentium 133 w/32MB RAM. Played quake fine, but just couldn't handle Seamonkey. Phoenix got me extra life out of my ancient hardware.
Now I wonder if it would be worth making something similar in XUL...
however, merging Torbrowser is something I can support; everyone automatically gets a privacy upgrade, and the web stays open as a result.
$585,000 comes out to 0.1778116% (almost two tenths of one percent) of Mozilla's 2015 revenue of $329,000,000.
As an avid Firefox user since 2007, upon learning a few years ago how much revenue Mozilla takes in, I've always wondered where the hundreds of millions of dollars are spent... I was talking with a colleague about Servo, and was saying, "If they spent allocated 5% of that revenue on Servo, they could hire 70 developers year round at $235,000 each to work on Servo full time, year-round."
They also help with web standards, documentation, legal battles, and advocacy.
https://static.mozilla.com/moco/en-US/pdf/Mozilla_Audited_Fi...
They work on Rust and Servo (among other things.)
[1] https://static.mozilla.com/moco/en-US/pdf/Mozilla_Audited_Fi...
Firefox is a shipping product and Servo is a research project.
Components from Servo are making their way to Firefox as both sides are ready, and parts of Firefox are being written/re-written in Rust as well:
https://wiki.mozilla.org/Oxidation
So over time it's certainly possible that more engineers will be allocated to Rust/Servo related projects, as they make their way into shipping products.
Edit: I know they are from Ads and searches, but i never quite grasps the economics behind it.
If you want to do this on your own I guess you'd have to make deals with the search companies? I don't think folks will automatically start paying you :)
This is great. I sincerely hope the PyPy developers see the light soon and start focusing on Python 3.x support, and that this money can help get it done. Haven't written a Python 2 app for something like 4 years? Python 3 is mature now.
I also sincerely hope that this portends Firefox bundling a Python runtime with the browser, providing a DOM API, and letting sites provide client-side scripts in Python. JavaScript has been allowed to reign for much too long.
I don't think the lack of Python 3 support was reflective of a value judgment about Python 3, so much as that most of the companies willing to fund PyPy development so far are still on Python 2, and were more interested in funding other kinds of work (performance, numpy, cpython extension compatibility, etc.)
> I also sincerely hope that this portends Firefox bundling a Python runtime with the browser, providing a DOM API, and letting sites provide client-side scripts in Python. JavaScript has been allowed to reign for much too long.
This strikes me as extremely unlikely. There's zero appetite for introducing non-standard language runtimes into browsers these days as far as I can tell. But I guess you never know.
Anyway, WebAssembly [0][1] is coming through the pipeline with the goal of opening a common browser runtime to more languages. Instead of Mozilla incorporating a Python runtime into Firefox, a Python runtime will eventually be able to target WebAssembly. For Python specifically, the work in progess on builtin GC support should help a lot [2].
As for the donation to PyPy, Mozilla uses Python heavily in internal tooling so I imagine that's part of the motivation.
[0] https://webassembly.github.io/
So I'm not sure it will be something you will want to use in a lot of places.
Not going to happen. Web Assembly is the one "alternate runtime" (which isn't really an alternate runtime) that is ever going to exist.
I expect WebASM to eventually get DOM bindings. At that point you'll compile your Python into WebASM.
https://github.com/WebAssembly/design/blob/master/GC.md
Interoperability with GC systems is a prerequisite and will come down the road from the initial ("MVP") release.
Companies that use open source software as well as create it should lobby the government for funding open source as well. This would include Google, IBM, Redhat, Microsoft, Facebook....
501(c)3 charitable ("non-profit") organizations are not permitted to lobby the government.
> generally seen as organizations doing good by their very definition
This isn't true at all. They just don't pass profits to shareholders.
"The exempt purposes set forth in section 501(c)(3) are charitable, religious, educational, scientific, literary, testing for public safety, fostering national or international amateur sports competition, and preventing cruelty to children or animals. The term charitable is used in its generally accepted legal sense and includes relief of the poor, the distressed, or the underprivileged; advancement of religion; advancement of education or science; erecting or maintaining public buildings, monuments, or works; lessening the burdens of government; lessening neighborhood tensions; eliminating prejudice and discrimination; defending human and civil rights secured by law; and combating community deterioration and juvenile delinquency."
https://www.irs.gov/charities-non-profits/charitable-organiz...
Non-profits (including some tax exempt non-profits) may lobby, but charities are more restricted [0]. Note that charities -- 501(c)(3) organizations -- are not just tax exempt, but donations to them are tax deductible to the donors, which amounts to a public subsidy of donations that increases (due to progressive marginal income tax rates) with the income of the donor.
[0] But they may still lobby...as noted in the IRS page referenced upthread, charities "may engage in some lobbying", but lobbying can't be a "substantial part of its activities".
EFF I guess gets around it by being a lawsuit focused organization more? https://www.eff.org/about
Many of the open source projects mentioned already have a pretty strong vested financial interest behind them. They are no longer true open source projects.
I think it's natural for popular open source projects to eventually turn into businesses but I think there is a point where they really shouldn't be considered 'open source' any more and Mozilla is definitely one of them.
I think the word you're having more of an issue with isn't 'open source', but defining what exactly a 'project' is vs. a business. On that latter point, I would agree with you that a project doesn't seem as much of a 'project' when most of the core people are employed to work on it towards specific goals the funders have designated.
As long as the source is open under a permissive licence they are open source.
If someone has figured out a way to make a profit model around it - I would say, that is a bonus as it entails support for a long time and guarantees end-user-valuable goals driving the project.
I think the consumers of the open source software must be responsible to ensure financial health of those projects and not tax payers. Simply because in such cases more useful projects would thrive where as bad projects would die out quickly.
The last thing I want to hear is that Mozila called Bill Clinton for a lecture paid him $1M and later Hillary gave a grant of $100M of my money to Mozilla. That is how governments works.
A NP Hospital uses its excess funds to provide free services to those who cannot afford healthcare and does community outreach and eduction.
Mozilla uses its money to supports other OSS projects, advocates for OSS.
(This is a very simple explanation with many details of how NP's operate ignored, or the various legal types of NP's.)
Co-op is about ownership (and the seven principles, but legally I think chiefly about ownership), whereas I don't think non-profit status is, for the most part.
http://download.cnet.com/blog/download-blog/whats-firefox-wo...
I understand it is not cheap to hire developers but it just seems really weird that the Mozilla foundation has had over a billion dollars flow through it and all they have to show for it is a web browser (and other software).
They just seem to be not very good at it, because from 40 -> 50 - memory usage is much worse than previous versions (Yes, I know switching to the MP model has to do with it, but if your architectural changes hurt usability for security I consider that quite poor), the developer tools are still trash, and performance is still worse than chrome.
I quite like the Firefox devtools, but you may be happy to know that brand-new, rewritten devtools are currently coming down the pipeline.
There's also WebReplay, a time-traveling debugger for JS and the rest of the browser, which is a bit longer off but is absolutely amazing (I've seen a demonstration): https://developer.mozilla.org/en-US/docs/Mozilla/Projects/We...
Since you consider that "quite poor", can you share your proposed method for doing multiprocess without regressing memory usage?
Basically, there are limits to what a non profit can do and still be a non profit (keeping a larger cash reserve is one of them iirc) Legally keeping the revenue generating business seperate (and having that revenue feed back to the nonprofit) as a for-profit, taxed organization, is useful.
It seems to be a common pattern. Googling "501(c)(3) for profit subsidiary" gives a bunch of links explaining the reasons why many choose to do this.
P.S. And they should consider changing the project name.
I decided to try it out this week to make a (3D!) game, and I've been consistently surprised by how pleasant an experience it has been. The community's been helpful when I've had problems, too.
Isn't that both being a good FOSS citizen as well as an efficient organization? :)
Anyhow, as they say in the release, the track through which PyPy was funded is for technologies Mozilla already uses. They're big Python users on the web services side (e.g., the Mozilla add-ons site is a Django app if I recall correctly), so this is an investment in improving the performance of their existing apps.
[0]: https://github.com/rust-lang/rust/tree/b30eff7ba72a78e31acd6...
[1]: https://github.com/rust-lang/rust/blob/b30eff7ba72a78e31acd6...
There we go. Makes a ton of sense and was one of my options.
There is only one Python file: https://github.com/rust-lang/rust/blob/master/src/bootstrap/...
Its job is to download the previous Rust release (beta for master, stable for beta and previous stable for current stable), including Cargo, build the build system with Cargo and start it.
The build system then builds native dependencies (LLVM) and runs Cargo several times for different components.
edit: What I mean is that even as someone who no longer uses Python or PyPy, I see the value in a project like PyPy.js emitting web assembly. It seem like a great goal for lang.js projects in general, hopefully Opal, and Clojurescript will do the same.
Interesting, but I'm not sure that's the ideal approach.
It looks like WebAssembly is going to be a much easier lift:
> Hopefully we can get initial support almost-for-free by just asking emscripten to spit out the new format.
https://github.com/pypyjs/pypyjs/issues/145#issuecomment-113...
and we even dog food the product ourselves https://baqqer.com/projects/baqqer
I see a lot of founders who don't include community through every step of building product, so they have a hard time with distribution and finding reception of their products at launch. We're getting people to understand that without tons of unicorn money it's essential to build an organic following by including their communities in the feedback loop early and often -- simply building alone is itself not enough. :)