Mozilla Release Management Team: Firefox 39 beta5 to beta6 |
One of the last beta of this cycle. We are taking the last stability patches for the release.
As a remainder, beta 7 will be built next Thursday, RC next Monday (during the Mozilla work week in Whistler). The release date is June 30.
Extension | Occurrences |
cpp | 7 |
h | 5 |
js | 4 |
xml | 1 |
py | 1 |
jsm | 1 |
in | 1 |
css | 1 |
Module | Occurrences |
dom | 7 |
toolkit | 4 |
media | 4 |
browser | 4 |
tools | 1 |
js | 1 |
List of changesets:
David Keeler | Bug 1170303 - Treat malformed name information in certificates as a domain name mismatch. r=Cykesiopka, a=lizzard - 056a30240fae |
Aaron Klotz | Bug 1171453 - Make ParentNPObjects aware of AsyncNPObject wrappers. r=jimm, a=abillings - 7898db26f3f8 |
Andrea Marchesini | Bug 1169867 - XMLHttpRequest::SendInternal should not unpin itself when the worker goes away. r=bent, a=abillings - aaf1311249a8 |
Chris Pearce | Bug 1174064 - Ensure we don't try to reuse a GMP doing async shutdown. r=edwin,a=lizzard - a6b058d20345 |
Nick Thomas | Bug 1170913, full-update target in tools/update-packaging/ always runs automation-partial-patch, r=glandium a=lizzard DONTBUILD - 4304c0383035 |
Magnus Melin | Bug 1159632 - Fix failure in toolkit/components/jsdownloads/test/unit/test_DownloadImport.js when browser.helperApps.deleteTempFileOnExit true. r=paolo, a=test-only - acaf3ba8f4e4 |
Ted Mielczarek | Bug 1171527 - Make upload_symbols.py retry on 500 errors from the API. r=gps, a=NPOTB - 04059bd01b9b |
Gijs Kruitbosch | Bug 1169911 - Fix windows 10 titlebar coloring/border issues. r=dao, a=lizzard - 68049b6deb7c |
Jared Wein | Bug 1170304 - Persist state that Firefox was a user's default browser. r=dolske, a=lizzard - 1997f291fc30 |
Jean-Yves Avenard | Bug 1171629 - Use fallible array to store MP4 samples index. r=kentuckyfriedtakahe, a=lizzard - 82b74e7dea64 |
Jan de Mooij | Bug 1114079 - Fix overrecursion check in nsGlobalWindow::SetNewDocument to not report a JS exception. r=bz, a=lizzard - adb302d8d588 |
Chris Pearce | Bug 1173144 - Ensure Adobe EME plugin voucher is present before adding GMP dir to GMPService. r=dolske, a=lizzard - 05b522f50491 |
http://release.mozilla.org/statistics/39/2015/06/17/fx-39-b5-to-b6.html
|
Brendan Eich: From ASM.JS to WebAssembly |
tl;dr I’m burying the lede with context and catch-up material first, so impatient or already-clued-in readers should skip to below the videos for today’s big news. Or just read Luke Wagner‘s blog post right now.
My Fluent 2015 “ECMAScript Harmony: Rise of the Compilers” talk given on April 21st:
Jeremy Ashkenas picked up this ball and ran into the next field’s end zone two days later in Brooklyn:
My slides for the talk I gave at ModernWeb.tw on May 15th:
Perhaps you detect a theme, beyond “JS turned 20''. Something about compilers rising, Java bytecode and asm.js, shared memory threads and SIMD. The usual retort, recurrent on Hacker News, looks like this:
In an HN sub-thread sparked by my ModernWeb.tw slides, I concurred with Patrick Walton on analogies between browsers and the Unix kernel, JS and C. One does not get to write kernel code in any language, at least not yet. Elsewhere in that sub-thread the analogue of JS was identified as architecture-specific assembly code, where the CPU architecture is fixed by physical reality, while software is written in virtual languages compiled to machine code, or run through interpreters.
In any event, whether analogous to C or assembly, JS has had a lock on the “kernel” of the client side. Web “userland code”, in contrast, can be written in a great many languages. Adding a second (bytecode) syntax has looked like a “now you have two problems” loss, against the alternative of one syntax. Until now.
It’s by now a clich'e that JS has become the assembly language of the Web. Rather, JS is one syntax for a portable and safe machine language, let’s say. Today I’m pleased to announce that cross-browser work has begun on WebAssembly, a new intermediate representation for safe code on the Web.
What: WebAssembly, “wasm” for short, .wasm
filename suffix, a new binary syntax for low-level safe code, initially co-expressive with asm.js, but in the long run able to diverge from JS’s semantics, in order to best serve as common object-level format for multiple source-level programming languages.
It’s crucial that wasm and asm stay equivalent for a decent interval, to support polyfilling of wasm support via JS. This remains crucial even as JS and asm.js evolve to sprout shared memory threads and SIMD support. Examples of possible longer-term divergence: zero-cost exceptions, dynamic linking, call/cc. Yes, we are aiming to develop the Web’s polyglot-programming-language object-file format.
Why: asm.js is great, but once engines optimize for it, the parser becomes the hot spot — very hot on mobile devices. Transport compression is required and saves bandwidth, but decompression before parsing hurts. A secondary consideration: JS has a few awkward corners even in its asm.js subset. Finally, once browsers support the WebAssembly syntax natively, JS and wasm can diverge, without introducing unsafe or inappropriate features into JS just for use by compilers sourcing a few radically different programming languages.
See the FAQ for more nuance and detail. No, JS isn’t going away in any foreseeable future. Yes, wasm should relieve JS from having to serve two masters. This is a win-win plan.
How: If you use Emscripten, then wasm support via a command-line flag will at first include and target the prototype polyfill. But as native wasm decoders appear in top engines (see the V8 native prototype decoder), Emscripten will auto-configure for best results. Another prototype: a JS AST compressor (encoder).
These prototypes will evolve and track draft specification changes as WebAssembly matures and receives progressively more developer testing. Other compilers than Emscripten, and other compiler frameworks than LLVM, will join the mix. I expect all engines will support fast native decoders. All these parts are means to the end of a common WebAssembly standard.
Who: A W3C Community Group, the WebAssembly CG, open to all. As you can see from the github logs, WebAssembly has so far been a joint effort among Google, Microsoft, Mozilla, and a few other folks. I’m sorry the work was done via a private github account at first, but that was a temporary measure to help the several big companies reach consensus and buy into the long-term cooperative game that must be played to pull this off.
Here you can see JF Bastien of Google’s PNaCl team barely able to keep a lid on the secret. Good thing I replied with a comic book reference as plausible cover. Close one!
|
Emma Irwin: Keeping Girls Engaged in STEM Fields (until they retire as old women) |
I was honoured to be invited to Makerfaire Vancouver this past month to talk a bit about Mozilla, Mozilla Webmaker ‘Clubs’ and to encourage a grassroots approach to teaching and mentoring girls in STEM. As it tends to go, I learned far more from others on the panel than I was capable of sharing I also left feeling a greater sense of purpose for my role in encouraging diversity in technology.
And that purpose came after listening to another panel speaker shared his studies showing that – when girls are asked to identify their gender on exams, they almost always had lower results than if they had taken a test without gender identification. And this resonated with me, not on reflection of my girlhood in science, but in my years working in technology and transition to motherhood.
Although important, it feels like the the bulk of advocacy begins with girls and ends with young women. I want to argue that success for ‘girls in STEM’ can only truly be celebrated when that success flows through the various identities and transitions in a woman’s life.
Motherhood is like that gender question on exams in that it often changes our confidence that we might be capable – or that people in positions of influence believe we are. Not because motherhood changes our abilities (heck no!) but because there’s a sense we need to apologize for having a competing priority especially when dominate tech culture reflects 18 hour days, beer-nights and ping-pong tables. Without proper mentorship, support and advocacy I’ve witnessed that tech loses a lot of women during this time.
So, I don’t have the answers (sorry of you scrolled down for wisdom) but what occurred to me is that somehow I have managed to say in tech, despite a number of transitions in my life – including a year-long period of critical illness for one of my children. I’ll be doing a lot more thinking about how to connect local efforts around youth with women who can also benefit. For me that also means thinking about open source participation as a way to find mentors, and to stay connected and relevant during life transitions.
* I have been ‘shouted down’ on this topic before, by men saying I was ignoring the challenges fatherhood played in their careers. To that I say – go solve that too.
* We were also asked about STEAM (arts education). To that I say, if you have strengths in art, go teach that. No one person can solve all things – take that thing you are good at, and bring it to your community :)
* Learning to Solder was the highlight of Makerfaire for my daughters.
http://tiptoes.ca/keeping-girls-engaged-in-stem-fields-until-they-retire-as-old-women/
|
Karl Dubost: Working on mozilla-central with SublimeText |
When I started to patch mozilla central for creating a patch, I had a bit of hard time. The file I was working on had trailing spaces in multiple places. My SublimeText configuration trims white spaces on save. It helps to keep my project sane if I forget about the end of lines. Unfortunately when you are working on files maintained by others and you want to separate the file cleaning (trimming spaces) from the actual fix, this is becoming cumbersome.
So I decided to start a sublime-project preference file for things which should or should not happen when working with mozilla central code. For now it does almost nothing, but if you know about some requirements and other things that should happen when working with mozilla central, just tell me. I will probably put it in a better place later, but for quickly drafting, let's use gist for mozilla-central.sublime-project.
{ "folders": [{ "path": "/Users/karl/code/mozilla-central" }], "settings": { "trim_trailing_white_space_on_save": false }, }
Change the path to your own path.
Otsukare!
http://www.otsukare.info/2015/06/17/mozilla-central-sublimetext
|
Kim Moir: Test job reduction by the numbers |
![]() |
Reduction in number of jobs per push on mozilla-inbound as SETA scheduling is rolled out |
http://relengofthenerds.blogspot.com/2015/06/test-reduction-by-numbers.html
|
Michael Kaply: CCK2 2.1(.1) is Officially Available |
I announced and released CCK2 2.1 to my mailing list subscribers last week. A couple bugs were found and fixed, and so I am officially releasing CCK 2.1.1 to the world and making it available as an update to CCK 2.0 users. You can download it here.
This new CCK2 represents a major change over previous versions in that it no longer depends on the distribution/bundles directory when using AutoConfig. It creates its own directory (cck2) that should be preserved across Firefox installs. I made this change in anticipation of Firefox 40 where the distribution/bundles directory will no longer work. For people that were using the distribution/bundles directory to distribute their own add-ons, I've enabled the cck2/bundles directory to serve the same purpose. As with the distribution/bundles directory, add-ons built with the SDK and restartless add-ons will not work.
Other changes in this new version include the ability to disable various new Firefox features like Pocket and Social Sharing.
I've also made a change to the export function that should make it easier to move CCK2 configs to other machines. If you've placed your resources (search plugins, certs, etc.) under your output directory, when you export your config, it will use relative paths. After transferring all the data to the new machine, you can edit the JSON file to change to the new output directory before importing.
As always, the CCK2 Wizard is provided as-is. You can open issues and feature requests, as well as participate in forum discussions at cck2.freshdesk.com, but the only way to guarantee responses is to purchase a CCK2 Support plan.
I really appreciate the support of the folks who have done that.
https://mike.kaply.com/2015/06/16/cck2-2-1-is-officially-available/
|
Armen Zambrano: mozci 0.8.0 - New feature -- Trigger coalesced jobs + improved performance |
mozci-trigger --coalesced --repo-name REPO -r REVISION
|
Chris AtLee: RelEng 2015 (Part 2) |
This the second part of my report on the RelEng 2015 conference that I attended a few weeks ago. Don't forget to read part 1!
I've put up links to the talks whenever I've been able to find them.
Davide Giacomo Cavezza gave a presentation about his research into defect prediction in rapidly evolving software. The question he was trying to answer was if it's possible to predict if any given commit is defective. He compared static models against dynamic models that adapt over the lifetime of a project. The models look at various metrics about the commit such as:
His simulations showed that a dynamic model yields superior results to a static model, but that even a dynamic model doesn't give sufficiently accurate results.
I wonder about adopting something like this at Mozilla. Would a warning that a given commit looks particularly risky be a useful signal from automation?
Michael de Jong spoke about a technique for coping with SQL schema evolution in a continuously deployed applications. There are a few major issues with changing SQL schemas in production including:
Michael's solution was to essentially create forks of all tables whenever the schema changes, and to identify each by a unique version. Applications need to specify which version of the schema they're working with. There's a special DB layer that manages the double writes to both versions of the schema that are live at the same time.
Paul Rimba spoke about security deployment pipelines.
One of the areas of focus was on the "build server". He started with the observation that a naive implementation of a Jenkins infrastructure has the master and worker on the same machine, and so the workers have the opportunity to corrupt the state of the master, or of other job types' workspaces. His approach to hardening this part of the pipeline was to isolate each job type into its own docker worker. He also mentioned using a microservices architecture to isolate each task into its own discrete component - easier to secure and reason about.
We've been moving this direction at Mozilla for our build infrastructure as well, so it's good to see our decision corroborated!
Shurui Zhou presented some data about extracting configuration data from build systems. Her goal was to determine if all possible configurations of a system were valid.
The major problem here is make (of course!). Expressions such as $(shell uname -r) make static analysis impossible.
We had a very good discussion about build systems following this, and how various organizations have moved themselves away from using make. Somebody described these projects as requiring a large amount of "activation energy". I thought this was a very apt description: lots of upfront cost for little visible change.
However, people unanimously agreed that make was not optimal, and that the benefits of moving to a more modern system were worth the effort.
|
Jeff Walden: San Francisco v. Sheehan: opinion and analysis |
Last time I gave my last pre-opinion thoughts on the Texas specialty license plate case, Walker v. Texas Division, Sons of Confederate Veterans, whose oral argument I attended in March. The other case I saw that day, San Francisco v. Sheehan, was recently decided. Today I discuss the opinions in that case.
My dismissive suggestion that San Francisco would win because Ninth Circuit and qualified immunity was on target. The Court ruled, 6-2, that the officers should receive qualified immunity — giving the win to San Francisco.
Recall that Justice Scalia and others alleged that San Francisco had improperly changed its argument from the time it got the Supreme Court to hear the case, to when it presented its formal argument. San Francisco initially argued that the Americans with Disabilities Act categorically didn’t require officers to accommodate armed and violent suspects who are disabled. But then later it argued that the ADA didn’t apply specifically to Sheehan, because she had posed a “direct threat”.
Every justice agreed that San Francisco’s tactics precluded the Court from deciding whether the ADA applied to armed and violent disabled suspects. So that’s still an open question awaiting a case properly presenting it.
But then what happens to the case and its remaining questions, if the ADA question is dismissed? The six-justice majority decided that the officers deserved qualified immunity. Justice Scalia, joined by Justice Kagan, argued that San Francisco shouldn’t be given a win for “snookering” the Court, when the Court wouldn’t have answered the qualified immunity question if presented alone. Instead the Court should have dismissed the entire case, leaving San Francisco to its loss in the Ninth Circuit.
I previously wasn’t entirely certain that San Francisco had changed its argument. But in light of the Court’s unanimous agreement on the matter, and in light of other commentary, it seems clear that it did.
I wasn’t aware the Court could dismiss “half” a case; that seems reasonable for the ADA question. For the remainder of the case, I think I lean toward Scalia’s and Kagan’s view. It’s unfair to parties in cases to allow one side to make an argument, then not be held to that argument come decision time. But I didn’t trace the majority’s cites far enough to conclude that its position was definitely wrong, so count my agreement with Scalia and Kagan as only tentative.
Next time, discussion of the ultimate opinion in Walker v. Texas Division, Sons of Confederate Veterans. The case is still pending, so I can’t yet say when that post might be ready.
http://whereswalden.com/2015/06/16/san-francisco-v-sheehan-opinion-and-analysis/
|
Air Mozilla: Dnet Global Launch: Scaling Tech Innovations for the Social Bottom Line |
Dnet's founder and CEO will give a short talk celebrating the launch of their new US operation, and we'll have a live chat with an...
https://air.mozilla.org/dnet-global-launch-scaling-tech-innovations-for-the-social-bottom-line/
|
Mozilla Addons Blog: New AMO t-shirt design chosen! |
Congratulations to Erick Le'on Bolinaga, whose design was chosen by the community to be printed on the new AMO developer t-shirt. Erick has been a Mozilla contributor for 8 years and is the co-founder and leader of the Mozilla Cuba community. He says:
“It was a pleasure to participate in this contest. I would like to thank Mozilla for making this participatory. I would also like to thank all the community members who voted for my design. The biggest reward will be seeing the design printed on t-shirts for add-on developers. They have contributed in making Firefox the best browser ever.”
Big thanks to everyone who submitted a design, and congratulations to the two runners up, Avishek Gangopadhyay and Drack Wave.
And here is Erick’s design!
To qualify for a shirt, you must be one of the following:
If you pass one of these qualifications, please sign up here to reserve your shirt! The deadline to sign up is Weds, July 8, 2015.
The shirt will be printed after the deadline, and we’ll start mailing them out in August.
Thank you to everyone who participated!
https://blog.mozilla.org/addons/2015/06/15/new-amo-t-shirt-design-chosen/
|
Air Mozilla: Brownbag: Inequality in global app marketplaces and what Mozilla can do about it |
A presentation by Caribou Digital on the app economy and the role of digital marketplaces.
https://air.mozilla.org/brownbag-caribou-digitals-presentation-on-the-app-economy/
|
Cameron Kaiser: Mission accomplished: IonPower kicks incredibly large gluteus |
Remember our primary target was to make our new IonPower JavaScript JIT backend eclipse our previous speed champion, JaegerMonkeyPPC, on our chosen classic V8 benchmark. It's always hard to judge debugging builds because of all the extra chaff they carry, but as of early this morning TenFourFox 38 was able to get a G5-optimized build up (more on that in a moment which builders need to read). Let's get a drum roll, maestro. Test system is a Quad G5 with performance set to Highest. Here is our current browser (31.7.0) running the current JIT compiler, PPCBC:
% /Applications/TenFourFoxG5.app/Contents/MacOS/js --no-ion -f run.js
Richards: 208
DeltaBlue: 579
Crypto: 365
RayTrace: 574
EarleyBoyer: 628
RegExp: 622
Splay: 932
NavierStokes: 439
----
Score (version 7): 502
PPCBC beats the interpreter by a long shot, which our long suffering friends running Firefox in PowerPC Linuxland must still contend with, but PPCBC was no JaegerMonkey. Here is 17.0.11:
% /Applications/TenFourFoxG5-17.0.11.app/Contents/MacOS/js -m -n -f run.js
Richards: 3160
DeltaBlue: 8364
Crypto: 3036
RayTrace: 1784
EarleyBoyer: 3602
RegExp: 553
Splay: 4115
NavierStokes: 1383
----
Score (version 7): 2519
Yup, that was good times. But are you ready for awesome?
% mozilla-38b/obj-ff-dbg/dist/bin/js -f run.js
Richards: 7258
DeltaBlue: 19207
Crypto: 2857
RayTrace: 15730
EarleyBoyer: 8873
RegExp: 1202
Splay: 3960
NavierStokes: 3456
----
Score (version 7): 5561
That is 2.21 times faster than JaegerMonkey (versions 10-22) and over eleven (!!) times faster than PPCBC (versions 24-36). I don't think you even want to see how much faster it is than the interpreter ... but what the heck!
% mozilla-38b/obj-ff-dbg/dist/bin/js --no-ion --no-baseline --no-native-regexp -f run.js
Richards: 44.7
DeltaBlue: 172
Crypto: 80.9
RayTrace: 113
EarleyBoyer: 173
RegExp: 192
Splay: 341
NavierStokes: 135
----
Score (version 7): 134
That's over 41 times faster. I can't wait to get this hot little rocket in your hot little hands. Mind the fire. PowerPC got back.
The only target we missed is that Baseline-only performance is still about 25% slower than PPCBC, which admittedly was highly optimized for that purpose. I think this tradeoff will be acceptable. :)
Builders are warned: 38 will probably require some tweaks to bintools due to a problem with N_SECT and gcc 4.6. I'm currently experimenting with a modified strip that doesn't choke on these non-standard object files and will provide this to you when the beta becomes available. In addition, I've pretty much settled on gcc 4.9 for post-38 and we will likely use a combination of MacPorts and Sevan's pkgsrc builds for the new build system, if there is one. More on that after 38 launches successfully.
http://tenfourfox.blogspot.com/2015/06/mission-accomplished-ionpower-kicks.html
|
Chris Cooper: Releng & Relops weekly highlights - June 12, 2015 |
Happy Monday!
Release Engineering has a lot going on. To help spread good news and keep everyone informed, we’re trying an experiment in communication.
Managers put together a list of what we all have been working on, highlighting wins in the last week or so. That list gets sent out to the public release-engineering mailing list and then gets reblogged here.
Please send feedback - did you learn anything, what else should we have included, and what topics might need some additional explanation or context.
Taskcluster: Morgan now has working opt, debug, PGO and ASan 64-bit Linux builds for TaskCluster. This work enables developers to experiment with linux try jobs on their local systems! Dustin debugged and confirmed that inter-region S3 transfers are capped at 1 MB/sec; he also stood up a relengapi proxy for accessing private files in tooltool. Rail just finished work on deploying signing workers for TaskCluster, important for deploying funsize.
Puppetized Windows in AWS: Mark debugged and worked around an annoying ACL and netsh bugs in puppet that were blocking forward progress on Windows puppetization. Amy and Rob are generating 2008R2 puppetized AMIs in AWS via cloud-tools.
Amy, Hal, Nick, Ben, and Kim responded to the many issues caused by the NetApp outage, including unexpected buildbot database corruption. Hal, Ben, Nick and Rail have been working hard to enable 38.0.6, in support of the spring release which included a bunch of features we needed to get out the door to users.
Q worked on making S3 uploads from Windows complete successfully and worked with Sheriffs to debug and fix a Start Screen problem on Windows 8 that was causing test failures. Jake is saving us money by retiring diamond (shout out to shutting things off!). Rob & Q ensured that all systems now send logs to Papertrail, EVEN XP!
Mike removed the one of the last blockers to getting off FTP and over to S3: porting Android buildsto mozharness. In addition to freeing us from the buildbot factories, this also uses TaskCluster’s index service for uploading artifacts to S3. Hal and Anhad (our amazing intern!) now have vcs-sync conversions all running in parallel from AWS. As part of moving mozharness in-tree, Jordan is doing to work allow consumers to create and fetch mozharness bundles automatically from relengapi.
Thank you all!
…
And here are all the details:
|
Air Mozilla: Mozilla Weekly Project Meeting |
The Monday Project Meeting
https://air.mozilla.org/mozilla-weekly-project-meeting-20150615/
|
Jeff Walden: Final thoughts on Walker v. Texas Division, Sons of Confederate Veterans |
Two months ago I began a blog post series about my recent visit to the Supreme Court for oral arguments in two cases. San Francisco v. Sheehan concerned police use of force in San Francisco; Walker v. Texas Division, Sons of Confederate Veterans concerned Texas’s specialty license plate program and its restrictions on permissible designs. Seven weeks ago I discussed oral argument in the Texas license plate case. Today I return for final thoughts on the Texas license plate case, in which a decision is expected any day now — perhaps even in an hour today.
(Why the seven-week delay when I’d promised merely “a day or two”? The day of the last post, I underwent [relatively] minor surgery for pain from a high ankle sprain, that hadn’t fully responded to approaches short of arthroscopic ankle surgery. [The surgery seems to have been successful, but I probably can’t be sure til I regain full ankle flexibility/strength. I can walk almost entirely normally now, but strength and flexibility are still noticeably diminished, albeit improving daily.] Although I had spare time immediately afterward, I wasn’t particularly inclined to post-writing, and as time passed I never got back in the groove. Time winding down before the ultimate opinion has put me back on track. )
Before I tackled oral argument, my previous posts discussed offensive speech. I left one question hanging: what sort of forum is Texas’s specialty license plate program? Is it a designated public forum or a limited public forum?
This turns out not to matter. To judge offensiveness requires adopting a particular viewpoint, but regardless which sort of forum Texas specialty plates are, restrictions must be viewpoint-neutral. As for Texas’s argument that judging offensiveness is “objective” and viewpoint-neutral, this plainly must fall in light of the Court’s repeated insistence that “the government may not prohibit the expression of an idea simply because society finds the idea itself offensive”.
Censoring based on offensiveness is not viewpoint-neutral. But in either a designated public forum or a limited public forum, restrictions must be viewpoint-neutral. So it doesn’t matter which Texas’s program is: prohibitions based on offensiveness must fall.
If you’ve paid any attention to this series, it should be obvious that I think Texas must lose. When Texas opened up a forum for speech on plates and invited essentially everyone onto them, they lost control over what can be said there. An amicus brief from the Rutherford Institute best captures my thoughts on this case. (Which isn’t to say I disagree with other briefs supporting Texas SCV, simply that the approach here best matches my reasoning.)
So much for Texas’s program. What about programs in other states? Such disputes previously have centered on Confederate flags (by other SCV divisions), but perhaps the most prominent topic of controversy has been adoption/abortion/pro-life/pro-choice advocacy. Some states have explicitly ordered designs taking sides in that controversy, or have approved such designs submitted by private parties. Inevitably the other side files suit for a chance to say its piece. What should happen? I think it depends on the contours of the program.
If a state legislature passes a law ordering a design be produced, or delegating that to the state DMV, that legitimately does seem to me to be government speech. Private parties have no right to butt in to demand alternative designs. The place to challenge such programs is in the voting booth, not the courthouse. The same is true if privately-submitted designs receive legislative approval in a pick-and-choose process: the available designs are government speech (although the designs themselves may be hybrid speech).
On the other hand, if a state provides a specialty plate program in which private parties may request designs, and those designs aren’t explicitly limited to particular topics, the specialty plate program is a designated public forum in which permitted private parties can say whatever they want. (Subject to the usual traditional public forum restrictions.) (This is Texas’s program.)
If the state provides an open program with restrictions, then we have a limited public forum. A specialty plate program along these lines might or might not be able to exclude speakers. For example, many Texas designs recognize particular colleges. A state program allowing only colleges to submit designs, consisting of a color scheme and a logo, wouldn’t be required to accept a specialty plate on some other topic, or from a non-college. A specialty plate program that allowed, say, “non-political” designs only would be a much closer question that would probably swing the other way. (Who’s to say what’s political and what isn’t, “viewpoint-neutrally”?) But if criteria were objective and viewpoint-neutral, restrictions might be permissible.
One slightly disconcerting moment at oral argument came after Texas SCV argued that Texas pretty much couldn’t prohibit anything on specialty plates. With minor adjustments for readability:
- Justice Scalia
- So you’re — you’re really arguing for the abolition of Texas specialty plates, aren’t you? I couldn’t make a better argument for — in that direction than — than what you’ve been doing.
- Mr. George
- Well, we had got along without it a long time before we got it, and we can get along without it again.
- Justice Kennedy
- So in a way, your argument curtails speech?
I’m not sure whether this ever received an answer. But the answer I’d have given is simple: “We call Texas’s bluff.” As I’ve noted, other states have had to respond to court cases in favor of unliked speakers: on license plates, in Adopt-A-Highway programs, in municipal transit ad programs, and so on. The states and cities operating these programs generally haven’t shut down the programs to prevent undesirable speakers from speaking, and many don’t even adjust program parameters to work around court decisions. No matter what it might bluster, Texas won’t shut down its program if it loses. Only very few ill-mannered states are likely to pick up their toys and leave, rather than share them with speakers they don’t like.
My prediction is that Texas will lose unanimously. The justices generally were somewhat taken aback by the sprawling assertions made by Texas SCV, but that seems only natural when good people contemplate potentially allowing vile, racist speech. The justices, as judges, ultimately must be, and are, less susceptible to these emotional tuggings than it might seem in the moment of argument. This is a very pro-speech Court; I think they’ll have very little trouble getting over their prejudices against speech they might not like.
Only Justice Scalia seemed to have particular sympathy for Texas, and for Texas being permitted to run its program however it wants. I think he viewed specialty plates and programs as mostly one giant exercise in frivolity: “Why aren’t bumper stickers good enough?”, “Why does anyone care what’s on their license plate?”, to put words in his mouth. There’s something to that: if we returned to a world where license plates were solid-color letters on a solid-color background, it’s hard to say anyone would really be much worse off. But just because a particular means of speech seems unbelievably stupid doesn’t justify shutting it down. I don’t think Justice Scalia would hang up on that in an opinion.
Ultimately I think the open nature of Texas’s invitation, combined with the standardless system by which Texas can reject designs, will sway him against Texas, even if he thinks the entire controversy is a waste of time. Justice Scalia was one of the votes striking down statutes criminalizing flag-burning on the basis of its offensiveness. I don’t see how he would abrogate that position on offensive speech just because Texas nominally exercises “effective[] control” over the specialty license plate program but doesn’t specifically cabin designs to limited topics.
Next time I return to San Francisco v. Sheehan to discuss the opinion in that case. And unlike last time, I’ll guarantee this discussion will issue tomorrow. (Barring Dreamhost downtime, server issues, Judgment Day, &c.)
|
Mozilla Thunderbird: Thunderbird 38 Released |
Thunderbird 38 is now released (actual initial version is 38.0.1 to maintain compatibility with equivalent Firefox releases). This release has some significant new features, as well as many, many bug fixes. Some of the new features include:
This is a significant milestone for the Thunderbird team, as it is the first release that has been fully managed by our volunteer team rather than by Mozilla staff.
Mozilla is still heavily involved with this release, as we still use Mozilla infrastructure for the build and release process. Thanks to the many Mozilla staff who helped out to fix issues!
Thanks to all of the volunteers who have contributed to make this release possible!
https://blog.mozilla.org/thunderbird/2015/06/thunderbird-38-released/
|
Kim Moir: Mozilla pushes - May 2015 |
http://relengofthenerds.blogspot.com/2015/06/mozilla-pushes-may-2015.html
|
Mozilla Release Management Team: Firefox 39 beta4 to beta5 |
As expected, a bit bigger than beta 4. In this release, we disabled async plugin init which was an important source of crashes. We also took a change to improve the security on sync.
Extension | Occurrences |
js | 18 |
cpp | 12 |
java | 4 |
xul | 2 |
ini | 2 |
xml | 1 |
py | 1 |
jsm | 1 |
in | 1 |
html | 1 |
h | 1 |
Module | Occurrences |
toolkit | 9 |
js | 8 |
browser | 8 |
mobile | 6 |
dom | 6 |
xpcom | 1 |
testing | 1 |
mozglue | 1 |
modules | 1 |
gfx | 1 |
docshell | 1 |
accessible | 1 |
List of changesets:
Jan de Mooij | Bug 1143679 - Make TryNoteIterIon behave more like Baseline/interpreter iterators. r=shu, a=sledru - c5327254125d |
Gerald Squelart | Bug 1160908 - [EME] Delete GMPRecords that are 0 bytes in size. r=cpearce, a=lizzard - d787fb3b86be |
Karl Tomlinson | Bug 1162364 - Detect and abort MF_E_TRANSFORM_STREAM_CHANGE infinite loops. r=cpearce, a=lizzard - 35fad3eed522 |
Panos Astithas | Bug 1170495 - Let the debugger server started by GCLI debug chrome code. r=ochameau, r=jwalker, a=lizzard - ffc4a84bbcdf |
Richard Newman | Bug 1061273 - Pre: add 20+ to Versions. a=lizzard - d999d29c8062 |
Richard Newman | Bug 1061273 - Part 1: Put DEFAULT_PROTOCOLS and DEFAULT_CIPHER_SUITES in GlobalConstants. r=nalexander, a=lizzard - d9943a662657 |
Richard Newman | Bug 1061273 - Part 2: Use per-version DEFAULT_PROTOCOLS and DEFAULT_CIPHER_SUITES. r=nalexander, a=lizzard - 676ae5e1e869 |
Richard Newman | Bug 1061273 - Part 3: Enable TLSv1 for landing. r=nalexander, a=lizzard - c2f209debd59 |
Richard Newman | Bug 1061273 - Part 4: Use SSLSocketFactory directly, rather than our own TLSSocketFactory subclass. r=nalexander, a=lizzard - b36c17437332 |
Richard Newman | Bug 1061273 - Follow-up: Fix cipher suites for Sync 1.1. r=nalexander, a=lizzard - dd38d3ccbacd |
Jason Orendorff | Bug 1155208 - In ToPropertyDescriptor, update attributes immediately after storing a getter or setter in a descriptor. r=jandem, a=abillings - 8de5d18494ab |
Tooru Fujisawa | Bug 1171777 - Make sure the index is nonnegative in GetElement IC with hole. r=jandem, a=lizzard - c569e4e29be6 |
Tooru Fujisawa | Bug 1150297 - Move source property to RegExp instance again. r=till, a=lizzard - 6fe433fed5fb |
Justin Dolske | Bug 1168481 - Add en-* translations to Pocket. r=adw, a=lizzard - f137fedd1455 |
Ryan VanderMeulen | Backed out changeset 6fe433fed5fb (Bug 1150297) for suspicion of causing widespread test failures. - af8d7ef03660 |
Geoff Brown | Bug 1171303 - Set pref extensions.autoupdate.enabled to false to avoid testOfflinePage failures. r=mfinkle, a=test-only - 60de9fc9408f |
Wes Kocher | Bug 845134 - Disable test_focusedChild.html on Windows 8. a=test-only - a8acd56b1734 |
Robert Strong | Bug 1171792 - An update is attempted from an update notification when it is not possible to update. r=spohl, a=lhenry - 038ab776f75f |
Florian Qu`eze | Bug 1154019 - Intermittent browser_devices_get_user_media.js | Test timed out | Found a Browser:WebRTCGlobalIndicator. r=Gijs, a=test-only - ab9bfc1f6f00 |
Randall Barker | Bug 1159830 - Autophone - webappstartup should not use console.log to output WEBAPP STARTUP COMPLETE. r=snorp, r=froydnj, a=lizzard - cadc2cc10081 |
David Major | Bug 763395 - Add nlsp.dll to blocklist. r=bsmedberg, a=lizzard - 90c96749f1a3 |
Paolo Amadini | Bug 1158133 - Add a way to disable async stacks, and disable by default on mobile platforms. r=bent, r=jimb, a=lizzard - bfba880deefd |
Tim Taubert | Bug 1172137 - Record outerWindowID for new tabs first when we have a docShell. r=mconley, a=lizzard - 5ac2c3ff9a6d |
Tim Taubert | Bug 1172137 - Update outerWindowID after a browser's remoteness changed. r=mconley, a=lizzard - 73d2a857261f |
Tim Taubert | Bug 1172137 - Update outerWindowID mappings when swapping docShells. r=mconley, a=lizzard - 71ce4845c6f6 |
Aaron Klotz | Bug 1170676 - Fix null dereference in PluginModuleParent::StreamCast. r=jimm, a=lizzard - b41419fa52bb |
Milan Sreckovic | Bug 1145143 - Check if buffer size is correct before calling the update. r=nical, a=lizzard - ad1f0e1ddaf2 |
Aaron Klotz | Bug 1173182 - Disable async plugin init for this release. r=vladan, a=lizzard - 534a78bbabb4 |
http://release.mozilla.org/statistics/39/2015/06/12/fx-39-b4-to-b5.html
|