<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Purism</title>
	<atom:link href="https://puri.sm/feed/" rel="self" type="application/rss+xml" />
	<link>https://puri.sm/</link>
	<description>High-quality laptops that protect your freedom and privacy</description>
	<lastBuildDate>Fri, 20 Sep 2019 19:43:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.11</generator>

<image>
	<url>https://puri.sm/wp-content/uploads/2015/04/purism-logo-87x56px.png</url>
	<title>Purism</title>
	<link>https://puri.sm/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Mirrors for Speedier Downloads</title>
		<link>https://puri.sm/posts/mirrors-for-speedier-downloads/</link>
		<pubDate>Fri, 20 Sep 2019 17:33:33 +0000</pubDate>
		<dc:creator><![CDATA[jeremiah foster]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65680</guid>
		<description><![CDATA[<p>To put it briefly, PureOS provides ISO images and packages for download. Recently, we&#8217;ve seen increased traffic on our download site, and we expect that traffic to grow. We&#8217;re hoping to address increased traffic with mirrors for both package updates and downloads. We&#8217;re very happy to announce that Sonic, a highly-ranked and privacy-respecting ISP, has [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/mirrors-for-speedier-downloads/">Mirrors for Speedier Downloads</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>To put it briefly, PureOS provides ISO images and packages for download. Recently, we&#8217;ve seen increased traffic on our download site, and we expect that traffic to grow. We&#8217;re hoping to address increased traffic with mirrors for both package updates and downloads.</p>
<p>We&#8217;re very happy to announce that <a href="https://www.sonic.com/">Sonic</a>, a highly-ranked and privacy-respecting ISP, has offered to host a mirror for PureOS. This will alleviate some of the traffic, especially for those in North America, without compromising security. The security of the packages remains guaranteed by our signatures; the mirror simply holds another, identical set of packages, signed with Purism&#8217;s key.</p>
<p>The mirror is easy to use. For example, if you&#8217;d like to use the mirrors for downloading an image, simply use this URL: https://mirrors.sonic.net/pureos/downloads/. And here&#8217;s the link to the most recent <a href="https://mirrors.sonic.net/pureos/downloads/live/gnome/2019-08-30/">GNOME Live build</a>.</p>
<p>If you&#8217;d like to use the mirror for your packages, you have two choices:</p>
<p>1. use the command line to edit your /etc/apt/sources.list<br />
2. use Software to add the mirror URL</p>
<p>The first choice is pretty quick and easy. In the terminal, use your favorite text editor to edit this file, /etc/apt/sources.list, and insert the following line:</p>
<p><code>deb https://mirrors.sonic.net/pureos/repo/pureos/ amber main</code><br />
<code>deb-src https://mirrors.sonic.net/pureos/repo/pureos/ amber main</code></p>
<p>Then run and apt-get update, and you should be all set.</p>
<p>If you prefer to use the Software tool, simply open Software. You can find it among the apps, by going to the upper left-hand corner of the desktop and clicking on &#8220;Activities&#8221;; then &#8220;Show Applications&#8221;, which is the last icon in the dock usually&#8211;a collection of nine squares.</p>
<p>Once you see all your apps you can either search for &#8220;Software&#8221; or scroll down a bit until you see it. And once the first &#8220;Software&#8221; is open, go to the menu on the top bar where it says &#8220;Software&#8221; again. There, the drop-down menu will show you an entry for &#8220;Software repositories&#8221;&#8211;and that is where we&#8217;ll make our changes, in order to use the new North American mirror. Appropriately enough, once you&#8217;ve clicked on the Software repositories menu entry you&#8217;ll see the &#8220;Software &amp; Updates&#8221; screen. In the &#8220;Other Software&#8221; tab you can enter the new mirror&#8217;s URL by clicking on the &#8220;Add&#8221; button in the bottom left. Now, enter this entire line:</p>
<p><code>deb https://mirrors.sonic.net/pureos/repo/pureos/ amber main</code></p>
<p>You&#8217;re almost done. Hit the &#8220;Add Source&#8221; button and authenticate with your password. Finally, hit &#8220;Close&#8221; then &#8220;Reload&#8221; and you should have a snappy, speedy new mirror for your packages.</p>
<p>Packages are updated four times a day on the mirrors and more can be done if necessary, but this will be more than enough for now. Enjoy! And thank you very much to Sonic.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/mirrors-for-speedier-downloads/">Mirrors for Speedier Downloads</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>SIM Application Toolkit: Avoid Being Exploited</title>
		<link>https://puri.sm/posts/sim-application-toolkit-avoid-being-exploited/</link>
		<pubDate>Wed, 18 Sep 2019 21:47:58 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65732</guid>
		<description><![CDATA[<p>Technologies are often created with good intent, to make our life easier, to solve problems in a convenient way. The Management Engine in Intel&#8217;s CPUs, for instance, was intended to make the life of admins easier. It allowed for remote access on a very low level, so they could even do complete remote reinstalls of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/sim-application-toolkit-avoid-being-exploited/">SIM Application Toolkit: Avoid Being Exploited</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Technologies are often created with good intent, to make our life easier, to solve problems in a convenient way. The Management Engine in Intel&#8217;s CPUs, for instance, was intended to make the life of <em>admins</em> easier. It allowed for remote access on a very low level, so they could even do complete remote reinstalls of a machine. And if you have to manage a large fleet of machines, distributed within a larger enterprise, this can save huge amounts of effort, time&#8211;and thus money.</p>
<h2>Implementation details matter</h2>
<p>Sadly, many of these technologies that were meant as good are implemented in a way that bears more harm than advantages. The ME, for example, is fully proprietary and closed. It is even undocumented in most parts, so it can not be publicly reviewed and audited. It is a piece of software, software has bugs and so has the ME implementation; the <a href="https://www.wired.com/story/intel-management-engine-vulnerabilities-pcs-servers-iot/">news</a> are <a href="https://blog.trendmicro.com/trendlabs-security-intelligence/mitigating-cve-2017-5689-intel-management-engine-vulnerability/">full</a> of it lately.</p>
<p>The same is true for something that many mobile phone users are totally unaware of&#8211;the <a href="https://en.wikipedia.org/wiki/SIM_Application_Toolkit">SIM Application Toolkit</a>, also called SIM Toolkit, SAT/USAT or STK.</p>
<h2>The SIM Application Toolkit</h2>
<p>Its name already points to the origin: the SIM card. It is the tiny chip card you insert into your phone, to get access to the cellular network of an operator. The SIM card used to be a fairly simple device, which you can imagine as the key to unlock the access to the network: i.e., it stores a secret (a cryptographic key) along with an ID (the IMSI) and some details about the issuing operator, etc. This data set grants you access to the operator&#8217;s network.</p>
<p>But phones [also called handset, or &#8216;terminal equipment&#8217; (TE), in mobile terms] have become more and more powerful. And setting up these cards has become more and more complicated; you need an SMS center number, details for the MMS server, mailbox dial-in number&#8230; and a lot more. All this needs to be properly set up in the mobile, to make full use of both the mobile and the network. To make this even more complicated, these details (and the way to set them up) are different from operator to operator. The process for this initial setup is (also) called provisioning. It was to make this (and other things) as convenient and least painful as possible for users that SAT was invented.</p>
<p>The name SAT tells us not only that it is SIM-related, but also that it contains the term <em>application</em>: SIM cards can, and today they usually do, indeed contain small applications or applets. They are small computers on their own, they run code, and they can indeed be programmed. Most are based on the <a href="https://en.wikipedia.org/wiki/Java_Card">JavaCard standard</a> and can be programmed with small Java applets. The SAT defines a standard way to interface the SAT applets with the modem and the phone.</p>
<h2>Here comes the tricky part</h2>
<p>SAT applets can have access to modem traffic, especially to SMS. They can execute on the SIM card&#8211;pretty much without any knowledge from the user. SAT applets can even initiate unsolicited communication (e.g. sending SMS) and can get updated and/or changed by the operator, over the air. All this is part of the <a href="https://www.3gpp.org/">3GPP standards</a>. SAT applets can also interact with the user, if the handset implements the user interface parts of SAT with simple menus, limited icon display and reading input from the &#8216;dial pad&#8217;.</p>
<p>SAT applets are an important part of the provisioning by the operators, when new SIM cards get activated. But their implementation details are not public. Their code is not public, and is thus likely to contain security flaws.</p>
<h2>The SIM Jacker and the S@T Browser</h2>
<p>One of these flaws has just surfaced: it is called <a href="https://thehackernews.com/2019/09/simjacker-mobile-hacking.html">SIM Jacker</a>, and it exploits the <a href="https://simalliance.org/?submit_search=&amp;s=s%40t+browser">S@T Browser</a> component, found in many SIM cards. It allows for exposing critical user data, like the currently connected cell tower ID. The cell tower ID can easily be matched against databases, and is pretty much equal to having a geographical position. An attacker would thus be able to locate a user&#8211;accurately enough to determine, for example, if someone is at home or not. And it must be assumed that more information about the user can very well be extracted in a similar way.</p>
<p>This is possible when attackers send a specially crafted SMS to a mobile. It is not visible to the user and will initiate, again without the user knowing, an automated response by the mobile. The mobile then sends it back to the attacker, exposing for example what the user cell tower ID is.</p>
<h2>Protecting the Librem 5</h2>
<p>Purism is actively working with its modem manufacturers in order to protect <a href="https://puri.sm/products/librem-5/">Librem 5</a> users from such exploits. We are also investigating how to have a configuration option: how to opt-in to SAT, if you really need it (e.g. for initial provisioning), and disable it again afterwards&#8211;in order to avoid any such forms of exploitation.</p>
<p>&nbsp;</p>
<div class="row grid" style="border-top: 8px solid; border-bottom: 1px solid #333;">
<div class="column-6">
<h3>Discover the Librem 5</h3>
<p>Purism believes building the Librem 5 is just one step on the road to launching a digital rights movement, where we—the people—stand up for our digital rights, where we place the control of your data and your family’s data back where it belongs: in your own hands.</p>
<p><a class="button-primary" title="Shop the Librem 5 now" href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener noreferrer">Preorder now</a></p>
</div>
<div class="column-6" style="text-align: center; position: relative;"><img style="max-width: 125%; position: absolute; right: -100px; margin: 0;" src="https://puri.sm/wp-content/uploads/2019/08/l5-hand-v2.png" /></div>
</div>
<style> .column-6:after { content: ""; min-height: 225px; /* padding-bottom: 30%; */ display: block; } .column-6 img { bottom: -0px; } @media only screen and (min-width: 600px) { .column-6:after { display: none; } .column-6 img { bottom: 0px; } } </style>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/sim-application-toolkit-avoid-being-exploited/">SIM Application Toolkit: Avoid Being Exploited</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>A Guest Post by Evon Ho</title>
		<link>https://puri.sm/posts/a-guest-post-by-evon-ho/</link>
		<pubDate>Tue, 17 Sep 2019 15:05:04 +0000</pubDate>
		<dc:creator><![CDATA[Purism]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Testimonials and user stories]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65681</guid>
		<description><![CDATA[<p>Evon Ho, a first year Computer Science student at Southern New Hampshire University, asked us a few questions about Purism. Todd Weaver, Purism&#8217;s founder and CEO, answered them, and Evon wrote the following essay: Purism: A Privacy Based Computer Company It all started when Todd Weaver, Founder and CEO of Purism, realized Big Tech could [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-guest-post-by-evon-ho/">A Guest Post by Evon Ho</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Evon Ho, a first year Computer Science student at Southern New Hampshire University, asked us a few questions about Purism. Todd Weaver, Purism&#8217;s founder and CEO, answered them, and Evon wrote the following essay:</p>
<blockquote><p>Purism: A Privacy Based Computer Company</p>
<p>It all started when Todd Weaver, Founder and CEO of Purism, realized Big Tech could not be trusted as moral guardians of his and his children’s data. The current paradigm of corporations data hoarding is, as Todd describes it, built on “a tech-stack of exploitation”&#8211;and not by accident, but by design. Companies such as Google and Microsoft&#8211;and especially Facebook&#8211;intentionally collect, store and share user data to whomever they see fit. In recent events, the California Consumer Privacy Act, which becomes effective on January 1, 2020, will make residents of California able to know what personal data is being collected about them, know whether their personal data is sold or disclosed and to whom, say no to the sale of personal data, access their personal data, request a business delete any personal data information about a consumer collected from that consumer and not be discriminated against for exercising their privacy rights. This sounds good, and it is, but not according to Big Tech. Big Tech such as Facebook hired a firm to run ads that said things like “Your next click could cost you $5! Say no to the California Consumer Privacy Act”. Big Tech does not care about privacy, they care about their bottom line. This is where Purism comes in.</p>
<p class="western">Purism is a privacy focused company. Their devices, the Librem5, Librem13 and Librem15 run PureOS&#8211;a GNU/Linux distribution that puts privacy, security and freedom first, by design. It includes popular privacy-respecting software such as PureBrowser. The OS helps you “Surf the web safely without being tracked by advertisers or marketers” and allows you to easily encrypt your entire OS and data with your own encryption keys. This is huge, especially if you understand how much of your “private” data is actually being shared.</p>
<h3>I e-mailed the company asking questions about the entrepreneurial aspects of running a computer company, expecting an employee to send over a typical pre-written list of information. To my surprise and excitement, the CEO and Founder Todd Weaver e-mailed me himself, and answered my questions. This was very inspiring.</h3>
<p>There are quite a few entrepreneurial aspects of running a computer company. You must manufacture your own computers and design your own software. Because the software in PureOS is free software, there exists a community of paid and volunteer developers who maintain it. This is beneficial in many ways, such as it allows the code to be freely auditable and if there’s a bug it’s usually fixed fairly quickly. There are some challenges that one must overcome as well, such as delays in manufacturing and the management of growth based on cash flow&#8211;this is crucial. With dedication and perseverance, these challenges are easily overcome, and one can move onto the designing process.</p>
<p>To design a computer from scratch, you must have a goal in mind. Purism’s goal is to give consumers “a computer that you fully own and control”. This goal then allows them to list all the reasons why current laptops and phones cannot meet such a goal. They then look to solve each reason of incompatibility to produce a new and improved device that allows one to fully own and control their device. To fund such a company, one needs an investment of capital. Founder and CEO Todd Weaver invested his own money into the company initially, then ran crowd-funding to bring the first product to market.</p>
<p>Purism’s goals for the future include continuing to improve and expand their products to offer a convenient alternative that respects people and their digital lives. This is a noble and respectable goal, and I for one would love to use a Librem when I graduate Southern New Hampshire University and work as a software developer.</p>
<p>In conclusion, if one has a worthy goal in mind such as Purism’s privacy-first approach, nothing is impossible&#8211;not even running a successful computer company.</p></blockquote>
<p>Thank you, Evon&#8211;we loved it, and are very proud that you chose us. Keep up the good work!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-guest-post-by-evon-ho/">A Guest Post by Evon Ho</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Batch FAQ</title>
		<link>https://puri.sm/posts/librem-5-batch-faq/</link>
		<pubDate>Thu, 12 Sep 2019 22:40:27 +0000</pubDate>
		<dc:creator><![CDATA[Purism]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65649</guid>
		<description><![CDATA[<p>We have been getting a lot of questions related to our announcement of the Librem 5 shipping schedule. Here, we will post the answers to some frequently asked questions, and update this document as new questions come in. Q: The shipping announcement says the first batch of the Librem 5 will have a &#8220;loose fit&#8221;. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-batch-faq/">Librem 5 Batch FAQ</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>We have been getting a lot of questions related to our announcement of the <a href="https://puri.sm/posts/librem-5-shipping-announcement/">Librem 5 shipping schedule</a>. Here, we will post the answers to some frequently asked questions, and update this document as new questions come in.</h2>
<p><img class="size-full" src="https://puri.sm/wp-content/uploads/2019/09/9840631f6662119d.jpeg" alt="" width="1024" height="682" /></p>
<p><em><strong>Q: The shipping announcement says the first batch of the Librem 5 will have a &#8220;loose fit&#8221;. Does this mean the phones will be low-quality?</strong></em></p>
<p>A: Every Librem 5 that rolls off the assembly line will be a high-quality smartphone. Every component, tested and lovingly assembled. &#8220;Loose fit&#8221; in this case leaves us room to have ribbon cables, antenna cables, camera spacer and LED alignment have a looser tolerance than later batches.</p>
<p><strong><em>Q: The first batch of Librem 5s is listed as having &#8220;unfinished switch caps&#8221;. What does that mean?</em></strong></p>
<p>A: That the hardware kill switches will be the bare switch pole, without the ergonomic covers on top that will make them easier and more comfortable to use.</p>
<p><strong><em>Q: Will all software updates be released for all shipping batches of the Librem 5? If I get batch Birch, will I get the same software updates as later batches?</em></strong></p>
<p>A: Yes! All batches will receive the same software updates at the same time. That means new (and updated) applications will arrive at the same time, no matter which batch you received.</p>
<p><em><strong>Q: If I receive the Librem 5 from one of the first batches, will I have a fully functional phone?</strong></em></p>
<p>A: Yes! Even the very earliest batches will be capable smartphone, including a modern web browser and core cell phone functionality.</p>
<p><em><strong>Q: How do I know which shipping batch my order will be part of?</strong></em></p>
<p>A: You will receive an email letting you know which shipment batch you are scheduled to be part of, based on your place in the queue.</p>
<p><em><strong>Q: Will it be possible to replace the case (or other components) in the Librem 5 I receive with parts from a later batch?</strong></em></p>
<p>A: Very likely, yes: screw-holes in the PCBA and basic mechanical design are unlikely to change; minor adjustments for ease of assembly or antenna placement are examples of case modifications between batches.</p>
<p><em><strong>Q: Can the operating system the Librem 5 ships with (the GNU/Linux based PureOS) be replaced with another operating system?</strong></em></p>
<p>A: Yes! There are community efforts underway to port UBports, Plasma, and PostmarketOS to the Librem 5. We will be publishing a blog post soon with details about the progress of these projects. However, Purism has invested heavily in PureOS for the Librem 5 and will only be able to support PureOS on the Librem 5 directly.</p>
<p><em><strong>Q: What is PureOS, exactly?</strong></em></p>
<p>A: PureOS is a GNU/Linux-based operating system, which powers all of the privacy-focused laptops Purism ships. PureOS has been lovingly and painstakingly optimized for the touch screen of the Librem 5. PureOS is also Free Software Foundation endorsed.</p>
<p><strong><em>Q: I REALLY want one of the Librem 5s from the first batch (Aspen)! Pretty please?</em></strong></p>
<p>A: Thank you for asking politely! We will be assigning each customer a batch according to when their order was placed. If a customer in an earlier batch chooses to wait for a later batch, we will reassign that slot.</p>
<p><em><strong>Q: If I order today, what shipping batch will I be in and when will my Librem 5 arrive?</strong></em></p>
<p>A: Orders placed today will likely fall in Batch Evergreen. <a href="https://shop.puri.sm/shop/librem-5/">Order now</a> to secure your place in line&#8211;we are doing everything we can to process orders faster than the queue is filling up, and will continue in that effort.</p>
<p>&nbsp;</p>
<div class="row grid" style="border-top: 8px solid; border-bottom: 1px solid #333;">
<div class="column-6">
<h3>Discover the Librem 5</h3>
<p>Purism believes building the Librem 5 is just one step on the road to launching a digital rights movement, where we—the people—stand up for our digital rights, where we place the control of your data and your family’s data back where it belongs: in your own hands.</p>
<p><a class="button-primary" title="Shop the Librem 5 now" href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener noreferrer">Preorder now</a></p>
</div>
<div class="column-6" style="text-align: center; position: relative;"><img style="max-width: 125%; position: absolute; right: -100px; margin: 0;" src="https://puri.sm/wp-content/uploads/2019/08/l5-hand-v2.png" /></div>
</div>
<style> .column-6:after { content: ""; min-height: 225px; /* padding-bottom: 30%; */ display: block; } .column-6 img { bottom: -0px; } @media only screen and (min-width: 600px) { .column-6:after { display: none; } .column-6 img { bottom: 0px; } } </style>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-batch-faq/">Librem 5 Batch FAQ</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The California Consumer Privacy Act</title>
		<link>https://puri.sm/posts/the-california-consumer-privacy-act/</link>
		<pubDate>Wed, 11 Sep 2019 12:13:31 +0000</pubDate>
		<dc:creator><![CDATA[Drew Liebert]]></dc:creator>
				<category><![CDATA[Regulatory]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65545</guid>
		<description><![CDATA[<p>Next January, California is set to have one of the strongest laws in the nation, passed last year with unusual bi-partisan support, seeking to add some first-of-their-kind state protections over our personal data. It is called the California Consumer Privacy Act (CCPA) of 2018. It nicely reflects the fact that our state is one of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-california-consumer-privacy-act/">The California Consumer Privacy Act</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Next January, California is set to have one of the strongest laws in the nation, passed last year with unusual bi-partisan support, seeking to add some first-of-their-kind state protections over our personal data. It is called the California Consumer Privacy Act (CCPA) of 2018. It nicely reflects the fact that our state is one of the only states in the country whose constitution in Article 1, Section 1, actually contains an express right of privacy guaranteed to all Californians.</p>
<p>This past year, since the bill’s passage, Purism has worked tirelessly&#8211;and dedicated substantial staff resources&#8211;to help make sure the new law is not substantially thrashed by Big Tech’s huge army before the fledgling law can even take effect: an army of highly-paid lobbyists. The stakes for Big Tech are large, but the stakes for consumer privacy, and for Purism’s philosophy of consumer privacy protection and control, are so much bigger.</p>
<p>To try to stem the extraordinary political muscle of Big Tech in Sacramento, Purism has worked in close collaboration with California’s top privacy protection groups including the ACLU, EFF, Consumers Union, Common Sense Kids Action and the Privacy Rights Clearinghouse, and many others to try to stop the onslaught of Big Tech-sponsored bills seeking to vitiate the new law.</p>
<p><a href="https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-california-congressional-privacy-commission/">Our CEO has testified in legislative hearings against the weakening measures</a>, and has recently co-written <a href="https://www.mercurynews.com/2019/06/23/6139396/">a powerful editorial published in the Mercury News</a>, the newspaper in the backyard of Big Tech in Silicon Valley, against these bills. As Purism’s legislative advocate, I have met with key California legislators to try to thwart Big Tech’s predictable onslaught against this new law.</p>
<h3>The new law is obviously a long overdue first step</h3>
<p>It seeks to give consumers quite a bit more control over the vast data companies collect, store, share and sell about them&#8211;all without their knowledge or meaningful consent. Needless to say, the secret collection and sale of these extraordinarily valuable troves of personal data have made Big Tech companies some of the most valuable companies in the world, the most politically powerful&#8211;and the greatest threat to our most basic privacy rights.</p>
<p>Among the new law’s key requirements:</p>
<ul>
<li>Businesses must provide certain disclosures when selling consumers’ personal information. This includes disclosing the categories of information the business has collected or sold, the categories of sources from which the information is collected, and the specific pieces of information collected about the consumer.</li>
<li>Additionally, the CCPA allows consumers who are 16 years of age or older to opt out of the sale of their personal information, with younger consumers needing to opt in before a business can sell their information.</li>
<li>Consumers can also request that certain personal information be deleted.</li>
</ul>
<h3>The new law is also obviously far from perfect, as Purism’s CEO repeatedly testified this year in the Legislature</h3>
<p>It does not even require companies to give consumers the fundamental right to first affirmatively agree to opt in&#8211;to the selling or sharing of their private information, before it can ever be shared or sold&#8211;instead forcing unknowing consumers to try to figure out the labyrinth of (often purposely tedious and confusing) website requirements in order to opt out of the sharing of their most personal data.</p>
<p>Like all laws, it reflects substantial political and policy compromise. It only came about because the California Legislature felt it had no choice back in 2017: to respond to a pending, highly popular statewide ballot initiative which sought to empower consumers, to find out what information businesses were collecting on them, and give them the choice to stop the sale of their personal information. In exchange for the introduction of the new California Consumer Privacy Act, the sponsors of the ballot initiative agreed to withdraw their initiative, and the new CCPA was quickly shepherded through the legislative process and signed into law.</p>
<p>Though Big Tech companies were unable to stop the passage of this law, they <em>were</em> able to secure a major procedural loop-hole to give them future “bites at the apple” this year, before the new consumer protection law actually takes effect next year. They got the Legislature to agree to postpone its legal effect until next January 1st&#8211;giving Big Tech the chance to try to undermine the key protections the new law contains.</p>
<h3>Some Big Tech CEOs publicly continue to assert they have become true converts to the importance of protecting consumer privacy</h3>
<p>Instead, they&#8211;and their legions of powerful lobbyists&#8211;have, disappointingly, spent this past year in the California Legislature quietly attempting to do all they can to weaken California’s new privacy law before it even goes into effect.</p>
<p>I am therefore very pleased to report that, as the legislative year winds to a close this hot summer in California’s Capitol, Purism’s tenacious efforts, in collaboration with many other committed, non-profit privacy groups like ACLU and EFF&#8211;and the commitment to privacy by key legislators in Sacramento&#8211;appear to be paying off for California consumers. Although some measures are continuing to move forward that may relax some of the provisions in the CCPA, the many Big Tech-supported bills that have sought to substantially curtail consumer privacy rights have, at least for now, been halted.</p>
<p>Purism and its supporters can therefore be very proud; we are not just “talking the privacy talk” but “walking the privacy walk” when it comes to fighting for consumer privacy rights and consumer empowerment. Though the political battles are clearly <em>never</em> over, the social benefit company’s efforts to better protect our cherished personal privacy, and consumer control over our, and our children’s, privacy will always be worth the substantial effort and cost.</p>
<p>We shall continue this worthy fight.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-california-consumer-privacy-act/">The California Consumer Privacy Act</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism at GUADEC 2019</title>
		<link>https://puri.sm/posts/purism-at-guadec-2019/</link>
		<pubDate>Tue, 10 Sep 2019 15:46:05 +0000</pubDate>
		<dc:creator><![CDATA[Purism]]></dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65547</guid>
		<description><![CDATA[<p>GUADEC 2019 took place in Thessaloniki, Greece, and some of Purism&#8217;s team members were there. This year’s program was excellent, with plenty of interesting presentations; among them, Tobias Bernard&#8217;s talk about adaptive patterns and GNOME apps that work well across different form factors, from phones to desktops. Below is a video of his talk, which [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-at-guadec-2019/">Purism at GUADEC 2019</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>GUADEC 2019 took place in Thessaloniki, Greece, and some of Purism&#8217;s team members were there. This year’s program was excellent, with plenty of interesting presentations; among them, Tobias Bernard&#8217;s talk about adaptive patterns and GNOME apps that work well across different form factors, from phones to desktops. Below is a <a href="https://guadec.ubicast.tv/videos/designing-gnome-mobile-apps">video of his talk</a>, which we think you should really watch when you have a chance&#8211;and here are <a href="https://github.com/bertob/guadec2019-slides/blob/master/guadec-2019-gnome-mobile-apps.pdf">the slides</a>.</p>
<p><iframe class="media-embed" src="https://guadec.ubicast.tv/permalink/v125d0af53a1fipzbiat/iframe/" width="720" height="530" allowfullscreen="allowfullscreen"></iframe></p>
<p>One of the main themes of the talks was around containerized applications and the security involved. We learned about punching holes through flatpaks, with portals to provide the flatpak with temporary access to a service, and how to better secure multi-process flatpak applications with bubblewrap.</p>
<p>And after busy days of talks, we found the time to relax and casually chat at the picnic hosted at beautiful Platanakia:</p>
<figure id="attachment_65578" style="width: 2016px" class="wp-caption aligncenter"><img class="wp-image-65578 size-full" src="https://puri.sm/wp-content/uploads/2019/09/20190824_222243.jpg" alt="Purism team members at GUADEC" width="2016" height="1512" srcset="https://puri.sm/wp-content/uploads/2019/09/20190824_222243.jpg 2016w, https://puri.sm/wp-content/uploads/2019/09/20190824_222243-300x225.jpg 300w, https://puri.sm/wp-content/uploads/2019/09/20190824_222243-768x576.jpg 768w, https://puri.sm/wp-content/uploads/2019/09/20190824_222243-1024x768.jpg 1024w" sizes="(max-width: 2016px) 100vw, 2016px" /><figcaption class="wp-caption-text">Heather Ellsworth, François Téchené, Julian Sparber, Bob Ham, Tobias Bernard and Adrien Plazas</figcaption></figure>
<p>There were also a few meals, involving food, drinks and some interesting discussions about possible software ethics rating systems encouraging ethical practices like encryption, discouraging unethical ones like tracking.</p>
<figure id="attachment_65577" style="width: 2016px" class="wp-caption aligncenter"><img class="wp-image-65577 size-full" src="https://puri.sm/wp-content/uploads/2019/09/20190825_201837.jpg" alt="Heather, Adrien, Bob, François, Tobias and Julian sitting outside a restaurant" width="2016" height="1512" srcset="https://puri.sm/wp-content/uploads/2019/09/20190825_201837.jpg 2016w, https://puri.sm/wp-content/uploads/2019/09/20190825_201837-300x225.jpg 300w, https://puri.sm/wp-content/uploads/2019/09/20190825_201837-768x576.jpg 768w, https://puri.sm/wp-content/uploads/2019/09/20190825_201837-1024x768.jpg 1024w" sizes="(max-width: 2016px) 100vw, 2016px" /><figcaption class="wp-caption-text">From left to right, Heather, with Adrien and Bob in the back; in the front row and also from left to right are François, Tobias and Julian</figcaption></figure>
<p>&nbsp;</p>
<figure id="attachment_65615" style="width: 2016px" class="wp-caption aligncenter"><img class="wp-image-65615 size-full" src="https://puri.sm/wp-content/uploads/2019/09/20190826_202909.jpg" alt="Purism team members sitting around a dinner table at a restaurant" width="2016" height="1512" srcset="https://puri.sm/wp-content/uploads/2019/09/20190826_202909.jpg 2016w, https://puri.sm/wp-content/uploads/2019/09/20190826_202909-300x225.jpg 300w, https://puri.sm/wp-content/uploads/2019/09/20190826_202909-768x576.jpg 768w, https://puri.sm/wp-content/uploads/2019/09/20190826_202909-1024x768.jpg 1024w" sizes="(max-width: 2016px) 100vw, 2016px" /><figcaption class="wp-caption-text">The one where we invited the little hacker-in-training</figcaption></figure>
<p>Finally, after attending GUADEC talks and BoFs (and the occasional picnic), we went to the beach on Wednesday; we even have a picture, so you can see it really did happen&#8230;</p>
<p><img class="aligncenter wp-image-65596 size-full" src="https://puri.sm/wp-content/uploads/2019/09/beach.jpeg" alt="Beach near Thessaloniki" width="1280" height="299" srcset="https://puri.sm/wp-content/uploads/2019/09/beach.jpeg 1280w, https://puri.sm/wp-content/uploads/2019/09/beach-300x70.jpeg 300w, https://puri.sm/wp-content/uploads/2019/09/beach-768x179.jpeg 768w, https://puri.sm/wp-content/uploads/2019/09/beach-1024x239.jpeg 1024w" sizes="(max-width: 1280px) 100vw, 1280px" /></p>
<style> @media (min-width:769px) {.media-embed  {max-width: 125%; margin-left: -12.5%; margin-right: -12.5%; width: 125%; } } </style>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-at-guadec-2019/">Purism at GUADEC 2019</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>PureOS Rolls On as Stable</title>
		<link>https://puri.sm/posts/pureos-rolls-on-as-stable/</link>
		<pubDate>Fri, 06 Sep 2019 14:04:11 +0000</pubDate>
		<dc:creator><![CDATA[jeremiah foster]]></dc:creator>
				<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65438</guid>
		<description><![CDATA[<p>PureOS was originally conceived as a rolling release. A rolling release receives periodic updates in a &#8220;rolling&#8221; fashion&#8211;they just keep rolling in. This is good, as you get the latest cutting edge changes to applications and system libraries. But unfortunately there is a side effect to rolling releases: they are bad for stability, because the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureos-rolls-on-as-stable/">PureOS Rolls On as Stable</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>PureOS was originally conceived as a rolling release.</h2>
<p>A rolling release receives periodic updates in a &#8220;rolling&#8221; fashion&#8211;they just keep rolling in. This is good, as you get the latest cutting edge changes to applications and system libraries. But unfortunately there is a side effect to rolling releases: they are bad for stability, because the changes they bring are often not yet widely used, or tested, in real world situations. This issue is inherent to any fast moving body of code, and PureOS is no different; we attempt to solve it by putting the user at the center of our design choices. With this in mind, we polled our forum and worked internally to devise a pragmatic solution that follows best practices, while continuing to provide options for users.</p>
<p>Our solution is straightforward; we&#8217;re making our PureOS release a stable release, and creating a new rolling release. In addition to this stable release, we&#8217;re adding two complementary suites&#8211;amber-security and amber-updates&#8211;which work together to bring a rock solid release. We will also build and release a rolling release just like the one our users are used to, meant for those who are willing to use, and test, the latest software from upstream. Both releases will receive security updates, of course, but the rolling release will lack real-world testing, by design.</p>
<h2>How do I get the new stable release?</h2>
<p>You likely already have the new stable release. We&#8217;ve tested it for a while, and are now adding it as a normal update to PureOS base files. It should be an uneventful update&#8211;but if there are any issues at all, please let us know via <a href="https://tracker.pureos.net/">bug report in our tracker system.</a> We&#8217;ll announce our new rolling release in the near future. We will continue working on it, and during the period where our upstream has moved from stable to a new testing release there will likely be a bit of churn. Waiting for that to settle will likely benefit the quality of the new rolling release.</p>
<p>You can also <a href="https://downloads.puri.sm/live/gnome/2019-08-30/pureos-8.0-gnome-live_20190830-amd64.hybrid.iso">download the new release</a>. We&#8217;ll continue to update our documentation on the new release though very little has fundamentally changed. All our current documentation is routinely updated, and it all pertains to this latest release.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureos-rolls-on-as-stable/">PureOS Rolls On as Stable</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Shipping Announcement</title>
		<link>https://puri.sm/posts/librem-5-shipping-announcement/</link>
		<pubDate>Thu, 05 Sep 2019 14:52:34 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Press]]></category>
		<category><![CDATA[Product or service launch]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65551</guid>
		<description><![CDATA[<p>SAN FRANCISCO, Calif., September 5, 2019 &#8212; Purism begins its iterative shipping schedule for the much anticipated Librem 5 phone running PureOS. The Librem 5 phone is built from the ground up to respect the privacy, security, and freedoms of society. It is a revolutionary approach to solving the issues that people face today around [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-shipping-announcement/">Librem 5 Shipping Announcement</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>SAN FRANCISCO, Calif., September 5, 2019 &#8212; Purism begins its iterative shipping schedule for the much anticipated Librem 5 phone running PureOS.</p>
<p>The Librem 5 phone is built from the ground up to respect the privacy, security, and freedoms of society. It is a revolutionary approach to solving the issues that people face today around data exploitation &#8212; putting people in control of their own digital lives.</p>
<p>Due to the high volume, growing demand for the Librem 5, and in the interest of openness and transparency, Purism is publishing its full, detailed, iterative shipping schedule. This expands on the existing commitment to start shipping in Q3 by defining specific batches, their features, and their corresponding ship dates.</p>
<p>Most companies keep their release and product plans secret right up until mass production launch, so they can avoid publicizing any setbacks or delays; but we have decided to bring our community and customers along with us for the Librem 5 journey, and have been transparent about our progress from the beginning. This means you have been able to celebrate along with us as we have reached milestones like shipping our devkit in 2018, the NXP CPU silicon issues we had to overcome, placing our first call in early 2019, sending our first SMS. You have been able to track our software progress directly from our public code repositories and watch live updates to libhandy, Phosh, Chatty, and the rest of our software. And we are compliant with, and submitting for, the &#8220;Respects Your Freedom&#8221; certification from the Free Software Foundation.</p>
<h2>The iteration schedule starts in September, 2019, and the Librem 5 will be shipping in batches with incrementing code names. Each iteration improves upon the prior in a rapid rolling release throughout the entire first version of the phone, including the public plans for the second revision of the phone for context.</h2>
<p>Every iteration includes updates to hardware, mechanical design, and software. We will be contacting each customer to confirm their shipping address, which modem and power supply they would like, and to confirm which shipping batch they are currently scheduled to receive &#8212; and to give them an opportunity to select a later batch than they are scheduled for, should they prefer to wait for a later iteration. As slots in a particular early batch free up, we will open it up for others in a later batch to join in, according to the date of the order.</p>
<p>If you haven‘t yet placed your order (or want to place an additional order) &#8212; the sooner you order, the earlier the shipping batch you will be added into.</p>
<h3><b>Batch Aspen</b></h3>
<p>Hardware: Initial board, all hardware components included.</p>
<p>Mechanical Design: Individually milled case, loose fit, varying alignment, unfinished switch caps (hand crafted).</p>
<p>Software: Initial release of core Apps, manage contacts, basic web browsing, early power management, software updates from the PureOS Store via the terminal.</p>
<p>Certifications: FCC and CE for Radios</p>
<p>Shipping window: September 24th – October 22nd</p>
<h3><b>Batch Birch</b></h3>
<p>Hardware: Next run of board, all hardware included.</p>
<p>Mechanical Design: Aspen + tighter fit, improved alignment.</p>
<p>Software: Aspen + improved setup, improved web browsing, improved power management.</p>
<p>Certifications: FCC and CE for Radios</p>
<p>Shipping window: October 29th – November 26th</p>
<h3><b>Batch Chestnut</b></h3>
<p>Hardware: All hardware included.</p>
<p>Mechanical Design: Birch + capped switches.</p>
<p>Software: Birch + final setup, improved web browsing, improved power management.</p>
<p>Certifications: FCC and CE for Radios</p>
<p>Shipping window: December 3rd – December 31st</p>
<h3><b>Batch Dogwood</b></h3>
<p>Hardware: All hardware included.</p>
<p>Mechanical Design: Chestnut + refinements.</p>
<p>Software: Chestnut + core apps improved, additional applications, refined graphical PureOS Store.</p>
<p>Certifications: FCC and CE for Radios</p>
<p>Shipping window: January 7th – March 31st</p>
<h3><b>Batch Evergreen</b></h3>
<p>Hardware: All hardware included.</p>
<p>Mechanical Design: Molded case.</p>
<p>Software: Long term support release</p>
<p>Certifications: FCC and CE</p>
<p>Shipping window: Q2 2020</p>
<h3><b>Batch Fir</b></h3>
<p>Hardware: 14nm Next Generation CPU</p>
<p>Mechanical Design: Version 2</p>
<p>Software: Long term support release</p>
<p>Certifications: FCC and CE</p>
<p>Shipping window: Q4 2020</p>
<p>Thank you to all the supporters who continue to share the Purism story with the world &#8212; this is a long-term movement around creating a digital society that respects people. Purism started in 2014 and has been growing triple digits year-over-year. The Librem 5 project started in 2017 with early bird backers rapidly funding the 60 day campaign that blew past the $2.5m mark. The Librem 5 devkit was released in December 2018. Software inventions and releases have been ongoing for a few years. Now we begin the iterative production releases of the Librem 5 phone, which our entire team is very excited to share.</p>
<p>&nbsp;</p>
<hr />
<h3>About Purism</h3>
<p>Purism is a Social Purpose Corporation devoted to bringing security, privacy, software freedom, and digital independence to everyone’s personal computing experience. With operations based in San Francisco, California, and around the world, Purism manufactures premium-quality laptops and phones, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.</p>
<h3>Media Contact</h3>
<p>Marie Williams, Coderella / Purism +1 415-689-4029 pr@puri.sm</p>
<p>See also the Purism press room for additional tools and announcements</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-shipping-announcement/">Librem 5 Shipping Announcement</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Announcing the PureBoot Bundle: Tamper-evident Firmware from the Factory</title>
		<link>https://puri.sm/posts/announcing-the-pureboot-bundle-tamper-evident-firmware-from-the-factory/</link>
		<pubDate>Tue, 03 Sep 2019 18:39:16 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Service Offering]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65391</guid>
		<description><![CDATA[<p>We have been promoting the benefits of our PureBoot tamper-evident firmware with a Librem Key for some time, but until now our laptops have shipped with standard coreboot firmware, that didn&#8217;t include tamper-evident features. To get tamper-evident features, you had to reflash your Librem laptop with PureBoot firmware after the fact, using our standard firmware [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/announcing-the-pureboot-bundle-tamper-evident-firmware-from-the-factory/">Announcing the PureBoot Bundle: Tamper-evident Firmware from the Factory</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have been promoting the benefits of our <a href="https://puri.sm/posts/pureboot-the-high-security-boot-process/">PureBoot</a> tamper-evident firmware with a <a href="https://puri.sm/posts/the-librem-key-makes-tamper-detection-easy/">Librem Key</a> for some time, but until now our laptops have shipped with standard coreboot firmware, that didn&#8217;t include tamper-evident features. To get tamper-evident features, you had to reflash your Librem laptop with PureBoot firmware after the fact, using our <a href="https://puri.sm/coreboot/">standard firmware update process</a>. One of the biggest challenges for most people using PureBoot was the initial setup process&#8211;but many people might  find installing an OS challenging too.</p>
<p>The best way to solve this challenge is for us <strong>to do the setup for you</strong>&#8211;and that&#8217;s what we are happy to announce today.</p>
<p>While we will still default to our standard coreboot firmware, starting today, if you order a Librem laptop and select the &#8220;PureBoot Bundle&#8221; option for the firmware, you can choose to <strong>have PureBoot installed and configured at the factory</strong>. The PureBoot Bundle includes a Librem Key, as well as a &#8220;Vault&#8221; USB drive that will contain the GPG public key we generated at the factory. You can use the Vault drive later to store backups of GPG keys you generate and store them in a safe place.</p>
<p>With the PureBoot Bundle, you will be able to detect firmware tampering and rootkits out of the box! Just unbox the laptop, plug in the Librem Key and turn it on&#8211;<a href="https://puri.sm/posts/complete-pureboot-demo-and-more-progress/">if the Librem Key blinks green, your laptop is safe; if it blinks red, it was tampered with in transit</a>. Also, now that <a href="https://puri.sm/posts/made-in-usa-librem-key/">our Librem Keys are made in the USA</a> next to our fulfillment center, we have even tighter control over the supply chain for the most critical trusted component in this equation.</p>
<h3>If you pick a PureBoot Bundle, we will perform the following additional steps on top of the standard PureOS install process</h3>
<ul>
<li>Reflash the firmware with PureBoot</li>
<li>Factory-reset the Librem Key and set default user and admin PINs</li>
<li>Generate a new, unique GPG key on the Librem Key</li>
<li>Copy the corresponding GPG public key to a USB flash drive shipped with the laptop</li>
<li>Sign all of the files in /boot with this GPG key</li>
<li>Add the GPG public key to the firmware&#8217;s GPG keyring and reflash the firmware</li>
<li>Reset the TPM and set a default admin PIN</li>
<li>Store the known-good firmware measurements in the TPM</li>
<li>Share a secret in the TPM and Librem Key to detect later tampering</li>
</ul>
<p>When you get your PureBoot Bundle, you can immediately test whether the firmware was tampered with during shipment. For an additional charge, you can contact us about our anti-interdiction services which, among other measures, ships the Librem laptop and Librem Key separately.</p>
<h3>We believe you should have full control over your keys</h3>
<p>Once you have verified the integrity of the firmware, you can set new passwords and secrets on the Librem Key and TPM, generate new GPG keys (or copy over GPG keys you already have), and re-sign all of the files, all with keys under your control, at any time.</p>
<p>We hope that, by setting it up for you at the factory, we can get this next-generation tamper-detection technology into more customers&#8217; hands. Everyone&#8211;not just hardcore geeks&#8211;deserves the peace of mind of knowing that their systems are safe from tampering; and unlike with other secure boot systems, PureBoot gives you tamper-evident firmware without vendor lock-in&#8211;you control all of the keys.</p>
<p>To get the PureBoot Bundle, order a <a href="https://shop.puri.sm/shop/librem-13/">Librem 13</a> or <a href="https://shop.puri.sm/shop/librem-15/">Librem 15</a> and on the configuration page in the shop, select &#8220;PureBoot Bundle&#8221; under the firmware option.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/announcing-the-pureboot-bundle-tamper-evident-firmware-from-the-factory/">Announcing the PureBoot Bundle: Tamper-evident Firmware from the Factory</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Why the Total Dossier on Everybody Must Stop</title>
		<link>https://puri.sm/posts/why-the-total-dossier-on-everybody-must-stop/</link>
		<pubDate>Tue, 03 Sep 2019 13:51:40 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Regulatory]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64734</guid>
		<description><![CDATA[<p>Where people go, what people do, and who talks to whom, should be kept private. There is a total dossier on everybody, and you are likely a willing, yet oppressed, participant. Willing because of how convenient it is; oppressed, because everything you do is under the complete control of others. Gang-stalking by corporations must stop. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/why-the-total-dossier-on-everybody-must-stop/">Why the Total Dossier on Everybody Must Stop</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Where people go, what people do, and who talks to whom, should be kept private.</h2>
<p>There is a total dossier on everybody, and you are likely a willing, yet oppressed, participant. Willing because of how convenient it is; oppressed, because everything you do is under the complete control of others.</p>
<p>Gang-stalking by corporations must stop. We have seen before what can happen when all the whereabouts of all people are tracked. The German Secret Police (the Stasi) had over 250,000 spies, who served in a four-decade long despotic regime over a population of 17 million, committing crimes against their own people&#8211;crimes that were <a href="https://www.nytimes.com/books/first/k/koehler-stasi.html" target="_blank" rel="nofollow noopener">viewed to be as brutal as those perpetrated by their Nazi predecessors</a>&#8211;reminds us what oppression is. We have seen what happens when your privacy is invaded, when what you do is tracked. Decades before the Stasi, the Gestapo had 40,000 spies watching over a country of over 80 million, committing the worst atrocities on civilians ever; this is what oppression is.</p>
<p>We have seen what happens when who talks to whom turns into a demagogic tragedy. McCarthyism was coined from recklessly slandering public figures, ruining the lives of hundreds of US citizen with unsubstantiated accusations; this is what repression is.</p>
<h3>The amount of data gathered on people from any of the aforementioned organizations is infinitesimally small, when compared to the astronomically large, nearly incomprehensible amount of personal data gathered from your mobile phone in just one day.</h3>
<p>Where you go is known with satellite-measured accuracy, within a meter of your position on earth. Polling every millisecond&#8211;even when offline, for later synchronizing&#8211;your exact location is recorded at every moment of every day, permanently. What floor you&#8217;re on, who you are near, how long you&#8217;re near them, what speed you&#8217;re traveling at, who you&#8217;re traveling with, are all elementary level mathematics to establish. Cross-linking a single data point like your longitude and latitude to a second data point like the radio distance to a cellular tower or three, adding in what Wi-Fi you connect to and the strength of connection, makes confirming your location in triplicate extremely easy.</p>
<p>What you do is matched against where you go, how long you are there, and how much you interact with your phone or health monitoring app. Knowing you&#8217;re at an event, bar, game, restaurant, hotel or friends house is matched against photos, videos, social media posts, chats, heart rate&#8211;or simply how often you look at your phone&#8211;and can determine what you&#8217;re doing with a remarkable degree of accuracy. Were you bored or engaged? Were you hungry, or did the salad you paid for suffice until the after-dinner pizza you had delivered late-night, after your ride-share (aka taxi+tracking) service dropped you off at 11:04pm?</p>
<p>Who talks with whom is egregiously recorded forever, and in nearly all cases what is said to whom is also flagrantly squirreled away for eternity. You chatting with your mother&#8211;yep, spied on. You texting your spouse&#8211;spied on. You calling to cancel cable&#8211;spied on. Your photo sent to your colleague&#8211;spied on. It&#8217;s easier to list all the things kept between just you and the intended recipient, because it is absolutely nothing. There is no app that can guarantee it&#8217;s just two people involved in a text string; because apps, the underlying operating systems, and the underlying cellular networks, are controlled by the very same groups that surveil all of society.</p>
<h3>Your oppression is not entirely your fault; knowledge is purposefully and behaviorally restricted from your purview.</h3>
<p>It&#8217;s either buried in the hundredth paragraph of a terms-of-service you didn&#8217;t read, or shrouded in enough mystery you follow the rest of the anchovies in a collective experiment wondering &#8220;if it is this bad, why hasn&#8217;t anybody stopped it?&#8221;</p>
<p>It takes any one of three things to solve this&#8211;as history has shown: governments regulating to benefit civilians; business models changing to respect society; people switching to products and services that are ethical for society. Surveillance companies are working daily to remove the last one from happening; people switching requires a network effect, and they put up anti-competitive barriers for any new competition to have a level playing field. These same companies&#8211;all Big Tech companies&#8211;are so gargantuan that they don&#8217;t have to change their business practices toward helping society; they opt to use marketing slogans to keep their oppressive regimes dominating instead.</p>
<p>This leaves governments to step in and consider regulating the behemoths&#8211;never forgetting that lobbying efforts will work hard to adding regulation that keeps the companies gigantic, rather than regulation that benefits civilians, since this type of regulation makes smaller but growing competition need to jump higher and higher to vault over the new regulatory hurdle.</p>
<p>To rid yourself of the unethical dossier collected on you takes having a (convenient) alternative that avoids knowing where people go, what people do, who talks to whom, all it takes is governments to stand up and regulate to benefit its civilians.</p>
<p>And most importantly, it takes you leading by example, using products designed to respect your rights.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/why-the-total-dossier-on-everybody-must-stop/">Why the Total Dossier on Everybody Must Stop</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The Librem 5 Application Compatibility Chart</title>
		<link>https://puri.sm/posts/the-librem-5-application-compatibility-chart/</link>
		<pubDate>Fri, 30 Aug 2019 16:58:51 +0000</pubDate>
		<dc:creator><![CDATA[Purism]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65209</guid>
		<description><![CDATA[<p>All of the applications below are confirmed to run on the Librem 5 Smartphone running PureOS. Each application is grouped into one of three categories based on how optimized it is for the mobile screen. Mobile Optimized &#8211; Fine tuned for mobile screen and touch input. Visual Issues &#8211; Some visual elements could use additional [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-librem-5-application-compatibility-chart/">The Librem 5 Application Compatibility Chart</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>All of the applications below are confirmed to run on the <a href="https://puri.sm/products/librem-5/">Librem 5 Smartphone</a> running <a href="https://pureos.net/">PureOS</a>.</p>
<p>Each application is grouped into one of three categories based on how optimized it is for the mobile screen.</p>
<p style="padding-left: 30px;"><strong>Mobile Optimized</strong> &#8211; Fine tuned for mobile screen and touch input.</p>
<p style="padding-left: 30px;"><strong>Visual Issues</strong> &#8211; Some visual elements could use additional fine tuning for mobile screens.</p>
<p style="padding-left: 30px;"><strong>Needs Mobile Optimization</strong> &#8211; Runs and is functional, but not all visual elements are visible or fit on the screen.</p>
<p>This list was last updated on August 30, 2019 and some items are maintained by the team at Purism.  This is not a complete list of all pieces of software that run on the Librem 5 (either currently or in the future) and additional applications will be added to this chart as they are tested and verified.</p>
<h3>The Librem 5 Application Compatibility Chart</h3>
<p>
<table id="tablepress-39" class="tablepress tablepress-id-39 librem-5-compatibility">
<thead>
<tr class="row-1 odd">
	<th class="column-1">Application</th><th class="column-2">Mobile Optimized</th><th class="column-3">Visual Issues</th><th class="column-4">Needs Mobile Optimization</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/calls.png"><br />
<span class="type">Phone Calls</span><br />
<span class="name"><a href="https://source.puri.sm/Librem5/calls">Calls</a></span><br />
</td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-3 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/chatty.png"><br />
<span class="type">SMS, Messaging</span><br />
<span class="name"><a href="https://source.puri.sm/Librem5/chatty">Chatty</a></span><br />
</td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-4 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/epiphany.png"><br />
<span class="type">Web Browser</span><br />
<span class="name"> <a href="https://wiki.gnome.org/Apps/Web">GNOME Web</a></span></td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-5 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/gnome-contacts.png"><br />
<span class="type">Utilities</span><br />
<span class="name"><a href="https://wiki.gnome.org/Apps/Contacts">GNOME Contacts</a></span></td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-6 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/settings.png"><br />
<span class="type">Utilities</span><br />
<span class="name"><a href="https://source.puri.sm/Librem5/gnome-control-center">GNOME Settings</a></span></td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-7 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/gnome-clocks.png"><br />
<span class="type">Utilities</span><br />
<span class="name"> <a href="https://wiki.gnome.org/Apps/Clocks">GNOME Clocks</a></span></td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-8 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/animatch.png"><br />
<span class="type">Games</span><br />
<span class="name"><a href="https://gitlab.com/HolyPangolin/animatch/">Animatch</a></span></td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-9 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/kings-cross.png"><br />
<span class="type">Development</span><br />
<span class="name"><a href="https://gitlab.gnome.org/ZanderBrown/kgx">King's Cross</a> Terminal</span></td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-10 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/gnome-help.png"><br />
<span class="type">Utilities</span><br />
<span class="name">GNOME Help</span></td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-11 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/lollypop.png"><br />
<span class="type">Music Player</span><br />
<span class="name"><a href="https://wiki.gnome.org/Apps/Lollypop">Lollypop</a></span></td><td class="column-2"><span class="check">✓</span></td><td class="column-3"></td><td class="column-4"></td>
</tr>
<tr class="row-12 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/gnome-archive-manager.png"><br />
<span class="type">Utilities</span><br />
<span class="name"><a href="https://en.wikipedia.org/wiki/GNOME_Archive_Manager">GNOME Archive Manager</a></span><br />
</td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-13 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/eog.png"><br />
<span class="type">Image Viewer</span><br />
<span class="name"><a href="https://en.wikipedia.org/wiki/Eye_of_GNOME">Eye of GNOME</a></span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-14 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/gnome-disks.png"><br />
<span class="type">Utilities</span><br />
<span class="name"><a href="https://en.wikipedia.org/wiki/GNOME_Disks">GNOME Disk Utility</a></span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-15 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/drawing.png"><br />
<span class="type">Graphic Design</span><br />
<span class="name"><a href="https://github.com/maoschanz/drawing">Drawing</a></span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-16 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/fragments.png"><br />
<span class="type">Torrent Client</span><br />
<span class="name"><a href="https://gitlab.gnome.org/World/Fragments">Fragments</a></span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-17 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/podcasts.png"><br />
<span class="type">Podcasts</span><br />
<span class="name"> <a href="https://wiki.gnome.org/Apps/Podcasts">GNOME Podcasts</a></span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-18 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/openTTD.png"><br />
<span class="type">Games</span><br />
<span class="name"> <a href="https://www.openttd.org/">OpenTTD</a></span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-19 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/xournal.png"><br />
<span class="type">PDF Editor</span><br />
<span class="name"> <a href="http://xournal.sourceforge.net/">Xournal</a></span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-20 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/gnome-calculator.png"><br />
<span class="type">Utilities</span><br />
<span class="name"> <a href="https://wiki.gnome.org/Apps/Calculator">GNOME Calculator</a> </span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-21 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/aisleriot.png"><br />
<span class="type">Games</span><br />
<span class="name"> <a href="https://wiki.gnome.org/Apps/Aisleriot">Aisleriot</a></span></td><td class="column-2"></td><td class="column-3"><span class="check">✓</span></td><td class="column-4"></td>
</tr>
<tr class="row-22 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2019/08/dosbox.png"><br />
<span class="type">Emulators</span><br />
<span class="name"><a href="https://www.dosbox.com/">DOSBox</a></span></td><td class="column-2"></td><td class="column-3"></td><td class="column-4"><span class="check">✓</span></td>
</tr>
</tbody>
</table>
<!-- #tablepress-39 from cache --><br />
<a href="https://source.puri.sm/Librem5/Apps_Issues">If you see any incorrect entries or bugs, please file them here</a></p>
<div class="row grid" style="border-top: 8px solid; border-bottom: 1px solid #333;">
<div class="column-6">
<h3>Discover the Librem 5</h3>
<p>Purism believes building the Librem 5 is just one step on the road to launching a digital rights movement, where we—the people—stand up for our digital rights, where you place the control of your data and your family’s data back where it belongs: in your own hands.</p>
<p><a class="button-primary" title="Shop the Librem 5 now" href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener noreferrer">Preorder now</a></p>
</div>
<div class="column-6" style="text-align: center; position: relative;"><img style="max-width: 125%; position: absolute; right: -100px; margin: 0;" src="https://puri.sm/wp-content/uploads/2019/08/l5-hand-v2.png" /></div>
</div>
<style> .librem-5-compatibility td.column-1 img {width:64px !important;filter: drop-shadow(0 1px 12px rgba(0,0,0,0.05)) drop-shadow(0 -1px rgba(0,0,0,0.05)) drop-shadow(1px 0 rgba(0,0,0,0.1)) drop-shadow(0 1px rgba(0,0,0,0.3)) drop-shadow(-1px 0 rgba(0,0,0,0.1));}.column-6:after { content: ""; min-height: 225px; /* padding-bottom: 30%; */ display: block; } .column-6 img { bottom: -0px; } @media only screen and (min-width: 600px) { .column-6:after { display: none; } .column-6 img { bottom: 0px; } } </style>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-librem-5-application-compatibility-chart/">The Librem 5 Application Compatibility Chart</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism CTO Presents &#8220;A Mobile Phone that Respects Your Freedom&#8221; at CCCamp</title>
		<link>https://puri.sm/posts/purism-cto-presents-a-mobile-phone-that-respects-your-freedom-at-cccamp/</link>
		<pubDate>Wed, 28 Aug 2019 18:05:50 +0000</pubDate>
		<dc:creator><![CDATA[Purism]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Supply chain]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65342</guid>
		<description><![CDATA[<p>It is not easy to build hardware that respects your freedom, and it becomes even more challenging when that hardware is a mobile phone. No one knows this better than Purism CTO Nicole Faerber&#8211;and at CCCamp 2019 she elaborated on these challenges in a 45-minute presentation: &#8220;A Mobile Phone that Respects Your Freedom.&#8221; While we [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-cto-presents-a-mobile-phone-that-respects-your-freedom-at-cccamp/">Purism CTO Presents &#8220;A Mobile Phone that Respects Your Freedom&#8221; at CCCamp</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>It is not easy to build hardware that respects your freedom, and it becomes even more challenging when that hardware is a mobile phone. No one knows this better than Purism CTO Nicole Faerber&#8211;and at <a href="https://media.ccc.de/v/Camp2019-10238-a_mobile_phone_that_respects_your_freedom">CCCamp 2019 she elaborated on these challenges in a 45-minute presentation: &#8220;A Mobile Phone that Respects Your Freedom.&#8221;</a> While we strongly suggest everyone view the talk itself (it&#8217;s so good!), in this post we will pull out a few of the highlights:</p>
<h2>Mobile phone market is a small number of big players</h2>
<p>As everyone knows, the current smartphone market is a duopoly with the majority of phones running Android, and the rest running iOS. But the chipset market and the bulk of the smartphone supply chain is in the hands of only a few large companies. Two companies only (Mediatek and Qualcomm) account for the bulk of Android phones, which itself accounts for the majority of phones on the market. That&#8217;s not just a lot of control in a small number of companies, it also presents its own challenges if you want to create a device that respects freedom in a marketplace where the norm is proprietary software. This means most phones integrate as much as possible into as few chips as possible&#8211;and those chips generally require proprietary firmware and drivers to function.</p>
<h2>Patents present a unique challenge</h2>
<p>One thing many people don&#8217;t understand outside of the mobile space is the impact that patents have. Every new generation of phone technology brings with it hundreds, if not thousands, of patents. While patent holders have certain requirements to license these patents to others, they also use their patents to control the market. This is particularly relevant when you consider just how important mobile phones have become in everyone&#8217;s lives&#8211;having, in many cases, replaced the traditional personal computer as the primary computing device. This control over the market via patents presented us with a lot of challenges, in particular when attempting to source a standalone 4G modem that supported voice.</p>
<h2>Unveiling the Librem 5 PCB</h2>
<p>We want a smartphone that respects people&#8217;s freedom with an open, hackable design and published schematics. In fact, we are seeking &#8220;Respects Your Freedom&#8221; certification from the FSF, so we went to great effort to source freedom-respecting chips that worked with free software drivers. One big area where we could not work around proprietary blobs was the modem, so between that and our desire to use hardware kill switches&#8211;for the WiFi and the cellular baseband&#8211;we went with a design that separated out those components into their own chips (in the case of the cellular baseband, a removable M.2 card). We started by releasing a devkit in December 2018, and in this talk Nicole unveils the first public pictures of the actual phone PCB!<br />
<img class="aligncenter size-full wp-image-65354" style="max-width: 75%; margin: 2em auto;" src="https://puri.sm/wp-content/uploads/2019/08/l5-proto-pcb-front-view.png" alt="" srcset="https://puri.sm/wp-content/uploads/2019/08/l5-proto-pcb-front-view.png 848w, https://puri.sm/wp-content/uploads/2019/08/l5-proto-pcb-front-view-300x255.png 300w, https://puri.sm/wp-content/uploads/2019/08/l5-proto-pcb-front-view-768x652.png 768w" sizes="(max-width: 848px) 100vw, 848px" /></p>
<h2>Conclusion</h2>
<p>Hardware is hard, and making mobile phone hardware that respects your freedom is even harder. Challenges include finding suppliers, language barriers when working with Chinese suppliers (in many cases the only viable avenue for certain mobile phone work, these days), often dealing with long lead times, regulations and certifications. There&#8217;s also a general lack in available hackable hardware, which means that there isn&#8217;t nearly enough expertise in mobile phone hacking in the community&#8211;something we hope to change!</p>
<p>Nicole&#8217;s talk was marvelous&#8211;both informative and interesting&#8211;and you should really <a href="https://media.ccc.de/v/Camp2019-10238-a_mobile_phone_that_respects_your_freedom">watch the video</a> in its full version bellow, because there&#8217;s so much more to it than what we just wrote about!</p>
<div><iframe style="height: 476px;" src="https://media.ccc.de/v/Camp2019-10238-a_mobile_phone_that_respects_your_freedom/oembed" width="1024" height="576" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<p>&nbsp;</p>
<div class="row grid" style="border-top: 8px solid; border-bottom: 1px solid #333;">
<div class="column-6">
<h3>Discover the Librem 5</h3>
<p>Purism believes building the Librem 5 is just one step on the road to launching a digital rights movement, where we&#8211;the people&#8211;stand up for our digital rights, where you place the control of your data and your family’s data back where it belongs: in your own hands.</p>
<p><a class="button-primary" title="Shop the Librem 5 now" href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener noreferrer">Preorder now</a></p>
</div>
<div class="column-6" style="text-align: center; position: relative;"><img style="max-width: 125%; position: absolute; right: -100px; margin: 0;" src="https://puri.sm/wp-content/uploads/2019/08/l5-hand-v2.png" /></div>
</div>
<style> .column-6:after { content: ""; min-height: 225px; /* padding-bottom: 30%; */ display: block; } .column-6 img { bottom: -0px; } @media only screen and (min-width: 600px) { .column-6:after { display: none; } .column-6 img { bottom: 0px; } } </style>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-cto-presents-a-mobile-phone-that-respects-your-freedom-at-cccamp/">Purism CTO Presents &#8220;A Mobile Phone that Respects Your Freedom&#8221; at CCCamp</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>How To Promote Real Social Good</title>
		<link>https://puri.sm/posts/how-to-promote-real-social-good/</link>
		<pubDate>Thu, 22 Aug 2019 15:25:22 +0000</pubDate>
		<dc:creator><![CDATA[Ben Trister]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65249</guid>
		<description><![CDATA[<p>It was big news this week when the nation’s most powerful chief executives finally acknowledged that corporations should contribute more to society than maximizing shareholder value. The new mission statement of the Business Roundtable, as their group is known, contains the following goals: Delivering value to our customers. We will further the tradition of American [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-to-promote-real-social-good/">How To Promote Real Social Good</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>It was <a href="https://www.washingtonpost.com/business/2019/08/19/lobbying-group-powerful-ceos-is-rethinking-how-it-defines-corporations-purpose/" target="_blank" rel="nofollow noopener">big news</a> this week when the nation’s most powerful chief executives finally acknowledged that corporations should contribute more to society than maximizing shareholder value. The new <a href="https://opportunity.businessroundtable.org/wp-content/uploads/2019/08/Business-Roundtable-Statement-on-the-Purpose-of-a-Corporation-with-Signatures.pdf" target="_blank" rel="nofollow noopener" class="broken_link">mission statement</a> of the Business Roundtable, as their group is known, contains the following goals:</p>
<blockquote>
<ul>
<li>Delivering value to our customers. We will further the tradition of American companies leading the way in meeting or exceeding customer expectations.</li>
<li>Investing in our employees. This starts with compensating them fairly and providing important benefits. It also includes supporting them through training and education that help develop new skills for a rapidly changing world. We foster diversity and inclusion, dignity and respect.</li>
<li>Dealing fairly and ethically with our suppliers. We are dedicated to serving as good partners to the other companies, large and small, that help us meet our missions.</li>
<li>Supporting the communities in which we work. We respect the people in our communities and protect the environment by embracing sustainable practices across our businesses.</li>
<li>Generating long-term value for shareholders, who provide the capital that allows companies to invest, grow and innovate. We are committed to transparency and effective engagement with shareholders.</li>
</ul>
</blockquote>
<p>There is a lot of speculation around what has motivated this change, ranging from genuine altruism to a response to politicians who have made corporate greed a talking point in their stump speeches, or even to using it as a hedge to explain future losses driven by a possible recession. This article does not address any of that speculation. Instead, this article will address whether the Business Roundtable’s new mission statement is likely to significantly affect corporate behavior, based on our experience as perhaps the first Social Purpose Corporation in the technology space.</p>
<blockquote><p>&#8220;The Business Roundtable CEOs could just re-incorporate as a Social Purpose Corporation, if their motives aligned with their words.&#8221; Todd Weaver, Founder &amp; CEO of Purism stated.</p></blockquote>
<p>This news story caught our attention here at Purism because we have been thinking about how to build a company that promotes social good. Our company was incorporated in Washington State as a Social Purpose Corporation. We chose this form or corporation to ensure that our foundational purpose to advance the freedom, privacy and security of our customers would not be undermined by those who seek to maintain the ability of Big Tech to profit off of customers’ personal information. We also wanted to protect our company’s ability to achieve its purpose as it grew, in particular once it took on outside investment. One big threat we knew we’d face if we went through the traditional C corporation model was that future investors could potentially sue us for pursuing social good above maximizing shareholder value.</p>
<p>According to the Washington State Bar Association, “An SPC’s directors may give weight to one or more of the social purposes, rather than solely considering the best interest of the corporation. RCW 23B.25.050. This allows the founder to elevate a particular social cause rather than maximize profit at the expense of society. It allows a company to be socially responsible without being considered financially irresponsible.”</p>
<p>As laudable as the mission statement by the Business Roundtable is, the fact remains that its members&#8217; corporate structures and broader objectives will continue to be centered around profit maximization. Let&#8217;s keep in mind that CEOs of large companies typically have much of their compensation based on the performance of the company&#8217;s stock. Will CEOs whose compensation can run into the hundreds of millions of dollars per year put their personal financial interests aside for the greater good? And, more importantly, one must unfortunately admit that often times the very nature of the businesses conducted by the largest companies is, at their core, contrary to the public good.</p>
<p>Consider, for example, the social media companies who know their platforms are being manipulated to fuel division and discord in societies around the world, and yet they fail to stop the abuses. Consider the role of large banks in economic calamities around the globe. Consider the role of pharmaceutical companies in making drugs unaffordable for many people, and in contributing to the opioid crisis. Consider the fossil fuel companies who continue to extract and burn fossil fuels knowing that they are an existential threat. Consider the role of chemical companies in polluting the environment. And consider the fact that our company was born out of the need to protect people from the challenges to their privacy, security and freedom brought on by Big Tech. Sadly, the shift in emphasis by the Building Roundtable does not address the biggest problem with many of the largest corporations, which is that their business objectives are not compatible with general health and welfare. Saying that companies should deal fairly and ethically with their employees and partners even if it affects the bottom line is nice&#8211;but beside the point. It would be far more beneficial for these companies to reevaluate their overall effect on society.</p>
<p>We at Purism are grateful to the many US states offering to give companies the freedom to actually benefit society, rather than contribute to its ills. We believe that consumers who really care about their freedom, privacy, and security, or other issues like climate change, seek out companies like ours that exist, first and foremost, to do something important that can better people’s lives. We use capitalism, and the corporate form, to build a sustainable company that can continue to serve our mission. Making money is a means to an end, not the end itself. We exist for our customers, not for our shareholders, and our shareholders back us because know the social good that comes from our efforts. People parting with their hard-earned money for products and services deserve that much.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-to-promote-real-social-good/">How To Promote Real Social Good</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 August Update</title>
		<link>https://puri.sm/posts/librem-5-august-update/</link>
		<pubDate>Wed, 21 Aug 2019 14:36:07 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65135</guid>
		<description><![CDATA[<p>Hi Everyone! The Librem 5 team has been hard at work again, and we want to update you all on our software progress. We are preparing everything for the Librem 5 to be delivered soon, and its software will focus on the most critical applications a phone needs: calls, messages and web browsing. There are [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-august-update/">Librem 5 August Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi Everyone! The Librem 5 team has been hard at work again, and we want to update you all on our software progress.</p>
<p dir="auto" data-sourcepos="4:1-9:24">We are preparing everything for the Librem 5 to be delivered soon, and its software will focus on the most critical applications a phone needs: calls, messages and web browsing. There are supporting projects that will be delivered too, like GNOME Settings, the shell, GNOME Initial Setup, and GNOME Contacts. So without further ado, let’s take a tour through the software we will deliver–as well as some other applications that have seen some major changes.</p>
<h2 dir="auto" data-sourcepos="11:1-11:15"><a id="user-content-applications" class="anchor" href="#applications" aria-hidden="true"></a>Applications</h2>
<h3 dir="auto" data-sourcepos="13:1-13:12"><a id="user-content-libhandy" class="anchor" href="#libhandy" aria-hidden="true"></a>Libhandy</h3>
<p dir="auto" data-sourcepos="14:1-20:8">We have made some adaptive dialog improvements to HdyHeaderBar’s back button. There is a really nice <a href="https://gitlab.gnome.org/exalm/pagination-widget" target="_blank" rel="nofollow noreferrer noopener">new pagination widget</a> for the app drawer. A <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/libhandy/merge_requests/297" data-original="general overhaul of the app drawer" data-link="true" data-link-reference="true" data-project="131" data-merge-request="2210" data-project-path="Librem5/libhandy" data-iid="297" data-mr-title="Add HdyPaginator" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">general overhaul of the app drawer</a> is almost finished&#8211;thanks so much, Alexander Mikhaylenko, for all of your hard work on this!</p>
<p dir="auto" data-sourcepos="22:1-23:65">Also, be sure to check out the newly packaged <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/libhandy/merge_requests/295" data-original="demo app" data-link="true" data-link-reference="true" data-project="131" data-merge-request="2155" data-project-path="Librem5/libhandy" data-iid="295" data-mr-title="install libhandy demo and examples" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">demo app</a>.</p>
<p dir="auto" data-sourcepos="22:1-23:65"><img class="aligncenter wp-image-65155 size-large" src="https://puri.sm/wp-content/uploads/2019/08/1024-1017-1024x1017.png" alt="hdy demo" width="640" height="636" srcset="https://puri.sm/wp-content/uploads/2019/08/1024-1017.png 1024w, https://puri.sm/wp-content/uploads/2019/08/1024-1017-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/08/1024-1017-300x298.png 300w, https://puri.sm/wp-content/uploads/2019/08/1024-1017-768x763.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p dir="auto" data-sourcepos="25:1-27:69">And Libhandy 0.0.10 has been uploaded to <a href="https://packages.debian.org/sid/libhandy-0.0-0" target="_blank" rel="nofollow noreferrer noopener">Debian</a> and to <a href="https://software.pureos.net/search_pkg?term=libhandy-0.0-0" target="_blank" rel="nofollow noreferrer noopener">PureOS</a>.</p>
<h3 dir="auto" data-sourcepos="29:1-29:9"><a id="user-content-calls" class="anchor" href="#calls" aria-hidden="true"></a>Calls</h3>
<p dir="auto" data-sourcepos="30:1-32:42">We have worked on a few recent main efforts on Calls: adding a calls history, allowing the Contacts app to dial numbers, and enabling the system to receive calls when the shell is locked.</p>
<p dir="auto" data-sourcepos="34:1-37:66">To lay the foundation for the calls history, the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/calls/merge_requests/58" data-original="records have to be recorded in an SQLite database" data-link="true" data-link-reference="true" data-project="240" data-merge-request="2117" data-project-path="Librem5/calls" data-iid="58" data-mr-title="Call records" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_1__ __BV_popover_2__">records have to be recorded in an SQLite database</a>. Then, to complete the work, the database was <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/calls/merge_requests/59" data-original="connected to the UI" data-link="true" data-link-reference="true" data-project="240" data-merge-request="2184" data-project-path="Librem5/calls" data-iid="59" data-mr-title="Hook up Recent Calls list to database" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">connected to the UI</a>.</p>
<p dir="auto" data-sourcepos="34:1-37:66"><img class="aligncenter" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/256a-512.png" alt="Calls history" width="256" height="512" /></p>
<p dir="auto" data-sourcepos="39:1-40:62">In order to allow Contacts&#8211;or any other application&#8211;to dial calls, a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/calls/merge_requests/60" data-original="tel url handler was added to Calls" data-link="true" data-link-reference="true" data-project="240" data-merge-request="2215" data-project-path="Librem5/calls" data-iid="60" data-mr-title="Tel url handler" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_4__ __BV_popover_5__">tel url handler was added to Calls</a>.</p>
<p dir="auto" data-sourcepos="42:1-46:64">Calls now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/calls/merge_requests/62" data-original="starts up in a daemon mode when GNOME starts" data-link="true" data-link-reference="true" data-project="240" data-merge-request="2246" data-project-path="Librem5/calls" data-iid="62" data-mr-title="Start up in a new daemon mode when GNOME starts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_6__">starts up in a new daemon mode when GNOME starts</a>, so that incoming calls can always be received.</p>
<h3 dir="auto" data-sourcepos="48:1-48:13"><a id="user-content-messaging" class="anchor" href="#messaging" aria-hidden="true"></a>Messaging</h3>
<p dir="auto" data-sourcepos="49:1-51:10">The team fixed several crashes, and the welcome screen was reworked; there is also an ongoing effort to integrate with libfolks, which is used by Contacts.</p>
<p dir="auto" data-sourcepos="53:1-56:90">We continue to improve the SMS plugin, too, and fixed an issue with multipart SMS reception: <a href="https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/127" target="_blank" rel="nofollow noreferrer noopener">all SMS fields are initialized as soon as the first part is received</a> (thanks a lot, Aleksander Morgado, for the patch). There is also handling for SMS messages that were received by the modem when Chatty isn’t running, support for delivery reports, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/83" data-original="phone number formatting according to E164" data-link="true" data-link-reference="true" data-project="440" data-merge-request="2125" data-project-path="Librem5/chatty" data-iid="83" data-mr-title="Phone number formatting according to E164" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_11__">phone number formatting according to E164</a>.</p>
<p dir="auto" data-sourcepos="62:1-63:72">The conversation view was improved by introducing <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/80" data-original="lazy loading for pulling the chat history" data-link="true" data-link-reference="true" data-project="440" data-merge-request="2056" data-project-path="Librem5/chatty" data-iid="80" data-mr-title="Leland/lazy loading" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_9__">lazy loading for pulling the chat history</a> patch, which gradually loads the chat log into the conversation view as the user scrolls up. Thanks, Leland Carlye, for the awesome patch!</p>
<h3 dir="auto" data-sourcepos="65:1-65:7"><a id="user-content-gtk" class="anchor" href="#gtk" aria-hidden="true"></a>GTK</h3>
<p dir="auto" data-sourcepos="66:1-68:28">The team added many mobile tweaks: from file chooser dialogs to about dialogs, message dialogs, adaptive presentation dialogs, dialog maximization, and info bars.</p>
<h3 dir="auto" data-sourcepos="70:1-70:16"><a id="user-content-web-browsing" class="anchor" href="#web-browsing" aria-hidden="true"></a>Web Browsing</h3>
<p dir="auto" data-sourcepos="71:1-76:82">We have backported many mobile improvements, which we also included on the devkit image. The <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/370" target="_blank" rel="nofollow noreferrer noopener">Epiphany &#8220;new tab&#8221; page and several other in-viewport pages have been made adaptive</a>, and there is a continued effort to push for <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/357" target="_blank" rel="nofollow noreferrer noopener">Epiphany to adopt HdyPreferencesWindow</a>.</p>
<p dir="auto" data-sourcepos="71:1-76:82"><img class="aligncenter wp-image-65160 size-large" src="https://puri.sm/wp-content/uploads/2019/08/1024a-1016-1024x1016.png" alt="web" width="640" height="635" srcset="https://puri.sm/wp-content/uploads/2019/08/1024a-1016.png 1024w, https://puri.sm/wp-content/uploads/2019/08/1024a-1016-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/08/1024a-1016-300x298.png 300w, https://puri.sm/wp-content/uploads/2019/08/1024a-1016-768x762.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p dir="auto" data-sourcepos="78:1-80:52">Soon, you will be able to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-base/merge_requests/53" data-original="edit CSS from Epiphany's preferences" data-link="true" data-link-reference="true" data-project="134" data-merge-request="2291" data-project-path="Librem5/librem5-base" data-iid="53" data-mr-title="gnome-all: Add gedit" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">edit CSS from Epiphany&#8217;s preferences</a>; and the search engine management dialog has been ported.</p>
<p dir="auto" data-sourcepos="78:1-80:52">In order to address the <a class="gfm gfm-issue has-tooltip" title="" href="https://source.puri.sm/Librem5/Apps_Issues/issues/92" data-original="application manager overflow issue" data-link="true" data-link-reference="true" data-project="116" data-issue="2524" data-reference-type="issue" data-container="body" data-placement="bottom" data-original-title="GNOME Web Open Application Manager Text Overflow">application manager overflow issue</a>, the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/epiphany/merge_requests/2" data-original="about: applications now has improved css for responsiveness" data-link="true" data-link-reference="true" data-project="832" data-merge-request="2299" data-project-path="Librem5/epiphany" data-iid="2" data-mr-title="about:applications - improve css for responsiveness" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_13__">about: applications now has improved CSS for responsiveness</a>.</p>
<h3 dir="auto" data-sourcepos="82:1-82:17"><a id="user-content-initial-setup" class="anchor" href="#initial-setup" aria-hidden="true"></a>Initial Setup</h3>
<p dir="auto" data-sourcepos="83:1-84:136">We have refactored adaptive changes for some long-needed cleanups, which will be submitted upstream eventually.</p>
<p dir="auto" data-sourcepos="83:1-84:136"><img class="aligncenter wp-image-65162 size-full" src="https://puri.sm/wp-content/uploads/2019/08/1024-505.png" alt="gis" width="1024" height="505" srcset="https://puri.sm/wp-content/uploads/2019/08/1024-505.png 1024w, https://puri.sm/wp-content/uploads/2019/08/1024-505-300x148.png 300w, https://puri.sm/wp-content/uploads/2019/08/1024-505-768x379.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h3 dir="auto" data-sourcepos="86:1-86:12"><a id="user-content-contacts" class="anchor" href="#contacts" aria-hidden="true"></a>Contacts</h3>
<p dir="auto" data-sourcepos="87:1-94:22">We have some brand new functionalities, such as <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/18" data-original="new buttons added for making a call and sending and sms" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2207" data-project-path="Librem5/gnome-contacts" data-iid="18" data-mr-title="ContactSheet: Add make call and send sms button" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">new buttons, added for making a call and sending sms</a>.</p>
<p dir="auto" data-sourcepos="87:1-94:22">In preparation for Contacts integration with Calls and Chatty, we have been doing some investigation into <a href="https://wiki.gnome.org/Projects/Folks" target="_blank" rel="nofollow noreferrer noopener">libfolks</a>, <a href="https://github.com/GNOME/gnome-contacts" target="_blank" rel="nofollow noreferrer noopener">gnome-contacts-search-provider</a>, and <a href="https://github.com/GNOME/evolution-data-server" target="_blank" rel="nofollow noreferrer noopener">evolution-data-server</a>. This led us to a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/13" data-original="major refactor of GNOME Contacts" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2101" data-project-path="Librem5/gnome-contacts" data-iid="13" data-mr-title="Use individual directly" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">major refactoring of GNOME Contacts</a>, so as to reduce complexity.</p>
<p dir="auto" data-sourcepos="96:1-104:22">We have added some fixes to <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/81" target="_blank" rel="nofollow noreferrer noopener">avoid crashing when taking a webcam picture</a>, <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/86" target="_blank" rel="nofollow noreferrer noopener">using GNOME 3.32 avatar styles for fallback</a>&#8211;and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/17" data-original="the avatar is no longer cut off" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2172" data-project-path="Librem5/gnome-contacts" data-iid="17" data-mr-title="Avatar: fix #24 avatar is cut off" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">the avatar is no longer cut off</a>. <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/14" data-original="A long press for selecting contacts" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2136" data-project-path="Librem5/gnome-contacts" data-iid="14" data-mr-title="Add longpress gesture for selecting contacts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_14__">A long press for selecting contacts</a> was also implemented.</p>
<p dir="auto" data-sourcepos="106:1-107:74">We are still working on <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/16" data-original="fake persona" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2162" data-project-path="Librem5/gnome-contacts" data-iid="16" data-mr-title="WIP: Fake persona" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">fake persona</a>.</p>
<p dir="auto" data-sourcepos="109:1-110:69"><img class="aligncenter wp-image-65165 size-full" src="https://puri.sm/wp-content/uploads/2019/08/1024-675.png" alt="Contacts" width="1024" height="675" srcset="https://puri.sm/wp-content/uploads/2019/08/1024-675.png 1024w, https://puri.sm/wp-content/uploads/2019/08/1024-675-300x198.png 300w, https://puri.sm/wp-content/uploads/2019/08/1024-675-768x506.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h3 dir="auto" data-sourcepos="112:1-112:10"><a id="user-content-clocks" class="anchor" href="#clocks" aria-hidden="true"></a>Clocks</h3>
<p dir="auto" data-sourcepos="113:1-115:65">We are working hard to redesign GNOME Clocks for mobile/adaptiveness&#8211;and to <a href="https://gitlab.gnome.org/GNOME/gnome-clocks/issues/30" target="_blank" rel="nofollow noreferrer noopener">get the Alarm UI to use new list patterns</a>.</p>
<h3 dir="auto" data-sourcepos="117:1-117:8">Help</h3>
<p dir="auto" data-sourcepos="118:1-118:35">We did it&#8211;GNOME Help now works on the devkit!</p>
<p dir="auto" data-sourcepos="113:1-115:65"><img class="aligncenter wp-image-65167 style=" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/256b-512.png" alt="GNOME help" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/08/256b-512.png 256w, https://puri.sm/wp-content/uploads/2019/08/256b-512-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<h3 dir="auto" data-sourcepos="120:1-120:12"><a id="user-content-settings" class="anchor" href="#settings" aria-hidden="true"></a>Settings</h3>
<p dir="auto" data-sourcepos="121:1-129:48">We are focusing a lot of effort on the WWAN panel, where locked SIM cards are now handled (and there&#8217;s a dialog to enter a PIN to unlock the SIM), data can be enabled and APN can be set, and auto-connect for default APN is also enabled so that it is persistent across device restarts. The UX has been improved too, by <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/505" target="_blank" rel="nofollow noreferrer noopener">using HdyColumn to center align the panel</a> and <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/504" target="_blank" rel="nofollow noreferrer noopener">porting to HdyDialog</a>. Finally, the WWAN panel now also detects multiple modems!</p>
<p dir="auto" data-sourcepos="131:1-146:65">But that&#8217;s not everything: other areas of GNOME Settings have seen adaptive changes too, such as the <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/509" target="_blank" rel="nofollow noreferrer noopener">background panel</a>, <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/510" target="_blank" rel="nofollow noreferrer noopener">search locations dialog</a>, and <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/511" target="_blank" rel="nofollow noreferrer noopener">notifications dialog</a>, which have been made adaptive; the GNOME Online Accounts has also been made adaptive, by <a href="https://gitlab.gnome.org/GNOME/gnome-online-accounts/merge_requests/24" target="_blank" rel="nofollow noreferrer noopener">reducing the account widget margins</a> and <a href="https://gitlab.gnome.org/GNOME/gnome-online-accounts/merge_requests/25" target="_blank" rel="nofollow noreferrer noopener">setting a minimum and natural size</a>&#8211;which required the <a href="https://gitlab.gnome.org/pksadiq/gnome-control-center/commit/65c3bd617f02884b564bd7b43bab83c4e9bf2dc2" target="_blank" rel="nofollow noreferrer noopener">account dialog to be adapted</a>. Plus, we are currently updating the <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/525" target="_blank" rel="nofollow noreferrer noopener">format dialog</a> for the Region panel (in GNOME Online Accounts).</p>
<p dir="auto" data-sourcepos="148:1-152:66"><img class="aligncenter wp-image-65211 size-full" src="https://puri.sm/wp-content/uploads/2019/08/3125-1024.png" alt="Settings" width="3125" height="1024" srcset="https://puri.sm/wp-content/uploads/2019/08/3125-1024.png 3125w, https://puri.sm/wp-content/uploads/2019/08/3125-1024-300x98.png 300w, https://puri.sm/wp-content/uploads/2019/08/3125-1024-768x252.png 768w, https://puri.sm/wp-content/uploads/2019/08/3125-1024-1024x336.png 1024w" sizes="(max-width: 3125px) 100vw, 3125px" /></p>
<p dir="auto" data-sourcepos="148:1-152:66">There&#8217;s a <a href="https://teams.pages.gitlab.gnome.org/Design/web-experiments/adaptive-settings/wifi/" target="_blank" rel="noopener">new design</a> for the WiFi panel being discussed <a href="https://gitlab.gnome.org/Teams/Design/settings-mockups/issues/8" target="_blank" rel="noopener">upstream</a>, which will need to be implemented once consensus is reached.</p>
<p dir="auto" data-sourcepos="154:1-160:81">Additional adaptive fixes are still under review upstream, and include <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/517" target="_blank" rel="nofollow noreferrer noopener">fixing HiDPi scaling issue of background images</a>, <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/516" target="_blank" rel="nofollow noreferrer noopener">region panel</a>, and <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/518" target="_blank" rel="nofollow noreferrer noopener">privacy panel dialogs</a>.</p>
<h2 dir="auto" data-sourcepos="162:1-162:9"><a id="user-content-system" class="anchor" href="#system" aria-hidden="true"></a>System</h2>
<p dir="auto" data-sourcepos="163:1-165:68">We have a shiny, new, user-friendly terminal for mobile screens called <a href="https://gitlab.gnome.org/ZanderBrown/kgx" target="_blank" rel="nofollow noreferrer noopener">Kings Cross</a>, which is now default on the Librem 5. Thank you so much, Zander Brown, for all of your hard work on this!</p>
<p dir="auto" data-sourcepos="163:1-165:68"><img class="aligncenter wp-image-65170 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/256c-512.png" alt="" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/08/256c-512.png 256w, https://puri.sm/wp-content/uploads/2019/08/256c-512-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="167:1-173:43">We have also set <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-base/merge_requests/46" data-original="now a default background image" data-link="true" data-link-reference="true" data-project="134" data-merge-request="2055" data-project-path="Librem5/librem5-base" data-iid="46" data-mr-title="Set adwaita phone as background" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_20__">a default background image</a>. In order to help debugging efforts, <a href="https://source.puri.sm/Librem5/librem5-base/merge_requests/47">debug symbol packages have been added by default</a>. We&#8217;re now <a href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/71" target="_blank" rel="noopener">shipping</a> a patched <a href="https://gitlab.freedesktop.org/upower/upower/merge_requests/34" target="_blank" rel="noopener">UPower</a> that detects the devkit&#8217;s charger and power supply.</p>
<p dir="auto" data-sourcepos="175:1-176:79"><a href="https://salsa.debian.org/installer-team/flash-kernel/merge_requests/7" target="_blank" rel="noopener">Support for the Librem 5 has been upstreamed in Debian&#8217;s flash-kernel</a>.</p>
<h3 dir="auto" data-sourcepos="178:1-178:12"><a id="user-content-keyboard" class="anchor" href="#keyboard" aria-hidden="true"></a>Keyboard</h3>
<p dir="auto" data-sourcepos="179:1-192:17">Our team fixed several keyboard crashes, too: <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/80" data-original="keyboard visibility on DBus is properly toggled now" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2072" data-project-path="Librem5/squeekboard" data-iid="80" data-mr-title="EekboardService: Properly toggle keyboard visibility on DBus" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_22__">keyboard visibility on DBus is properly toggled now</a>, for example, and a <a href="https://github.com/swaywm/wlroots/pull/1759/files" target="_blank" rel="nofollow noreferrer noopener">text-input issue preventing the OSK from showing up automatically in the correct windows</a> is fixed. We also made lots of cleanups across the code base (see <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/39" data-original="some cleanups" data-link="true" data-link-reference="true" data-project="626" data-merge-request="1977" data-project-path="Librem5/squeekboard" data-iid="39" data-mr-title="Some cleanups, and some FIXME hints for future work (no functional changes)" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">some cleanups</a> and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/105" data-original="imservice cleanups" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2174" data-project-path="Librem5/squeekboard" data-iid="105" data-mr-title="Imservice cleanups" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">imservice cleanups</a> for more detail) as well as getting <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/106" data-original="tests added" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2176" data-project-path="Librem5/squeekboard" data-iid="106" data-mr-title="Rust tests" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">tests added</a>, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/107" data-original="error-checking made stricter" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2177" data-project-path="Librem5/squeekboard" data-iid="107" data-mr-title="Errors" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">error-checking made stricter</a>, and many other fixes.</p>
<p dir="auto" data-sourcepos="194:1-199:70">Some scaling improvements were made by <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/102" data-original="calculating the scale factor instead of pre-scaling" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2170" data-project-path="Librem5/squeekboard" data-iid="102" data-mr-title="Simplify layout and rendering" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_25__">calculating the scale factor instead of pre-scaling</a>; <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/56" data-original="honoring the widget scale factor" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2020" data-project-path="Librem5/squeekboard" data-iid="56" data-mr-title="Honor widget scale factor" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_23__ __BV_popover_27__">honoring the widget scale factor</a>, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/112" data-original="setting a constant font size" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2189" data-project-path="Librem5/squeekboard" data-iid="112" data-mr-title="fonts: Reset font size to a constant" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_21__ __BV_popover_28__ __BV_popover_29__">setting a constant font size</a>.</p>
<p dir="auto" data-sourcepos="201:1-209:73">Additional rendering upgrades included <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/75" data-original="avoiding infinitely redrawing the keyboard" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2063" data-project-path="Librem5/squeekboard" data-iid="75" data-mr-title="keyboard: Schedule widget redraw instead of gdk_window_invalidate_rect" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">avoiding infinitely redrawing the keyboard</a> (since this was making the keyboard blurry, as well as eating up battery and CPU cycles), fixing the <a class="gfm gfm-issue has-tooltip" title="A work in progress: an aspiring young alternative keyboard" href="https://source.puri.sm/Librem5/squeekboard/issues/63" data-original="blurry text and icons" data-link="true" data-link-reference="true" data-project="626" data-issue="4374" data-reference-type="issue" data-container="body" data-placement="bottom">blurry text and icons</a> and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/108" data-original="making the widget easier to style" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2179" data-project-path="Librem5/squeekboard" data-iid="108" data-mr-title="Use CSS provider instead of custom classes" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">making the widget easier to style</a>. We also <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/123" data-original="added frame rendering" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2225" data-project-path="Librem5/squeekboard" data-iid="123" data-mr-title="Add frame rendering, fix style sheet to show key borders" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">added frame rendering</a>, in order to make the keyboard match the design.</p>
<p dir="auto" data-sourcepos="211:1-217:73"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/72" data-original="To avoid hiding content behind the keyboard, LayerSurface improvements were made" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2060" data-project-path="Librem5/squeekboard" data-iid="72" data-mr-title="LayerSurface: Make exclusive zone identical to height" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">To avoid hiding content behind the keyboard, LayerSurface improvements were made</a>&#8211;and newer layer shell code from phosh implemented&#8211;to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/76" data-original="hide/show the window" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2067" data-project-path="Librem5/squeekboard" data-iid="76" data-mr-title="Hide/show window instead of destroying it" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_4__ __BV_popover_5__ __BV_popover_6__">hide/show the window</a>, instead of destroying and redrawing it every time. This helped us <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-base/merge_requests/49" data-original="make squeekboard our default keyboard" data-link="true" data-link-reference="true" data-project="134" data-merge-request="2088" data-project-path="Librem5/librem5-base" data-iid="49" data-mr-title="gnome-base: Make squeekboard the default" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">make squeekboard our default keyboard</a>.</p>
<p dir="auto" data-sourcepos="219:1-220:72"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/77" data-original="Sound support is being added in the keyboard" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2069" data-project-path="Librem5/squeekboard" data-iid="77" data-mr-title="WIP Key press sound support" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Sound support is being added in the keyboard</a>.</p>
<p dir="auto" data-sourcepos="222:1-223:67">And, thanks to Piotr Tworek, we <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/97" data-original="fixed an out-of-bounds memory-read bug" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2137" data-project-path="Librem5/squeekboard" data-iid="97" data-mr-title="Fix out of bounds memory read in get_keymap_from_resource." data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_7__">fixed an out-of-bounds memory-read bug</a>!</p>
<p dir="auto" data-sourcepos="225:1-229:21"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/90" data-original="XKB keymaps are being generated from XML instead of using premade ones" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2111" data-project-path="Librem5/squeekboard" data-iid="90" data-mr-title="Generate XKB keymaps from XML instead of using pre-made ones" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">XKB keymaps are being generated from XML instead of using premade ones</a>, to allow for more keymap flexibility, so we have also decided to make some <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/103" data-original="keyboard geometry adjustments" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2171" data-project-path="Librem5/squeekboard" data-iid="103" data-mr-title="Adjust keyboard geometry" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">keyboard geometry adjustments</a> to make the XML simpler.</p>
<p dir="auto" data-sourcepos="231:1-239:32">The <a class="gfm gfm-issue has-tooltip" title="Navigation between keyboard views" href="https://source.puri.sm/Librem5/squeekboard/issues/38" data-original="navigation between keyboard views" data-link="true" data-link-reference="true" data-project="626" data-issue="4179" data-reference-type="issue" data-container="body" data-placement="bottom">navigation between keyboard views</a> was significantly improved, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/99" data-original="landscape orientation" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2153" data-project-path="Librem5/squeekboard" data-iid="99" data-mr-title="Add landscape orientation" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">landscape orientation</a> was added so the keyboard no longer takes up the full screen, being centered instead. Similarly, the keyboard is now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/104" data-original="centered horizontally" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2173" data-project-path="Librem5/squeekboard" data-iid="104" data-mr-title="Center the keyboard horizontally" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">centered horizontally</a>. We have also started working on improving symbol input, and adding support for non-ASCII languages.</p>
<p dir="auto" data-sourcepos="241:1-242:7">The text-input protocol has been updated; it now supports notifying when no OSK is needed.</p>
<h3 dir="auto" data-sourcepos="244:1-244:22"><a id="user-content-compositor-shell" class="anchor" href="#compositor-shell" aria-hidden="true"></a>Compositor + Shell</h3>
<p dir="auto" data-sourcepos="245:1-257:72">The compositor has seen many fixes by now&#8211;although at first you may hardly notice them. <a href="https://github.com/swaywm/wlroots/pull/1748" target="_blank" rel="nofollow noreferrer noopener">Stack handling</a> works better now, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/43" data-original="unmapped surfaces won't be raised in the stack" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2064" data-project-path="Librem5/phoc" data-iid="43" data-mr-title="seat: Don't try to raise unmapped surfaces in stacks" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">unmapped surfaces won&#8217;t be raised in the stack</a>. In order to mitigate any accidental rendering bugs when, for instance, focus rules cause the function to return early, the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/37" data-original="view damage in set_focus, to where the drawing list is handled, has been moved" data-link="true" data-link-reference="true" data-project="686" data-merge-request="1988" data-project-path="Librem5/phoc" data-iid="37" data-mr-title="seat: Move view damage in set_focus to where the drawing list is handled" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">view damage in set_focus, to where the drawing list is handled, has been moved</a>. Additional work has been done to <a href="https://github.com/swaywm/wlroots/pull/1752" target="_blank" rel="nofollow noreferrer noopener">move the focus back to first shell surface when unfocusing layer surface</a>. To make recent GTK dialog fixes behave properly, <a href="https://github.com/swaywm/wlroots/pull/1753" target="_blank" rel="nofollow noreferrer noopener">maximize/fullscreen state is now taken into account on view init</a>.</p>
<p dir="auto" data-sourcepos="259:1-272:60">The team has also made a few layer surface changes: a <a href="https://github.com/swaywm/wlroots/pull/1756" target="_blank" rel="nofollow noreferrer noopener">layer shell crash</a> was fixed and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/45" data-original="unused protocols were removed" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2082" data-project-path="Librem5/phoc" data-iid="45" data-mr-title="Remove unused protocols" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">unused protocols were removed</a>.The <a href="https://source.puri.sm/Librem5/phosh/merge_requests/256" target="_blank" rel="noopener">system modal dialogs now match the design much better</a>; the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/48" data-original="ability to unmaximize auto-maximized layers was removed" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2094" data-project-path="Librem5/phoc" data-iid="48" data-mr-title="view: Don't allow to unmaximize auto-maximized surfaces" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">ability to unmaximize auto-maximized layers was removed</a> to avoid a broken state; we <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/258" data-original="fixed the layer shell show/hide" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2131" data-project-path="Librem5/phosh" data-iid="258" data-mr-title="PhoshLayerSurface: Destroy layer surface on unmap" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">fixed the layer shell show/hide</a>, and now have the ability to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/263" data-original="use enums as types" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2158" data-project-path="Librem5/phosh" data-iid="263" data-mr-title="Use glib-mkenum" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">use enums as types</a>. Some protection was put in place to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/57" data-original="guard against negative exclusive zone" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2276" data-project-path="Librem5/phoc" data-iid="57" data-mr-title="layer_shell: Guard against negative exclusive zone" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">guard against negative exclusive zone</a> when surfaces set negative margins.</p>
<p dir="auto" data-sourcepos="274:1-281:22">Other noticeable changes are that you can now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/248" data-original="close an app from the overview" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2010" data-project-path="Librem5/phosh" data-iid="248" data-mr-title="App closing" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">close an app from the overview</a>, and the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/279" data-original="keyboard button is hidden when the keyboard is unfolded" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2263" data-project-path="Librem5/phosh" data-iid="279" data-mr-title="PhoshHome: Hide the keyboard button when unfolded" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_9__">keyboard button is hidden when the keyboard is unfolded</a>.</p>
<p dir="auto" data-sourcepos="283:1-284:11"><img class="aligncenter wp-image-65173 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/256d-512.png" alt="App overview" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/08/256d-512.png 256w, https://puri.sm/wp-content/uploads/2019/08/256d-512-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="283:1-284:11">We have also added <a href="https://github.com/swaywm/wlroots/pull/1757" target="_blank" rel="nofollow noreferrer noopener">touch support in X11 backend</a>!</p>
<p dir="auto" data-sourcepos="286:1-290:31">We were worried about a few compositor crashes, which led us to <a href="https://github.com/swaywm/wlroots/pull/1783">make some input grab fixes for xdg_popups</a> and <a href="https://github.com/swaywm/wlroots/pull/1782" target="_blank" rel="nofollow noreferrer noopener">remove input method&#8217;s resource from the list on destroy</a>.</p>
<p dir="auto" data-sourcepos="292:1-296:64">Other changes we made include <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/51" data-original="dropping the pointer emulation on touch" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2130" data-project-path="Librem5/phoc" data-iid="51" data-mr-title="cursor: Drop btn left emulation for touch" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">dropping the pointer emulation on touch</a> and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/53" data-original="auto-maximizing before mapping the surface" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2211" data-project-path="Librem5/phoc" data-iid="53" data-mr-title="Auto-maximize before mapping the surface" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">auto-maximizing before mapping the surface</a>, to avoid flicker for example when starting new applications.</p>
<p dir="auto" data-sourcepos="305:1-312:68">Phosh has seen the <a href="https://source.puri.sm/Librem5/phosh/merge_requests/265" target="_blank" rel="noopener">addition of PhoshToplevelManager and PhoshToplevel classes for managing and representing toplevel surfaces</a>; this switches from a private protocol to <a href="https://github.com/swaywm/wlroots/blob/master/protocol/wlr-foreign-toplevel-management-unstable-v1.xml" target="_blank" rel="noopener">wlr-foreign-toplevel-management</a>, which is more complete than our previous private protocol and makes phosh usable with other compositors that implements the new protocol. <a href="https://github.com/swaywm/wlr-protocols/pull/52" target="_blank" rel="noopener">Reporting the surface&#8217;s parent</a> is still pending upstream review.</p>
<p dir="auto" data-sourcepos="282:1-288:91">As you boot your devkit now you&#8217;ll notice that you see your list of favorite apps immediately. This is the result of our recent effort to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/264" data-original="move the favorites to home screen" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2159" data-project-path="Librem5/phosh" data-iid="264" data-mr-title="Move favorites to home screen" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">move the favorites to home screen</a>&#8211;once again, thanks to Alexander Mikhaylenko, in this case for fixing the sizing of the activities! You&#8217;ll also notice our new <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/270" data-original="animated arrows when folding/unfolding the home screen" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2231" data-project-path="Librem5/phosh" data-iid="270" data-mr-title="PhoshHome: Use CSS animations to change home button arrow direction" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">animated arrows when folding/unfolding the home screen</a>, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/269" data-original="fix favorites changing via gsettings" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2230" data-project-path="Librem5/phosh" data-iid="269" data-mr-title="Fix favorites changing via gsettings" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">fix favorites changing via gsettings</a>.</p>
<h3 dir="auto" data-sourcepos="314:1-314:10"><a id="user-content-kernel" class="anchor" href="#kernel" aria-hidden="true"></a>Kernel</h3>
<p dir="auto" data-sourcepos="315:1-317:48">If you haven&#8217;t already, take a moment to read <a href="https://puri.sm/posts/purism-and-the-linux-5-2-kernel/" target="_blank" rel="nofollow noreferrer noopener">our blog post</a> that details the Librem 5 team&#8217;s contributions to the 5.2 kernel.</p>
<p dir="auto" data-sourcepos="319:1-327:49">But a few things have happened since: <a href="https://source.puri.sm/martin.kepplinger/linux-next/tree/i/imx8-5.2-devkit/accel_gyro">support has been added for our accelerometer and gyroscope</a>, and it&#8217;s been <a href="https://lkml.org/lkml/2019/7/15/357" target="_blank" rel="nofollow noreferrer noopener">submitted upstream</a>. In order to make IIO-sensor-proxy work correctly, we mainlined an <a href="https://lore.kernel.org/linux-iio/20190805164136.6541af1f@archlinux/T/#t" target="_blank" rel="nofollow noreferrer noopener">accelerometer driver bugfix</a>&#8211;meaning we will soon be able to use IIO-sensor-proxy by default and auto-rotate so that we can remove the &#8220;Rotation&#8221; switch in the top bar.. and rely on the sensors to decide the orientation that should be displayed!</p>
<p dir="auto" data-sourcepos="329:1-337:79">We have been working very hard to improve the graphics stack too. <a href="https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1409" target="_blank" rel="nofollow noreferrer noopener">MXSFB support has been added into mesa</a>, and several patches are in review upstream: <a href="https://patchwork.freedesktop.org/series/64185/" target="_blank" rel="nofollow noreferrer noopener">v1 and v2 of the NWL MIPI DSI driver</a>, <a href="https://patchwork.freedesktop.org/series/64292/">v2 of the LCD panel patches to make it work embedded in a <code>panel_bridge</code></a>(which is used by the NWL driver), <a href="https://patchwork.freedesktop.org/series/64300" target="_blank" rel="nofollow noreferrer noopener">v1 of the MXSFB patch to handle NWL timing requirements</a>. <a href="https://lists.freedesktop.org/archives/dri-devel/2019-July/228582.html" target="_blank" rel="nofollow noreferrer noopener">Some tests with MXSFB were fixed</a>.</p>
<p dir="auto" data-sourcepos="339:1-341:69">A couple of minor patches were made to <a href="https://lists.infradead.org/pipermail/linux-arm-kernel/2019-August/670406.html" target="_blank" rel="nofollow noreferrer noopener">fix a typo in i.MX8MQ reset names</a> and <a href="https://patchwork.freedesktop.org/series/64602/" target="_blank" rel="nofollow noreferrer noopener">IPUV3 kconfig</a>.</p>
<h3 dir="auto" data-sourcepos="343:1-343:74"><a id="user-content-power-management-there-is-an-ongoing-effort-to-better-manage-the-power" class="anchor" href="#power-management-there-is-an-ongoing-effort-to-better-manage-the-power" aria-hidden="true"></a>Power Management</h3>
<p dir="auto" data-sourcepos="343:1-343:74">The team is trying very hard to better manage the power consumption of the phone and reduce the overall temperature: to make sure we don&#8217;t lose basic kernel support, we now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/68" data-original="check for cpuidle sysfs nodes" data-link="true" data-link-reference="true" data-project="448" data-merge-request="2139" data-project-path="Librem5/librem5-devkit-tools" data-iid="68" data-mr-title="tests: Check for cpuidle sysfs nodes" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">check for cpuidle sysfs nodes</a> and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/69" data-original="DRM render node" data-link="true" data-link-reference="true" data-project="448" data-merge-request="2140" data-project-path="Librem5/librem5-devkit-tools" data-iid="69" data-mr-title="tests: Check for drm render node" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">DRM render node</a>. <a href="https://lore.kernel.org/linux-pm/55edd1a1-0120-0f5e-5105-050a4f93e713@puri.sm/T/#t" target="_blank" rel="nofollow noreferrer noopener">We are also working on </a><a href="https://lore.kernel.org/linux-pm/55edd1a1-0120-0f5e-5105-050a4f93e713@puri.sm/T/#mecf31da979ab3e2b05de023ccfe8ab103b025942" target="_blank" rel="noopener">helping NXP to mainline thermal-idle</a> to cool the CPU by idle-injection; to ease kernel updates, we improved kernel tests&#8211;and the CPUs now slow down when hot, instead of overheating and shutting down.</p>
<p dir="auto" data-sourcepos="357:1-358:69">Also, thermal management investigations have led us to a focused effort on <a class="gfm gfm-issue has-tooltip" title="" href="https://source.puri.sm/Librem5/linux-next/issues/64" data-original="S3 suspend/resume" data-link="true" data-link-reference="true" data-project="566" data-issue="4207" data-reference-type="issue" data-container="body" data-placement="bottom" data-original-title="rtcwake can't wake the system from suspend">S3 suspend/resume</a>.</p>
<h2 dir="auto" data-sourcepos="360:1-360:9"><a id="user-content-builds" class="anchor" href="#builds" aria-hidden="true"></a>Builds</h2>
<p dir="auto" data-sourcepos="361:1-365:16"><a href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/74/">The mailing list now receives build status mails</a>&#8211;if you&#8217;re interested, you can <a href="https://lists.community.puri.sm/listinfo/librem5-builds" target="_blank" rel="nofollow noreferrer noopener">sign up for librem5-builds@lists.community.puri.sm</a> and receive them.</p>
<p dir="auto" data-sourcepos="367:1-368:87">And the images will soon include <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/83" data-original="our patched version of gnome-settings-daemon" data-link="true" data-link-reference="true" data-project="107" data-merge-request="2214" data-project-path="Librem5/deb-build-jobs" data-iid="83" data-mr-title="Ship patched g-s-d" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_12__ __BV_popover_13__">our patched version of gnome-settings-daemon</a>.</p>
<h2 dir="auto" data-sourcepos="370:1-370:16"><a id="user-content-documentation" class="anchor" href="#documentation" aria-hidden="true"></a>Documentation</h2>
<p dir="auto" data-sourcepos="371:1-379:41">We have made several updates to the existing documentation: the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/304" data-original="low-level touchscreen reading hints" data-link="true" data-link-reference="true" data-project="222" data-merge-request="2013" data-project-path="Librem5/developer.puri.sm" data-iid="304" data-mr-title="Update low-level touchscreen reading hints" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">low-level touchscreen reading hints</a>, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/99" data-original="GNOME platform section" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2153" data-project-path="Librem5/squeekboard" data-iid="99" data-mr-title="Add landscape orientation" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_14__">GNOME platform section</a>, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/307" data-original="application settings" data-link="true" data-link-reference="true" data-project="222" data-merge-request="2160" data-project-path="Librem5/developer.puri.sm" data-iid="307" data-mr-title="Resolve &quot;Clarify how application settings are stored and accessed&quot;" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">application settings</a> have all been updated, for example. We have also made many one-line updates to be able to use recent links, a more recent version of GNOME, etc.</p>
<p dir="auto" data-sourcepos="381:1-383:64">As always, a big “Thanks!” to everyone that has helped review and merge changes into upstream projects; your time and contribution are much appreciated. That’s all for now, folks&#8211;stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-august-update/">Librem 5 August Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The Librem 5 Smartphone in Forbes</title>
		<link>https://puri.sm/posts/the-librem-5-smartphone-in-forbes/</link>
		<pubDate>Tue, 13 Aug 2019 17:40:57 +0000</pubDate>
		<dc:creator><![CDATA[Purism]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Interviews]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Press]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65089</guid>
		<description><![CDATA[<p>Todd Weaver helps Moira Vetter answer the question &#8220;Is America Finally Ready For A Surveillance-Free Smartphone?&#8221; in a recent article in Forbes. The article begins by pointing out that several companies have tried to release private, secure smartphones&#8211;and most have failed. Does that mean privacy and security are impossible to achieve? Well, not really, because: One [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-librem-5-smartphone-in-forbes/">The Librem 5 Smartphone in Forbes</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">Todd Weaver helps <a href="https://www.forbes.com/sites/moiravetter/#4e37cd2f5446">Moira Vetter</a> answer the question &#8220;Is America Finally Ready For A Surveillance-Free Smartphone?&#8221; in <a href="https://www.forbes.com/sites/moiravetter/2019/08/12/is-america-finally-ready-for-a-surveillance-free-smartphone/#1ee164393636">a recent article</a> in Forbes.</h2>
<p class="western">The article begins by pointing out that several companies have tried to release private, secure smartphones&#8211;and most have failed. Does that mean privacy and security are impossible to achieve? Well, not really, because:</p>
<blockquote>
<p class="western">One company wants to change the privacy-focused technology landscape</p>
</blockquote>
<p>And that company is Purism. Not depending on the traditional Silicon Valley Venture Capital marketplace, and being a Social Purpose Company, Purism will never compromise its users security, or their privacy, for profit.</p>
<p>Purism&#8217;s crowdfunding campaigns on the <a href="https://www.crowdsupply.com/purism" target="_blank" rel="noopener">Crowd Supply</a> platform consistently achieved more than their funding goal. The latest, concerning the <a href="https://puri.sm/products/librem-5/" target="_blank" rel="noopener">Librem 5</a> smartphone, raised over $2 million. And what makes the Librem 5 smartphone different from other phones? Several factors, such as the business model, an engaged community, and the fact that privacy and security are starting to be a great concern&#8211; and not just for everyday smartphone users, but for the government as well.</p>
<blockquote><p>While the world continues to “opt-in” and share their every move, thought, comment, viewing whim, personal home climate preference, and family behavioral profile with the 2 or 3 companies running the world, there are people that find this repugnant.</p></blockquote>
<p>Ultimately, desiring privacy does not mean having to go off the grid: a privacy-enhancing smartphone both empowers and enables its user.</p>
<p>&nbsp;</p>
<div class="row grid" style="border-top: 8px solid; border-bottom: 1px solid #333;">
<div class="column-6">
<h3>Discover the Librem 5</h3>
<p>Purism believes building the Librem 5 is just one step on the road to launching a digital rights movement, where we—the people—stand up for our digital rights, where you place the control of your data and your family’s data back where it belongs: in your own hands.</p>
<p><a class="button-primary" title="Shop the Librem 5 now" href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener noreferrer">Preorder now</a></p>
</div>
<div class="column-6" style="text-align: center; position: relative;"><img style="max-width: 125%; position: absolute; right: -100px; margin: 0;" src="https://puri.sm/wp-content/uploads/2019/08/l5-hand-v2.png" /></div>
</div>
<style> .column-6:after { content: ""; min-height: 225px; /* padding-bottom: 30%; */ display: block; } .column-6 img { bottom: -0px; } @media only screen and (min-width: 600px) { .column-6:after { display: none; } .column-6 img { bottom: 0px; } } </style>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-librem-5-smartphone-in-forbes/">The Librem 5 Smartphone in Forbes</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Curbing Harassment with User Empowerment</title>
		<link>https://puri.sm/posts/curbing-harassment-with-user-empowerment/</link>
		<pubDate>Thu, 08 Aug 2019 14:25:32 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[User empowerment]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65017</guid>
		<description><![CDATA[<p>User empowerment is the best tool to curb online harassment Online harassment is both a privacy and a security concern. We all know the story of how someone (typically a woman, studies say) states their opinion online and is then harassed to the point of leaving the service (or worse). Using the infamous &#8220;with an [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/curbing-harassment-with-user-empowerment/">Curbing Harassment with User Empowerment</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">User empowerment is the best tool to curb online harassment</h2>
<p>Online harassment is both a privacy and a security concern. We all know the story of how someone (typically a woman, <a href="https://www.theguardian.com/commentisfree/2015/apr/23/women-are-silenced-online-just-as-in-real-life-it-will-take-more-than-twitter-to-change-that" target="_blank" rel="noopener">studies say</a>) states their opinion online and is then harassed to the point of leaving the service (or worse). Using the infamous &#8220;with an opinion&#8221; hook, we can frame a user story that affects more than 50% of the population:</p>
<blockquote><p><strong>User story:</strong> I am a marginalized person with an opinion. I want to intercept online harassment, so that I can communicate safely with friends and strangers.</p></blockquote>
<p>The truth is that a motivated mob can target <a href="https://nolanlawson.com/2018/08/31/mastodon-and-the-challenges-of-abuse-in-a-federated-system/" target="_blank" rel="noopener">anyone</a>, marginalized or not. We would <em>all benefit</em> from effective anti-harassment tools.</p>
<h2 class="western">Don&#8217;t rely on the operator</h2>
<p>Many current and proposed solutions to stop or curb harassment rely on one or more of these methods:</p>
<ul>
<li>Human content moderation. Typically volunteer or low-paid, and subject to burnout. A moderation team simply does not scale, and cannot moderate private messages (we define &#8220;private&#8221; as &#8220;end-to-end encrypted&#8221;).</li>
<li>Server-side tracking. Error-prone &#8220;algorithms&#8221;, with little or no transparency, regularly make mistakes. And once more, they cannot apply to private messages.</li>
<li>Shoot-first takedown laws that skip the deliberative process and are frequently abused.</li>
<li>Corporate censorship, or any of the above distorted by bottom line.</li>
</ul>
<p>It is tempting to rely on a server-side solution, whether that means the machine itself or humans working on your behalf. <a href="https://runyourown.social/" target="_blank" rel="noopener">This can work on tiny scales</a> if you have a trusted friend with both technical and legal know-how, but in all other cases the issues are compounded. To mashup two misunderstood quotes:</p>
<blockquote><p>You solved a harassment problem by ceding control to the service? Now you have two problems.</p></blockquote>
<h2 class="western">Empower the user</h2>
<p>We suggest that user empowerment via client-side features is a more robust and safer approach. Potential design patterns include:</p>
<h3 class="western">1. Client-side heuristics</h3>
<p>Server-side solutions necessarily put power in the hands of a developer or sysadmin. By contrast, client-side heuristics put power in the hands of the user, including the power to turn them off. <a href="https://www.eff.org/privacybadger" target="_blank" rel="noopener">Privacy Badger</a> is a great example of this in practice:</p>
<ul>
<li>Fresh installations use rules generated by offline training.</li>
<li>Additional rules based on behavior-based heuristics.</li>
<li>Additional customization for experienced users.</li>
<li>No ads, no calling home, no tracking.</li>
<li>Turn it off, for example if you are researching trackers.</li>
</ul>
<p>Moving forward we aim to enhance all Librem One clients with badger-like functionality. We believe that the majority of cases won&#8217;t require machine learning, and could be handled with simple heuristics:</p>
<p><img class="size-medium aligncenter" style="width: 350px !important; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/Screen-Shot-2019-08-06-at-14.37.55.png" alt="Illustration of Librem One clients with privacy badger-like functionality " /></p>
<h3>2. Safety mode</h3>
<p>We can classify online correspondents into three groups:</p>
<ul>
<li>Trusted contacts. People we talk to regularly, and trust.</li>
<li>Strangers. People we don&#8217;t know well, or don&#8217;t know at all.</li>
<li>Bad actors. People we don&#8217;t want to interact with, possibly based on the advice of a trusted contact.</li>
</ul>
<p>Typically, we want to communicate with strangers online, so this should be possible by default. But if we are being actively harassed, we can assume that further messages from strangers are unsafe, and switch our account to &#8220;safety mode&#8221;&#8211;rejecting messages, invites and other interactions from strangers. We can rely on our trusted contacts for help and support, including passing on well-wishes from strangers.</p>
<p>At-risk individuals might choose to start their account in safety mode.</p>
<p>Trusted caretakers might maintain lists of bad actors, but trusting a caretaker should require very careful consideration: What is their governance model? What is their appeals process? Do they leak information about list recipients?</p>
<h3 class="western">3. Crowd-sourced tagging for public content</h3>
<p>In the specific case of public posts, we believe that <a href="https://source.puri.sm/liberty/smilodon/issues/6">public crowd-sourced tagging</a> (aka, <a href="https://en.wikipedia.org/wiki/Folksonomy">folksonomy</a>) is a sustainable and fair replacement for human moderation, caretaker-lists and takedowns.</p>
<p>This approach takes moderation power out of the hands of a few sysadmins and corporate moderation teams, and grants it to all users equally. Users are free to decide which user-moderator they trust, and filter based on their tags&#8211;or skip moderation entirely.</p>
<pre class="code highlight" lang="plaintext"><span id="LC01" class="line" lang="plaintext">😡: I pity the fool who can't butter their</span>
<span id="LC02" class="line" lang="plaintext">    #toast! #onlydirectionisup</span>
<span id="LC03" class="line" lang="plaintext"></span>
<span id="LC04" class="line" lang="plaintext">        😷: #hatespeech</span>
<span id="LC05" class="line" lang="plaintext">        😒: #butterpolitics</span>
<span id="LC06" class="line" lang="plaintext"></span>
<span id="LC07" class="line" lang="plaintext">👿: @😡 Shut up! My grandparents fought to</span>
<span id="LC08" class="line" lang="plaintext">    butter side #down!</span>
<span id="LC09" class="line" lang="plaintext"></span>
<span id="LC10" class="line" lang="plaintext">        🤩: #thoughtleader</span>
<span id="LC11" class="line" lang="plaintext">        😒: #butterpolitics</span>
<span id="LC12" class="line" lang="plaintext"></span>
<span id="LC13" class="line" lang="plaintext">😤: @😡 @👿 Well actually, you're ignoring</span>
<span id="LC14" class="line" lang="plaintext">    the #margarine argument. You're such</span>
<span id="LC15" class="line" lang="plaintext">    #lipidariantoastbros</span>
<span id="LC16" class="line" lang="plaintext"></span>
<span id="LC17" class="line" lang="plaintext">        😒: #butterpolitics</span>
<span id="LC18" class="line" lang="plaintext"></span>
<span id="LC19" class="line" lang="plaintext">😢: @😤 @😡 @👿 Why can't we all just get along?</span>
<span id="LC20" class="line" lang="plaintext"></span>
<span id="LC21" class="line" lang="plaintext">        😡: #butterdowner</span>
<span id="LC22" class="line" lang="plaintext">        👿: #butterupper</span>
<span id="LC23" class="line" lang="plaintext">        😤: #lipidariantoastbros</span>
<span id="LC24" class="line" lang="plaintext">        😒: #butterpolitics</span>
<span id="LC25" class="line" lang="plaintext">        🤩: #thoughtleader</span>
<span id="LC26" class="line" lang="plaintext"></span>
</pre>
<h2>Where to, from here?</h2>
<p dir="auto" data-sourcepos="80:1-80:194">These are only a few of the high-level patterns we are considering as enhancements to all Librem One clients. Your Librem One subscription supports our team as we turn these patterns into a reality.</p>
<p dir="auto" data-sourcepos="82:1-82:142">They build on the philosophy we&#8217;ve already outlined on our blog, under the &#8220;user empowerment&#8221; tag.</p>
<p dir="auto" data-sourcepos="84:1-84:319">We look forward to reading more proposals from our friends and colleagues in the free software and anti-harassment communities. We are particularly interested in design patterns that honor our &#8220;no tracking&#8221; policy, and reliable (peer-reviewed) statistics that help prioritize use-cases. We are already looking at:</p>
<ul dir="auto" data-sourcepos="86:1-89:0">
<li data-sourcepos="86:1-86:83"><a href="https://www.ihollaback.org/resources/research/" target="_blank" rel="nofollow noreferrer noopener">Harassment research by Hollaback!</a></li>
<li data-sourcepos="87:1-87:113"><a href="https://sassafras.coop/our-work" target="_blank" rel="nofollow noreferrer noopener">The work of the Sassafras Tech Collective</a>, including &#8220;Anti-Oppressive Design&#8221;</li>
<li data-sourcepos="88:1-89:0"><a href="https://gitlab.com/spritely/ocappub/blob/master/README.org">OcapPub: Towards networks of consent</a>, an upcoming paper by Christopher Lemmer Weber, co-author of the ActivityPub standard</li>
<li data-sourcepos="88:1-89:0">And <a href="https://mitpress.mit.edu/books/protecting-children-online">&#8220;Protecting Children Online: Cyberbullying Policies of Social Media Companies&#8221;</a>, by <span class="book__authors">Tijana Milosevic</span></li>
</ul>
<p dir="auto" data-sourcepos="90:1-90:286">In the meantime, and whether you are a Librem One user or not, please refer to our <a href="https://librem.one/stay-safe/" target="_blank" rel="nofollow noreferrer noopener">stay safe guide</a>. It&#8217;s quick and easy to read, <a href="https://librem.one/policy/" target="_blank" rel="nofollow noreferrer noopener">just like our policy</a>, and we keep it up-to-date with links to high-quality, world-audience resources.</p>
<p dir="auto" data-sourcepos="90:1-90:286">Thanks for stopping by, stay safe, and stay tuned for more user empowerment news.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/curbing-harassment-with-user-empowerment/">Curbing Harassment with User Empowerment</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Nicole Faerber nominated for &#8220;CTO of the Year&#8221; by Women in IT Awards</title>
		<link>https://puri.sm/posts/nicole-faerber-nominated-for-cto-of-the-year-by-women-in-it-awards/</link>
		<pubDate>Wed, 07 Aug 2019 13:56:51 +0000</pubDate>
		<dc:creator><![CDATA[Bryan Lunduke]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Gender equality]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65032</guid>
		<description><![CDATA[<p>Our very own Nicole Faerber has made it to the short-list for &#8220;CTO of the Year&#8221; by the Women in IT Awards! Congratulations are in order&#8211;we are so proud to say that Nicole Faerber just got nominated to the short-list of such a meaningful award. Nicole&#8217;s nomination means a lot to Purism, and we are [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/nicole-faerber-nominated-for-cto-of-the-year-by-women-in-it-awards/">Nicole Faerber nominated for &#8220;CTO of the Year&#8221; by Women in IT Awards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Our very own Nicole Faerber has made it to the <a href="https://womeninitawards.com/women-in-it-berlin-shortlist-2/">short-list for &#8220;CTO of the Year&#8221; by the Women in IT Awards</a>!</h2>
<p>Congratulations are in order&#8211;we are so proud to say that Nicole Faerber just got nominated to the short-list of such a meaningful award. Nicole&#8217;s nomination means a lot to Purism, and we are here today to say just so.</p>
<p>She totally deserves this nomination (and, if we may say so ourselves, she&#8217;d also deserve to <em>get</em> the award&#8230;) for oh-so-many reasons:</p>
<ul>
<li>for her amazingly innovative work on our upcoming <a href="https://puri.sm/products/librem-5/">Librem 5</a> smartphone</li>
<li>for her concerns about privacy and security and avoiding data and user exploitation</li>
<li>and of course her assertive presence in the free software community, where she contributes to making free software an industry standard&#8230; helping the rest of the world take its possibilities seriously.</li>
</ul>
<p>So thank you, Nicole Faerber for all that you do!</p>
<blockquote><p>&#8220;Women have been an important part in creating the very foundations of modern IT, naming <a href="https://en.wikipedia.org/wiki/Ada_Lovelace" target="_blank" rel="nofollow noopener">Ada Lovelace</a> as just one example (<a href="https://insights.dice.com/2016/03/14/10-famous-women-in-tech-history/" target="_blank" rel="nofollow noopener">here</a> and <a href="https://www.womenintech.co.uk/top-10-influential-women-in-tech" target="_blank" rel="nofollow noopener">here</a> are some more), and have ever since played an important role in IT and computer science.&#8221; &#8211; Nicole</p></blockquote>
<hr />
<p>Women in technology are clearly not represented enough: they amounted to somewhere between 2% and 5% of all programmers a decade ago, and about 10% now. At Purism, we pride ourselves on being gender diverse, in addition to being racially and geographically diverse. Our full team is comprised of 20+% women (with women accounting for 37+% of our board, and 33+% of Purism executives) and we continue to work to increase that percentage. Diversity is an asset, and creates safe workplace environments. If you want a safe workplace environment that respects diversity, <a href="https://puri.sm/jobs/">we are hiring</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/nicole-faerber-nominated-for-cto-of-the-year-by-women-in-it-awards/">Nicole Faerber nominated for &#8220;CTO of the Year&#8221; by Women in IT Awards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>What a No-Carrier Phone Could Look Like</title>
		<link>https://puri.sm/posts/what-a-no-carrier-phone-could-look-like/</link>
		<pubDate>Thu, 01 Aug 2019 13:00:03 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Communications infrastructure]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63949</guid>
		<description><![CDATA[<p>Now that we are in the home stretch for the Librem 5 launch, it&#8217;s a good time to start discussing some visions for the future. While the Librem 5 can operate as a traditional cellular phone today, in this post we are going to discuss its potential as a &#8220;no-carrier phone.&#8221; The term &#8220;no-carrier phone&#8221; [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/what-a-no-carrier-phone-could-look-like/">What a No-Carrier Phone Could Look Like</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Now that we are in the home stretch for the Librem 5 launch, it&#8217;s a good time to start discussing some visions for the future. While the Librem 5 can <a href="https://puri.sm/posts/purisms-librem-5-progress-in-videos/">operate as a traditional cellular phone today</a>, in this post we are going to discuss its potential as a &#8220;no-carrier phone.&#8221;</p>
<p>The term &#8220;no-carrier phone&#8221; is used for a mobile phone that does not get its phone number from a carrier. This can take a couple of forms: a WiFi connection-only phone, or a Cellular Data connection-only phone.</p>
<p>In other industries, for instance in media distribution, this is called &#8220;Over-The-Top&#8221; (OTT); the underlying idea is that Internet Service Providers (ISPs) should be, and are just, &#8220;dumb pipes&#8221;. Why?, because they provide internet data only&#8211;and all the services ride over-the-top of the internet connection. Netflix paved the way for OTT in media when it moved from DVD to streaming (the &#8220;Net&#8221; part of their name) and offered television and movie-content to any internet connected device. This was done against the wishes of many entrenched media groups and ISPs, of course&#8211;but the majority of us have now adopted the OTT model: we call them streaming services.</p>
<h3>Over-The-Top can (and, in my humble opinion, should) apply to every form of service on the internet.</h3>
<p>We do not need to get our primary mobile phone number from a carrier—routing all our voice data, messaging data and internet data. If the carriers were just &#8220;dumb pipes&#8221;, they would offer us data-only connections, allowing us to get personal services from any competitor offering an internet tool we need or like&#8211;including a phone number. Sure, the carriers could bundle their own <em>a la carte</em> offering of services, but as the <a href="https://www.fcc.gov/consumers/guides/porting-keeping-your-phone-number-when-you-change-providers" target="_blank" rel="nofollow noopener">US Congress established a while ago with the FCC</a> during the phone-number-lock-in wars (from the US Telco providers) people should be able to keep their phone number and just switch providers.</p>
<p>Over-The-Top means you would have a fully-functioning phone&#8211;and a phone number&#8211;portable to whatever internet connection you desire; be that a cellular carrier, a prepaid SIM card, a coffee-shop WiFi, tethered to a friend&#8217;s device, USB hotspot or whatever other fun thing you&#8217;d like to try (BlueTooth mesh network, anyone?).</p>
<h3>This No-Carrier vision could be realized with the Librem 5 combined with Librem Dial&#8211;a future part of <a href="https://librem.one/" target="_blank" rel="noopener">Librem One</a> bundle.</h3>
<p>Once Librem Dial is released in the future, it would mean you could have a non-carrier-provided phone number which could be used no matter what connection you have over-the-top; that you could make or receive calls to your primary phone number if you are on WiFi and no Cellular connection. You could flip the Cellular Modem Hardware Kill Switch (HKS) on your Librem 5 and still call or text from your primary phone number while at that coffee-shop WiFi.</p>
<p>This would offer you the ability to have a no-carrier phone&#8211;in either form&#8211;that now you only have when on WiFi&#8211;which means no triangulation-location tracking from cellular towers. Or you could have it tethered via WiFi to another device; or a no-carrier phone number whereby you use a prepaid data-only SIM card, or even opt to have a data-only SIM card from a carrier. I would still call this a no-carrier phone, as the phone&#8217;s <em>number</em> is not attached to any carrier.</p>
<h3>This approach of over-the-top has many added benefits&#8211;and only one down-side:</h3>
<p>Because cellular carriers offer voice and SMS messaging even when you are outside of cellular data regions, you can still make or receive a call (or send and receive text messaging) with very weak data signals. This is why you can still call and text even if you turn off cellular data on your phone. In a no-carrier model—where the service rides purely over the data connection—your services would only work when there is data connection to your phone, be that WiFi or cellular data. Even with this downside, the benefits are tremendous of course&#8211;including having complete privacy control of your device&#8217;s location, control over when you&#8217;d like to connect and use your cellular data plan, and the ability to switch providers without ever having to reconfigure your accounts or settings.</p>
<h3>As you can see, Purism has grandiose plans, and we continue to advance towards them rapidly.</h3>
<p>Triple-digit, year-over-year growth offers us a unique opportunity to serve society&#8211;as our Social Purpose Corporation status requires&#8211;changing society for the better all along the way.</p>
<p>&nbsp;</p>
<hr />
<p style="text-align: left;">By <a href="https://shop.puri.sm/shop/librem-5/">pre-ordering the Librem 5 phone</a> and signing-up <a href="https://librem.one/">for Librem One services</a>, you will be supporting a platform with the potential to cut the cord from your carrier and move toward the no-carrier phone!</p>
<p style="text-align: center;"><a class="button-primary" href="https://librem.one/">Get Librem One</a></p>
<p style="text-align: center;"><a class="button-primary" href="https://shop.puri.sm/shop/librem-5/">Pre-Order Librem 5</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/what-a-no-carrier-phone-could-look-like/">What a No-Carrier Phone Could Look Like</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Smartphone &#8211; Final Specs Announced</title>
		<link>https://puri.sm/posts/librem-5-smartphone-final-specs-announced/</link>
		<pubDate>Mon, 29 Jul 2019 14:58:09 +0000</pubDate>
		<dc:creator><![CDATA[Bryan Lunduke]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64824</guid>
		<description><![CDATA[<p>We are proud to unveil the final specifications for the Librem 5 smartphone, set to begin shipping in Q3 of 2019. Here&#8217;s the high level hardware specs: Librem 5 Display : 5.7″ IPS TFT screen @ 720&#215;1440 Processor: i.MX8M (Quad Core) max. 1.5GHz Memory: 3GB RAM Storage: 32 GB eMMC internal storage External Storage: microSD [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-smartphone-final-specs-announced/">Librem 5 Smartphone &#8211; Final Specs Announced</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="sans-serif">We are proud to unveil the final specifications for the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5 smartphone</a>, set to begin shipping in Q3 of 2019. Here&#8217;s the high level hardware specs:</p>
<hr />
<div class="row grid">
<div class="column-5"><img src="https://puri.sm/wp-content/uploads/2019/07/shell-l5.png" alt="Librem 5 - final specifications" width="640" height="461" /></div>
<div class="column-7 sans-serif sans-serif-size-14th">
<h2 style="margin-top: 16px;">Librem 5</h2>
<p><strong>Display</strong> : 5.7″ IPS TFT screen @ 720&#215;1440<br />
<strong>Processor</strong>: i.MX8M (Quad Core) max. 1.5GHz<br />
<strong>Memory</strong>: 3GB RAM<br />
<strong>Storage</strong>: 32 GB eMMC internal storage<br />
<strong>External Storage</strong>: microSD storage expansion<br />
<strong>Wireless</strong>: 802.11abgn 2.4 Ghz / 5Ghz + Bluetooth 4<br />
<strong>Baseband</strong>: Gemalto PLS8 3G/4G modem w/ single SIM on replaceable M.2 card<br />
<strong>GPS</strong>: Teseo LIV3F GNSS<br />
<strong>Smartcard</strong>: Reader with 2FF card slot (SIM card size)<br />
<strong>Sound</strong>: 1 earpiece speaker, 3.5mm headphone jack<br />
<strong>Accelerometer</strong>: 9-axis IMU (gyro, accel, compass)<br />
<strong>Front Camera</strong>: 8 MPixel<br />
<strong>Back Camera</strong>: 13 MPixel w/LED flash<br />
<strong>Vibration motor</strong>: Included<br />
<strong>USB Type C</strong>: USB 3.0 data, Charging (Dual-Role Port), Video out<br />
<strong>Battery</strong>: User replaceable &#8211; 3,500 mAh</p>
</div>
</div>
<hr />
<blockquote class="promo"><p>You can <a href="https://shop.puri.sm/shop/librem-5/">pre-order the Librem 5</a> for the early bird discounted price of $649 &#8212; with the price going up $50 after July 31st.</p></blockquote>
<h3>Here&#8217;s a more detailed breakdown of the Librem 5 hardware and specific components included:</h3>
<h4>CPU i.MX8M @ max. 1.5GHz</h4>
<ul>
<li>Quad core Cortex A53, 64bit ARM</li>
<li>GPU: Vivante GC7000Lite (hardware supports OpenGL/ES 3.1, Vulkan, OpenCL 1.2)</li>
<li>Auxiliary Cortex M4</li>
</ul>
<h4>RAM:</h4>
<ul>
<li>3GB RAM</li>
</ul>
<h4>Storage:</h4>
<ul>
<li>Internal 32GB eMMC</li>
<li>microSD storage expansion slot (max 2 TB)</li>
</ul>
<h4>Display:</h4>
<ul>
<li>5.7&#8243; IPS TFT screen @ 720&#215;1440</li>
</ul>
<h4>3 Hardware Kill Switches:</h4>
<ul>
<li>WiFi / Bluetooth</li>
<li>Cellular Baseband</li>
<li>Cameras &amp; microphone</li>
<li>All 3 off = additionally disable IMU+compass &amp; GNSS, ambient light and proximity sensors</li>
</ul>
<h4>Other Buttons:</h4>
<ul>
<li>Power button, Volume ± buttons</li>
</ul>
<h4>Battery:</h4>
<ul>
<li>3,500mAh, user replaceable</li>
</ul>
<h4>Wireless:</h4>
<ul>
<li>802.11abgn 2.4 Ghz / 5Ghz + Bluetooth 4</li>
</ul>
<h4>Baseband:</h4>
<ul>
<li>Option 1: Gemalto PLS8 3G/4G modem w/ single SIM on replaceable M.2 card</li>
<li>Option 2: Broadmobi BM818 (made in China)</li>
<li>nanoSIM tray for cellular</li>
</ul>
<h4>GPS:</h4>
<ul>
<li>Teseo LIV3F GNSS</li>
</ul>
<h4>Cameras:</h4>
<ul>
<li>Rear camera @ 13 MPixel</li>
<li>Camera flash LED for rear camera</li>
<li>Front camera @ 8 MPixel</li>
</ul>
<h4>USB Type-C Port:</h4>
<ul>
<li>USB3.0 data</li>
<li>Power Delivery (Dual-Role Port)</li>
<li>Video out</li>
</ul>
<h4>Audio:</h4>
<ul>
<li>1 earpiece speaker + digital microphone</li>
<li>3.5mm headphone jack with stereo out and mono microphone input</li>
<li>Audio DAC: Wolfson Media WM8962</li>
<li>1 loudspeaker</li>
</ul>
<h4>Smartcard:</h4>
<ul>
<li>Reader with 2FF card slot (SIM card size)</li>
</ul>
<h4>Notification Lights:</h4>
<ul>
<li>RGB LED with PWM control per color</li>
</ul>
<h4>Other Sensors, Components:</h4>
<ul>
<li>Acceleration, gyro and compass sensor (&#8220;9-axis&#8221; by ST, LSM9DS1)</li>
<li>Ambient light and proximity sensor: VCNL4040</li>
<li>Haptic motor</li>
</ul>
</div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-smartphone-final-specs-announced/">Librem 5 Smartphone &#8211; Final Specs Announced</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Happy SysAdmin Day!</title>
		<link>https://puri.sm/posts/happy-sysadmin-day/</link>
		<pubDate>Fri, 26 Jul 2019 12:47:59 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64846</guid>
		<description><![CDATA[<p>The Purism team enjoys celebrating across all time zones. So far this year we&#8217;ve posted in celebration of Women&#8217;s Day, Pi Day and Towel Day&#8211;and today we&#8217;re celebrating System Administrator Appreciation Day! Because behind every network, big or small, system administrators are working hard to make sure that servers are secure, updates are painless and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/happy-sysadmin-day/">Happy SysAdmin Day!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Purism team enjoys celebrating across all time zones. So far this year we&#8217;ve posted in celebration of Women&#8217;s Day, Pi Day and Towel Day&#8211;and today we&#8217;re celebrating <a href="https://sysadminday.com/">System Administrator Appreciation Day</a>!</p>
<p>Because behind every network, big or small, system administrators are working hard to make sure that servers are secure, updates are painless and metaphorical fires are quickly put out. They frequently go beyond their job description to provide additional support to individual users on the network.</p>
<p>One big, well-kept secret is that most of the Internet runs on free software. The other big secret is that all of the Internet runs on SysAdmins.</p>
<p>So today we&#8217;d like to thank our SysOps team for their tireless work, juggling the demands of company resources, <a href="https://puri.sm/products/">our shop</a> and various websites, as well as our <a href="https://librem.one/">Librem One services</a>. Your laptop, services &#8211;and soon your phone&#8211;will make their way to you in large part thanks to the infrastructure they maintain.</p>
<p>We&#8217;d also like to thank other members of our team who contribute to the DevOps process.</p>
<p>If you&#8217;re feeling generous, send a shout-out to the admins of the network you&#8217;re using right now (your ISP, school or work LAN, phone operator) and say thanks for their hard work! And on a day when something goes wrong, don&#8217;t forget to send a little <a href="https://www.statuspage.io/hugops">#hugops</a> their way <span class="emoji">🤗</span></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/happy-sysadmin-day/">Happy SysAdmin Day!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Consent Matters: When Tech Takes Remote Control Without Your Permission</title>
		<link>https://puri.sm/posts/consent-matters-when-tech-takes-remote-control-without-your-permission/</link>
		<pubDate>Thu, 25 Jul 2019 13:59:44 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[User empowerment]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64769</guid>
		<description><![CDATA[<p>In my previous post I talked about why consent matters when it comes to privacy; and yet, privacy is only one of the areas where tech companies take advantage of users without their consent. Recently, tech companies have come to a troubling consensus: that they can change your computer, remotely (and often silently) without your [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/consent-matters-when-tech-takes-remote-control-without-your-permission/">Consent Matters: When Tech Takes Remote Control Without Your Permission</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>In my previous post I talked about <a href="https://puri.sm/posts/consent-matters-when-tech-shares-your-secrets-without-your-permission/">why consent matters when it comes to privacy</a>; and yet, privacy is only one of the areas where tech companies take advantage of users without their consent. Recently, tech companies have come to a troubling consensus: that they can <strong>change your computer</strong>, remotely (and often silently) without your knowledge or permission.</p>
<p>Some examples of this include:</p>
<ul>
<li><a href="https://techcrunch.com/2019/07/10/apple-silent-update-zoom-app/">Apple silently disabling a 3rd-party service on Macs because of a security vulnerability</a> even though <a href="https://techcrunch.com/2019/07/08/a-vulnerability-in-zooms-mac-client-could-allow-websites-to-turn-on-cameras-without-permission/">a patch was already available</a></li>
<li>Apple blocking <a href="https://www.theverge.com/2019/1/30/18203551/apple-facebook-blocked-internal-ios-apps">Facebook</a> and <a href="https://www.theverge.com/2019/1/31/18205795/apple-google-blocked-internal-ios-apps-developer-certificate">Google</a> from running their internal iOS apps even on their internal company iPhones</li>
<li>Microsoft (<a href="https://www.windowscentral.com/microsoft-will-no-longer-force-windows-10-feature-updates-users">up until this past May</a>) <a href="https://www.computerworld.com/article/2949622/windows-10-forced-updates-dont-panic.html">forcing feature updates to Windows 10</a> (and often <a href="https://www.howtogeek.com/298940/microsoft-please-stop-breaking-my-pc-with-windows-10s-automatic-updates/">breaking consumer desktops</a>)</li>
<li><a href="https://arstechnica.com/gadgets/2019/07/dropbox-silently-installs-new-file-manager-app-on-users-systems/">Dropbox silently updating their software to install a new file manager</a></li>
<li>The classic, irony-filled example of <a href="https://io9.gizmodo.com/amazon-secretly-removes-1984-from-the-kindle-5317703">Amazon removing <em>1984</em> from Kindle e-book readers</a></li>
</ul>
<p>Below you will find the origins of this mentality, the risks and harm that arise from it, and what it says about who really owns a computer.</p>
<h2>Enterprise IT and the origins of &#8220;remote control&#8221;</h2>
<p>Anyone who has ever worked for a large company in the computer age has experienced first-hand the authoritarian, controlling, and restrictive policies that IT employs to manage company computers. Starting with centralized systems like Active Directory, IT teams were able to create policies that controlled what sorts of passwords employees could use and whether employees could install applications, access printers, and even, in some cases, insert USB drives.</p>
<p>These centralized tools have evolved over the years: they can now add and remove files, install new software and software updates, remotely control machines over the network in order to view what&#8217;s on their screens and access local files. This controls extends into <a href="https://puri.sm/learn/avoiding-intel-amt/">Active Management Technology</a> features embedded into the Intel Management Engine, that lets administrators <strong>remotely control computers even if they are turned off</strong>. Now that smartphones are critical tools in many organizations, MDM (Mobile Device Management) tools are also often employed at enterprises to bring those devices under a similar level of control&#8211;with the added benefit of using GPS to <a href="https://www.theatlantic.com/technology/archive/2017/01/employer-gps-tracking/512294/">track employee phones even outside the office</a>.</p>
<p>The most common justification for these policies is <em>convenience.</em> If you are an IT department and have thousands of employees&#8211;each with at least one computer and one smartphone that you need to support&#8211;one of the ways to make sure that the appropriate software is on the systems, and updates get applied, is to push them from a central location. Companies often have custom in-house software their employees rely on to do their jobs, and throughout the life of the company more tools are added to their toolbox. You can&#8217;t expect the IT team to go desk-by-desk installing software by hand when you have thousands of employees working at offices all over the world: when an employee&#8217;s computer breaks, these same tools make it easy for IT to replace the computer so the employee can get back to work quickly.</p>
<p>The main justification for the strictest&#8211;and most controlling&#8211;IT policies isn&#8217;t convenience, though: it&#8217;s <em>security.</em> IT pushes software updates for protection against security bugs. They push anti-virus, anti-malware and remote monitoring tools, to protect both employee and company from dangerous email attachments, from software they might download from their web browser. IT removes local administrative privileges from employees in the name of protecting them from installing malware (and, practically speaking, from installing games and other time-wasting apps). They disable USB storage devices so employees can&#8217;t insert disks containing malware or copy off sensitive company documents. Each of these practices have valid reasons behind them for companies facing certain threats.</p>
<h2>Are users children?</h2>
<p>Information security professionals spend much of their time solving problems in the enterprise IT space; as a result, they often take on some of the same patronizing views of users you find in IT. <strong>Many view themselves as parents and users as children</strong>, their role being to wrap the hard corners of the digital world in foam so users don&#8217;t hurt themselves. This patronizing view leads them to pick security measures that remove control and autonomy from end users, and centralizes that power in the hands of IT or information security. The repeating refrain is &#8220;just trust us&#8221; and that users must place full trust in the internal security team, or the third party enterprise security vendor, to be safe.</p>
<p>Most users tend to bristle against this kind of security policies&#8211;especially as generations are entering the workforce who grew up with computers, and are increasingly savvy and knowledgeable about how to use them. All the same, in the workplace employees have grown accustomed to giving up much of their autonomy, control, and privacy for the sake of the company. Yet you can tell that this approach runs against our nature, because so many companies have had to explain these policies in new hire documents and require that employees agree to, and sign them, when they are hired. These documents inform the employees that the computers they use and the documents they access are company property&#8211;and that the company is authorized to monitor and control their property at all times.</p>
<h2>Remote control spreads to consumer devices</h2>
<p>You could make a convincing argument that, since companies have paid for, and do own, all of the computers they provide to their employees, and pay IT teams to maintain them, it&#8217;s their right to set up software to control them remotely. As draconian and privacy-invading as some corporate policies are, you can still argue that employees <em>consented</em> to this level of control when they signed their employee contract. The problem is that this patronizing, authoritarian approach to enterprise IT has now found its way into consumer devices as well, because it&#8217;s in a tech company&#8217;s interest to have as much power over their customer as possible. Unlike in the enterprise, though, <strong>this remote control is on by default and <em>without</em> explicit consent</strong>.</p>
<p>More and more tech companies are hiring <em>themselves</em> as their customers&#8217; IT staff, are granting themselves remote control over their customers&#8217; computers, always in the name of convenience and security. The most common form of remote control is that of automatic updates; on the surface, automatic security updates make sense&#8211;people can&#8217;t be expected to know about all of the security vulnerabilities in all of their software, so it makes sense to make patching easier for them.</p>
<p>The problem is that many companies now set this behavior as the default&#8211;without user consent&#8211;and don&#8217;t limit themselves to security updates: instead, they also push other changes they want, including normal feature updates, <a href="https://www.howtogeek.com/269331/how-to-disable-all-of-windows-10s-built-in-advertising/">adding new advertising to the OS</a>, <a href="https://www.nextgov.com/emerging-tech/2018/09/update-google-chrome-automatically-logs-users-browser/151507/">automatically logging users into their Google accounts</a>, and any other change they want on your computer. These updates often have critical bugs themselves, but since they go along for the ride with security updates, people are left with the false choice between security and stability.</p>
<p>Because these updates happen behind the scenes, without any prompts or notices for the user, users have little to no control over whether, or when, the updates happen. On phones, this control can also extend to whether a user is allowed to <em>install</em> an application, <em>use</em> it after they installed it, or in the famous example of Google and Huawei being caught up in the US/China trade war, <a href="https://www.techradar.com/news/huawei-suffers-major-android-setback-as-google-pulls-access-to-core-apps-and-services">a customer losing the ability to <em>update their phone</em></a>. Most recently, <a href="https://www.vice.com/en_us/article/a3xk3p/adobe-tells-users-they-can-get-sued-for-using-old-versions-of-photoshop">Adobe has told its customers they could be sued if they <em>don&#8217;t</em> upgrade</a>&#8211;using older versions of the software they bought apparently being against their licensing agreement!</p>
<h2>Who owns your computer?</h2>
<p>The irony is that, decades ago, when your average person had minimal experience with computers, those inexperienced users had much more control and autonomy over them. Many people grew up with computers and smartphones today, and technology is second-nature to them. Many switch between operating systems, laptops and phone vendors as effortlessly as if they were switching between car brands. Yet, at a time when <strong>individuals are much more capable</strong> of using computers, and computers are simpler to use than ever before, <strong>tech companies have decided people can&#8217;t be trusted</strong> to manage their own devices, that the vendor should have more control than ever before.</p>
<p>In the case of enterprise IT, it&#8217;s clear that the company owns employee computers and exercises their rightful control over their own property. But what does it mean if a tech company exercises the same kind of control over consumer computers or phones? If hardware vendors have the power to change your computer silently, without your consent&#8211;including 3rd party applications you installed yourself&#8211;is the computer really yours? If phone vendors decide which applications you can install, can remotely disable applications from running and can stop you from getting updates, is the phone really yours? If software vendors can install major feature changes without your permission, force you to update, even sue you if you don&#8217;t update to their latest versions&#8211;is the software really yours?</p>
<h2>The solution is consent</h2>
<p>The solution to this problem of remote control is pretty simple: <em>consent.</em> While many people in security circles believe the ends justify the means, there are  many examples where the same action, leading to the same result, takes on a completely different tone&#8211; all depending on whether or not the actor got consent.</p>
<p>Some people may be more than happy to make their hardware or software vendor, or the IT department,  in charge of their devices, <em>but the vendor should still get permission first</em>. While many vendors will point to their click-through agreements as proof of consent, customers aren&#8217;t expected to read (or understand) these agreements, and so they are no more valid a form of consent than a click-through privacy policy. If you have to accept a license agreement before you can use a computer or software, <strong>it&#8217;s not really consent&#8211;it&#8217;s an ultimatum</strong>.</p>
<p>Consent doesn&#8217;t need to mean users will be at risk from malware or security bugs; it just means they give permission before a company changes files on their computer. Vendors can add a simple prompt that explains what&#8217;s about to happen, so the customer can approve it. The customers that don&#8217;t care or that fully trust the vendor will still click <em>Accept</em> regardless; customers that <em>do</em> care retain control over their computer and can investigate and approve the change first. The problem with removing everyone&#8217;s power because you assume most people are apathetic, is that many people are apathetic <em>precisely</em> <em>because</em> they feel powerless in the face of Big Tech companies.</p>
<p>&nbsp;</p>
<hr />
<p><a href="https://puri.sm/posts/with-purism-products-you-are-in-control/">All of Purism’s products are aimed at removing control from tech vendors (including ourselves) and giving freedom back to users. </a>This is true in the free software we use throughout our hardware,<a href="https://librem.one/"> the open standards (again, and free software) we use for our services</a>, <a href="https://librem.one/stay-safe/">in our approach to moderation for Mail, Chat and Social</a>. We ask for your permission before we update software on your computer and explain exactly what&#8217;s being updated and why. You shouldn’t have to outsource all of your trust and control to a vendor to be secure. With <a href="https://puri.sm/products/">Purism products</a>, <strong>you are in control</strong>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/consent-matters-when-tech-takes-remote-control-without-your-permission/">Consent Matters: When Tech Takes Remote Control Without Your Permission</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Runs on the Librem 5 Smartphone &#8211; Round 4</title>
		<link>https://puri.sm/posts/runs-on-the-librem-5-smartphone-round-4/</link>
		<pubDate>Wed, 24 Jul 2019 22:16:22 +0000</pubDate>
		<dc:creator><![CDATA[Bryan Lunduke]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64861</guid>
		<description><![CDATA[<p>We&#8217;re back for another glorious round of looking at software running on the upcoming Librem 5 Smartphone! If you&#8217;ve missed any of the previous videos, check out parts One, Two, and Three to get all caught up &#8212; then enjoy the 8 videos below (ranging from a music player to running the Apache Web Server [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-round-4/">Runs on the Librem 5 Smartphone &#8211; Round 4</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We&#8217;re back for another glorious round of looking at software running on the upcoming <a href="https://puri.sm/products/librem-5/">Librem 5 Smartphone</a>!</p>
<p>If you&#8217;ve missed any of the previous videos, check out parts <a href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-1/">One</a>, <a href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-2/">Two</a>, and <a href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-3/">Three</a> to get all caught up &#8212; then enjoy the 8 videos below (ranging from a music player to running the Apache Web Server right on the Librem 5).  And you better believe we&#8217;ve got more on the way.  A lot more.</p>
<blockquote><p>If you <a href="https://shop.puri.sm/shop/librem-5/">pre-order the Librem 5</a> before July 31st, you save $50.</p></blockquote>
<p style="text-align: left;"><strong>Day 21 &#8211; Music Player</strong> (<a href="https://www.youtube.com/watch?v=k3kK4M26CZA">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->
<video class="wp-video-shortcode" id="video-64861-1" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-021-MusicPlayer.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-021-MusicPlayer.mp4?_=1" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-021-MusicPlayer.webm?_=1" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-021-MusicPlayer.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-021-MusicPlayer.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 22 &#8211; DOSBox</strong> (<a href="https://www.youtube.com/watch?v=HJMRI8kdc64">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64861-2" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-022-DOSBox.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-022-DOSBox.mp4?_=2" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-022-DOSBox.webm?_=2" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-022-DOSBox.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-022-DOSBox.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 23 &#8211; GNOME Disk Utility</strong> (<a href="https://www.youtube.com/watch?v=IipYuoXHFyc">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64861-3" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-023-GNOMEDiskUtility.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-023-GNOMEDiskUtility.mp4?_=3" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-023-GNOMEDiskUtility.webm?_=3" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-023-GNOMEDiskUtility.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-023-GNOMEDiskUtility.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 24 &#8211; July Librem 5 Update</strong> (<a href="https://www.youtube.com/watch?v=u5hISNi_Jws">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64861-4" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-024-JulyLibrem5Update.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-024-JulyLibrem5Update.mp4?_=4" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-024-JulyLibrem5Update.webm?_=4" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-024-JulyLibrem5Update.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-024-JulyLibrem5Update.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 25 &#8211; Image Viewer</strong> (<a href="https://www.youtube.com/watch?v=tipEr4KD6Ag">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64861-5" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-025-ImageViewer.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-025-ImageViewer.mp4?_=5" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-025-ImageViewer.webm?_=5" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-025-ImageViewer.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-025-ImageViewer.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 26 &#8211; Apache Web Server</strong> (<a href="https://www.youtube.com/watch?v=0V8q59UKmAQ">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64861-6" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-026-ApacheWebServer.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-026-ApacheWebServer.mp4?_=6" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-026-ApacheWebServer.webm?_=6" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-026-ApacheWebServer.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-026-ApacheWebServer.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 27 &#8211; GNOME File Open Dialog</strong> (<a href="https://www.youtube.com/watch?v=MBeFkgA3jVo">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64861-7" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-027-GNOMEFileOpenDialog-1.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-027-GNOMEFileOpenDialog.mp4?_=7" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-027-GNOMEFileOpenDialog.webm?_=7" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-027-GNOMEFileOpenDialog.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-027-GNOMEFileOpenDialog.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 28 &#8211; GNOME Help Viewer</strong> (<a href="https://www.youtube.com/watch?v=mkpVZvR1PkE">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64861-8" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-028-GNOMEHelpViewer.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-028-GNOMEHelpViewer.mp4?_=8" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-028-GNOMEHelpViewer.webm?_=8" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-028-GNOMEHelpViewer.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-028-GNOMEHelpViewer.mp4</a></video></div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-round-4/">Runs on the Librem 5 Smartphone &#8211; Round 4</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-021-MusicPlayer.mp4" length="3642116" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-021-MusicPlayer.webm" length="4325133" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-022-DOSBox.mp4" length="3060204" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-022-DOSBox.webm" length="3322873" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-023-GNOMEDiskUtility.mp4" length="2221315" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-023-GNOMEDiskUtility.webm" length="3222013" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-024-JulyLibrem5Update.mp4" length="1852492" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-024-JulyLibrem5Update.webm" length="2444889" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-025-ImageViewer.mp4" length="1973405" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-025-ImageViewer.webm" length="2422092" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-026-ApacheWebServer.mp4" length="5191541" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-026-ApacheWebServer.webm" length="5046887" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-027-GNOMEFileOpenDialog.mp4" length="3051461" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-027-GNOMEFileOpenDialog.webm" length="3122461" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-028-GNOMEHelpViewer.mp4" length="2200587" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-028-GNOMEHelpViewer.webm" length="2956807" type="video/webm" />
		</item>
		<item>
		<title>Librem One Design Principles: Simple, Secure Applications</title>
		<link>https://puri.sm/posts/librem-one-design-principles-simple-secure-applications/</link>
		<pubDate>Tue, 23 Jul 2019 12:38:59 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Service Offering]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[User empowerment]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64742</guid>
		<description><![CDATA[<p>Design principles for simply secure applications The primary appeal of Librem One is that you get privacy without sacrificing convenience. There is already a wealth of free software available, both applications and services, with numerous security and privacy options. However, learning what they are and keeping up-to-date is generally neither simple nor convenient. To combat [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-one-design-principles-simple-secure-applications/">Librem One Design Principles: Simple, Secure Applications</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">Design principles for simply secure applications</h2>
<p>The primary appeal of <a href="https://librem.one/">Librem One</a> is that you get privacy without sacrificing convenience. There is already a wealth of free software available, both applications and services, with numerous security and privacy options. However, learning what they are and keeping up-to-date is generally neither simple nor convenient.</p>
<p>To combat configuration fatigue, we apply the following design principles to Librem One applications:</p>
<ul>
<li>Identify simple security features</li>
<li>Make simple security the default</li>
<li>Work with upstream</li>
<li>Make it easy for everyone</li>
</ul>
<h3 class="western">Identify simple security features</h3>
<p><em>Flawed patterns</em> are design patterns and workflows that allow the user to expose themselves without realizing it, and those patterns must be eliminated.</p>
<p><em>Simple security features</em> are those that make no difference to the everyday user experience. They should be enabled by default, and the corresponding widget removed.</p>
<p><em>Experimental security features</em> are cutting-edge design patterns that are subject to change: they might burden the everyday user experience, which often leads to poor security hygiene. So, they should be disabled by default, but be available for privacy enthusiasts and experienced users.</p>
<p>In general, we seek to transform <em>experimental security features</em> into <em>simple security features</em>.</p>
<h3 class="western">Make simple security the default</h3>
<p>Moving forward, we aim to make simple security the default. Security features are enabled and cannot be disabled; enhancements are applied when you update. Experimental security features are disabled by default, but you can enable them at any time.</p>
<h3 class="western">Work with upstream</h3>
<p>Once our philosophies are aligned, we will simply push these changes upstream. Some applications and services prefer to keep configuration options open, in this case we will still push bug fixes and enhancements.</p>
<p>Healthy, vibrant upstreams ensure that users have the option to mix and match both services and applications. So you can always use the upstream version of an application if you prefer, or any other compatible app.</p>
<h3 class="western">Make it easy for everyone</h3>
<p><a href="https://puri.sm/posts/librem-one-design-principles-services-you-can-trust/">Remember our user personas?</a> With these design principles it&#8217;s easy for everyone&#8230;</p>
<p><img class="aligncenter wp-image-64744 size-large" style="max-width: 480px; margin: 0 auto; mix-blend-mode: multiply;" src="https://puri.sm/wp-content/uploads/2019/07/Personas-Alice-724x1024.jpg" alt="Alice Persona" width="640" height="905" srcset="https://puri.sm/wp-content/uploads/2019/07/Personas-Alice-724x1024.jpg 724w, https://puri.sm/wp-content/uploads/2019/07/Personas-Alice-212x300.jpg 212w, https://puri.sm/wp-content/uploads/2019/07/Personas-Alice-768x1087.jpg 768w, https://puri.sm/wp-content/uploads/2019/07/Personas-Alice.jpg 1000w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p><strong>Alice</strong> likes to keep things simple and get on with her day. When she enables a service or installs an application, no further configuration is required. When her services and apps are updated, any simple security enhancements are applied automatically.</p>
<p><img class="aligncenter wp-image-64745 size-large" style="max-width: 480px; margin: 0 auto; mix-blend-mode: multiply;" src="https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto-724x1024.jpg" alt="Haruto Persona" width="640" height="905" srcset="https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto-724x1024.jpg 724w, https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto-212x300.jpg 212w, https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto-768x1087.jpg 768w, https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto.jpg 1000w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p><strong>Haruto</strong> likes to try out the latest features, even when they aren&#8217;t ready for everyday use. When he enables a service or installs an application, he sometimes looks through the settings. Or he reads a blog post about an experimental feature and wants to try it out; if it&#8217;s tedious or doesn&#8217;t really work, he disables it.</p>
<p><img class="aligncenter wp-image-64746 size-large" style="max-width: 480px; margin: 0 auto; mix-blend-mode: multiply;" src="https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi-724x1024.jpg" alt="Thandi Persona" width="640" height="905" srcset="https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi-724x1024.jpg 724w, https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi-212x300.jpg 212w, https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi-768x1087.jpg 768w, https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi.jpg 1000w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p><strong>Thandi</strong>, on the other hand, is comfortable trying out experimental features in both client and server applications. She also contributes upstream to the design and implementation of new protocols and features, helping shepherd them to everyday use.</p>
<p>And that&#8217;s it for today; if you want to know more about Librem One, you can sign up <a href="https://librem.one/">right here!</a></p>
<p>&nbsp;</p>
<hr />
<p><a class="button-primary" style="margin: 0 auto; display: block; width: 290px;" href="https://librem.one/">Find out more about Librem One</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-one-design-principles-simple-secure-applications/">Librem One Design Principles: Simple, Secure Applications</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem One Design Principles: Services You Can Trust</title>
		<link>https://puri.sm/posts/librem-one-design-principles-services-you-can-trust/</link>
		<pubDate>Thu, 18 Jul 2019 14:24:03 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Service Offering]]></category>
		<category><![CDATA[User empowerment]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64736</guid>
		<description><![CDATA[<p>Engineering trustworthy services for everyone Our hardware and software puts users back in control of computing&#8211;but, you may be wondering, can we do the same with our services? With Librem One, the answer is yes. We have big, no, huge dreams about what we can achieve with your support and the wealth of free software [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-one-design-principles-services-you-can-trust/">Librem One Design Principles: Services You Can Trust</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">Engineering trustworthy services for everyone</h2>
<p>Our hardware and software puts users back in control of computing&#8211;but, you may be wondering, can we do the same with our services? With <a href="https://librem.one/">Librem One</a>, the answer is yes. We have big, no, <em>huge</em> dreams about what we can achieve with your support and the wealth of free software that already exists. But we need to keep our feet firmly on the ground.</p>
<p>In this post we will outline the touchstones we have used to do just that&#8211;engineer trustworthy services that everyone can use&#8211;with a design process called <em>user-centered software engineering</em>. We hope it will facilitate communication with friends and colleagues as we hack towards a common goal&#8230; and also show all non-technical readers that human beings are at the center of our bits and bytes. So, how did we do it?</p>
<h2 class="western">User stories</h2>
<p>In the beginning, we created user stories. A user story is a plain-language description of the goal that you, the person using the services, want to achieve&#8211;and represents a high-level system feature.</p>
<h3 class="western">Primary user story</h3>
<blockquote><p>I am an everyday user without my own infrastructure. I want a single point of trust (account and applications), so that communication from my existing devices is both safe and easy.</p></blockquote>
<p>This story highlights the essential reason we all use online services: we use our phones and laptops to communicate with others, and we don&#8217;t own or control all the machines in between. Typically, we need at least one &#8220;go-between&#8221; to relay messages.</p>
<h3 class="western">Sysadmin user story</h3>
<blockquote><p>I am a well-intentioned sysadmin. I want to host a service on a hostile network (the Internet), so that I can help strangers communicate without compromising their digital civil rights.</p></blockquote>
<p class="western">This story highlights a key difference between Librem One and other online services. Our ultimate goal is that anyone with infrastructure and time should be able to rebrand and replicate our services. Users at either provider should still be able to communicate, just like you can email or phone anyone else, no matter who their email or telephone provider is.</p>
<h2 class="western">User personas</h2>
<p class="western">While user stories are abstract, user personas are character sketches that help designers and developers keep a concrete person in mind, while they talk about kerning and for-loops. (These personas are minimal and not based on ethnological observation, so do take them with a grain of salt.)</p>
<h3 class="western">Three friends</h3>
<p class="western">Alice, Haruto and Thandi are college friends who keep in touch. They&#8217;re aware of front-page privacy issues (Snowden, Cambridge Analytica&#8230;) and are unhappy knowing that their messages, and those of their friends and family, are mined, monetized and otherwise abused.</p>
<h3 class="western">Alice</h3>
<p><img class="aligncenter wp-image-64744 size-large" style="max-width: 480px; margin: 0 auto; mix-blend-mode: multiply;" src="https://puri.sm/wp-content/uploads/2019/07/Personas-Alice-724x1024.jpg" alt="Alice Persona" width="640" height="905" srcset="https://puri.sm/wp-content/uploads/2019/07/Personas-Alice-724x1024.jpg 724w, https://puri.sm/wp-content/uploads/2019/07/Personas-Alice-212x300.jpg 212w, https://puri.sm/wp-content/uploads/2019/07/Personas-Alice-768x1087.jpg 768w, https://puri.sm/wp-content/uploads/2019/07/Personas-Alice.jpg 1000w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Alice is a doctor who uses phone and email to communicate with colleagues, and short text messages to keep in touch with her family during the day. She has a demanding job and an active social life, so she doesn&#8217;t have much time to fiddle with her laptop and phone, or log support issues. She expects software to &#8220;just work&#8221;. She is our reference for an <em>everyday user</em>.</p>
<h3 class="western">Why Alice?</h3>
<p>Alice illustrates that just because you know where the palatine uvula is, it doesn&#8217;t mean you have the time&#8211;or the inclination&#8211;to learn every technical trick there is just to stay private.</p>
<h3 class="western">Haruto</h3>
<p><img class="aligncenter wp-image-64745 size-large" style="max-width: 480px; margin: 0 auto; mix-blend-mode: multiply;" src="https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto-724x1024.jpg" alt="Haruto Persona" width="640" height="905" srcset="https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto-724x1024.jpg 724w, https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto-212x300.jpg 212w, https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto-768x1087.jpg 768w, https://puri.sm/wp-content/uploads/2019/07/Personas-Haruto.jpg 1000w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Haruto is a grief counselor who uses email for work, and a variety of tools to communicate with clients about personal, sensitive issues. He enjoys trying out new apps and features in his spare time, but would never compromise the trust of his clients. He expects core communication tools to &#8220;just work&#8221;, but doesn&#8217;t mind tweaking or reinstalling experimental tools, posting questions on forums or reporting problems informally. He is our reference for a <em>privacy enthusiast</em>.</p>
<h3 class="western">Why Haruto?</h3>
<p>Haruto illustrates that, no matter how mild our threat model, at some point we all rely on the tools that fascinate us.</p>
<h3 class="western">Thandi</h3>
<p><img class="aligncenter wp-image-64746 size-large" style="max-width: 480px; margin: 0 auto; mix-blend-mode: multiply;" src="https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi-724x1024.jpg" alt="Thandi Persona" width="640" height="905" srcset="https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi-724x1024.jpg 724w, https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi-212x300.jpg 212w, https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi-768x1087.jpg 768w, https://puri.sm/wp-content/uploads/2019/07/Personas-Thandi.jpg 1000w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Thandi is a sysadmin by day, managing sensitive data on a corporate intranet and VPN, and a sysadmin by night, managing infrastructures for local at-risk communities&#8211;none of whom she knows in person. She has professional expertise in software development and engineering (including command-line usage and logging reproducible issues in an issue tracker) and security best practices. She is our reference for an <em>experienced user</em>.</p>
<h3 class="western">Why Thandi?</h3>
<p>Thandi illustrates that, as expertise and responsibility grow, time diminishes. And additionally, that your recommendations and contributions impact real people.</p>
<h3 class="western">But what about&#8230;</h3>
<p>This post has hopefully outlined the high-level concerns driving our development process. But there are, of course, <em>many</em> other issues to consider: legal, technical, compatibility, accessibility, language, demographics&#8230; the list goes on, but the important thing for us is that the human element always remains at the center.</p>
<p>And, in case you liked them, please feel free to re-use our user stories, personas and images (drawn by <a href="https://www.davidrevoy.com/">David Revoy</a>) under our always-on BY-SA license.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-one-design-principles-services-you-can-trust/">Librem One Design Principles: Services You Can Trust</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Consent Matters: When Tech Shares Your Secrets Without Your Permission</title>
		<link>https://puri.sm/posts/consent-matters-when-tech-shares-your-secrets-without-your-permission/</link>
		<pubDate>Tue, 16 Jul 2019 16:22:43 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[User empowerment]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64685</guid>
		<description><![CDATA[<p>Privacy is About Consent There is a saying that goes around modern privacy circles that &#8220;Privacy is about Consent.&#8221; This means that the one big factor that determines whether your privacy is violated comes down to whether you consented to share the information. For instance, let&#8217;s say Alice tells Bob a secret: if Bob then [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/consent-matters-when-tech-shares-your-secrets-without-your-permission/">Consent Matters: When Tech Shares Your Secrets Without Your Permission</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Privacy is About Consent</h2>
<p>There is a saying that goes around modern privacy circles that &#8220;Privacy is about Consent.&#8221; This means that the one big factor that determines whether your privacy is violated comes down to whether you consented to share the information. For instance, let&#8217;s say Alice tells Bob a secret: if Bob then tells the secret to someone else, Bob will be violating Alice&#8217;s privacy, unless he had asked Alice for permission first. If you think about it, you can come up with many examples where the same action, leading to the same result, takes on a completely different tone&#8211;depending on whether or not the actor got consent.</p>
<p>We have a major privacy problem in society today, largely because tech companies collect customer information and share it with others <em>without getting real consent</em> from their customers. Real consent means customers understand all of the ways their information will be used and shared, all the implications that come from that sharing&#8211;now, and in the future. Instead, customers get a lengthy, click-through privacy policy document that no one is really expected to read or understand. Even if someone does read and understand the click-through agreement, it still doesn&#8217;t fully explain all of the implications behind sharing <a href="https://www.tripwire.com/state-of-security/security-data-protection/cyber-security/stalk-location-facebook-messenger/">your location and contact list with a messaging app</a> or <a href="https://www.bbc.com/news/technology-48963235">using voice commands on your phone</a>.</p>
<p>Big Tech has been funded, over the past two decades, by exploiting the huge influx of young adults who were connected to the Internet and shared their data without restriction. While it&#8217;s a generalization that young adults often make decisions based on short-term needs, without considering the long-term impacts, there&#8217;s also some truth behind it&#8211;whether we are discussing a tattoo that seemed like a good idea at the time, posting pictures or statements on social media that come back to bite you or giving an app full access to your phone. Individuals didn&#8217;t understand the value of this data or the risks in sharing it; but tech companies knew it all along and were more than happy to collect, store, share and profit off of it, and Big Tech is now a multi-billion-dollar industry.</p>
<p>Tech companies (and much of society until a very recent past) have dismissed privacy concerns by concluding that &#8220;people don&#8217;t care about privacy&#8221; when the truth is that most people were simply unaware of the data they were sharing, the implications of sharing that data, and of the potential risks of sharing it. Therefore, <strong>any consent they gave wasn&#8217;t informed consent</strong>&#8211;companies weren&#8217;t motivated to educate customers on the risks they were taking, because it might mean losing their consent.</p>
<p>The main reason everyone is starting to talk about privacy now is because it takes time for long term effects to be felt. As these adults entered the workforce, their youthful indiscretions began <a href="https://www.careerbuilder.com/advice/social-media-survey-2017">to impact their job prospects</a>. Then, with controversies like the <a href="https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal">Cambridge Analytica scandal</a>, everyone got a clear-cut example of how the data that ad tech collected could be used against them&#8211;to do more than show them ads. <strong>Privacy has become the tattoo removal of the information age</strong> as everyone is looking for a way to cover up mistakes from the past. Now that &#8220;privacy&#8221; has become <a href="https://puri.sm/posts/apple-is-right-about-privacy-but-wrong-about-freedom/">marketing gold</a>, these <a href="https://www.nytimes.com/2019/05/07/opinion/google-sundar-pichai-privacy.html">same</a> <a href="https://www.theverge.com/2019/4/30/18524188/facebook-f8-keynote-mark-zuckerberg-privacy-future-2019">companies</a> have rallied around <em>redefining</em> the word to apply it to their products without actually protecting their customers.</p>
<h2>Solving the Privacy Problem</h2>
<p><strong>The reality is that people do care about privacy, but they don&#8217;t feel empowered to do anything about it.</strong> Between Big Tech, advertisers and governments all wanting to collect and analyze your data, what are you to do? The solution is simple: <em>consent</em>. Society is educating college students on the importance of <a href="http://affirmativeconsent.com/whatisaffirmativeconsent/">affirmative consent</a> in sexual encounters and that the default is a position of no consent. This means that it&#8217;s not enough that a person didn&#8217;t say &#8216;no&#8217; (opt-out) to escalating sexual contact; they need to say &#8216;yes&#8217; (opt-in). Affirmative consent grants each individual power over their own body in a way that opting out doesn&#8217;t; if these large tech organizations, who started from a position of no consent, were now required to get explicit and informed consent (opt-in) from customers&#8211;before capturing and sharing their data&#8211;people using them would finally be in control.</p>
<p>But that is unfortunately not what&#8217;s happening. Instead, each time privacy proposals come before the government, these same companies that tout privacy in their marketing campaigns <a href="https://www.eff.org/deeplinks/2019/07/californias-senate-judiciary-committee-blocks-efforts-weaken-californias-privacy">fight to remove any requirement that they need to get your consent before collecting and sharing your data</a>. They realize that most people wouldn&#8217;t consent if asked, so they&#8217;d prefer you ask them to stop (opt-out) and hope most people won&#8217;t bother, or understand. When you later discover how they&#8217;ve used and abused your data, they can claim you never opted out. They&#8217;d much rather ask for forgiveness than for permission.</p>
<p>This privacy problem is <a href="https://puri.sm/posts/purism-origin-story/">why Purism was founded</a>, is cemented into <a href="https://puri.sm/about/social-purpose/">our corporate charter</a>, defines <a href="https://puri.sm/posts/with-purism-products-you-are-in-control/">how we build all of our products</a>; it is why we created <a href="https://librem.one/">Librem One services</a> and why <a href="https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-state-senate/">we are asking the California legislature</a> to require tech companies to <em>get consent before using your data</em>. You should be the one in control of your technology and your data, and the key to that control is consent.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/consent-matters-when-tech-shares-your-secrets-without-your-permission/">Consent Matters: When Tech Shares Your Secrets Without Your Permission</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 July Update</title>
		<link>https://puri.sm/posts/librem-5-july-update/</link>
		<pubDate>Fri, 12 Jul 2019 16:25:24 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64648</guid>
		<description><![CDATA[<p>Hi Everyone! The Librem 5 team has been hard at work. and we want to update you all on our software progress. These last few weeks have been heavily focused on polishing the UI and bug fixes, in order to get ready for a string of journalist demos. When we deliver the Librem 5, its [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-july-update/">Librem 5 July Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p dir="auto" data-sourcepos="1:1-3:78">Hi Everyone! The Librem 5 team has been hard at work. and we want to update you all on our software progress. These last few weeks have been heavily focused on polishing the UI and bug fixes, in order to get ready for a string of journalist demos.</p>
<p dir="auto" data-sourcepos="5:1-10:24">When we deliver the Librem 5, its software will focus on the most critical applications a phone needs: calls, messages, and web browsing. Some supporting projects will be delivered too, like GNOME Settings, the shell, and GNOME Initial Setup. So without further ado, let&#8217;s take a tour through the software we guarantee we&#8217;ll deliver, as well as some other applications that have seen some major changes.</p>
<h2 dir="auto" data-sourcepos="12:1-12:15"><a id="user-content-applications" class="anchor" href="#applications" aria-hidden="true"></a>Applications</h2>
<h3 dir="auto" data-sourcepos="14:1-14:12"><a id="user-content-libhandy" class="anchor" href="#libhandy" aria-hidden="true"></a>Libhandy</h3>
<p dir="auto" data-sourcepos="15:1-21:32">We have made a few minor fixes to libhandy, like <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/libhandy/merge_requests/284" data-original="improving the homogeneity of the login screen buttons" data-link="true" data-link-reference="true" data-project="131" data-merge-request="1778" data-project-path="Librem5/libhandy" data-iid="284" data-mr-title="dialer: Work around GtkGrid row homogeneity" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">improving the homogeneity of the login screen buttons</a>. And <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/libhandy/merge_requests/287" data-original="HdyHeaderBar now has a back button instead of its window decorations if it is placed inside a HdyDialog" data-link="true" data-link-reference="true" data-project="131" data-merge-request="1903" data-project-path="Librem5/libhandy" data-iid="287" data-mr-title="Make HdyHeaderBar have a back button in HdyDialog" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">HdyHeaderBar now has a back button instead of its window decorations if it is placed inside a HdyDialog</a>, to further enable adaptive dialogs.</p>
<h3 dir="auto" data-sourcepos="23:1-23:9"><a id="user-content-calls" class="anchor" href="#calls" aria-hidden="true"></a>Calls</h3>
<p dir="auto" data-sourcepos="24:1-29:54">We made some changes to calls&#8217; UI, to <a class="gfm gfm-issue has-tooltip" title="" href="https://source.puri.sm/Librem5/calls/issues/57" data-original="display digits pressed during a phone call" data-link="true" data-link-reference="true" data-project="240" data-issue="3953" data-reference-type="issue" data-container="body" data-placement="bottom" data-original-title="Add dialed-number display to the pop-up dial pad in the call display">display digits pressed during a phone call</a> and <a class="gfm gfm-issue has-tooltip" title="Use new libhandy widget to lay out the Recent/Contacts/Dial pad parts of the main window" href="https://source.puri.sm/Librem5/calls/issues/56" data-original="use a libhandy widget to switch between recent calls and the dial pad" data-link="true" data-link-reference="true" data-project="240" data-issue="3952" data-reference-type="issue" data-container="body" data-placement="bottom">use a libhandy widget to switch between recent calls and the dial pad</a>. Also, messages (error or otherwise) are now <a class="gfm gfm-issue has-tooltip" title="Fix message display" href="https://source.puri.sm/Librem5/calls/issues/35" data-original="displayed for only a short time" data-link="true" data-link-reference="true" data-project="240" data-issue="1235" data-reference-type="issue" data-container="body" data-placement="bottom">displayed for only a short time</a>. An <a href="https://source.puri.sm/Librem5/use-cases/issues/76">ALSA use case-configuration was added for the devkit&#8217;s SGTL5000 sound card</a>, which also keeps PulseAudio from setting the microphone to mute.</p>
<p dir="auto" data-sourcepos="35:1-36:25"><img class="aligncenter wp-image-64650 size-large" src="https://puri.sm/wp-content/uploads/2019/07/1024-1016-1024x1016.png" alt="Calls" width="640" height="635" srcset="https://puri.sm/wp-content/uploads/2019/07/1024-1016.png 1024w, https://puri.sm/wp-content/uploads/2019/07/1024-1016-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/07/1024-1016-300x298.png 300w, https://puri.sm/wp-content/uploads/2019/07/1024-1016-768x762.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3 dir="auto" data-sourcepos="38:1-38:13">Messages</h3>
<p dir="auto" data-sourcepos="39:1-54:20">We have also made some minor feature additions to Chatty recently. <a class="gfm gfm-issue has-tooltip" title="Please add &#96;--safe-mode&#96;" href="https://source.puri.sm/Librem5/chatty/issues/113" data-original="A &lt;code&gt;--safe-mode&lt;/code&gt; option has been added" data-link="true" data-link-reference="true" data-project="440" data-issue="2797" data-reference-type="issue" data-container="body" data-placement="bottom">A <code>--safe-mode</code> option has been added</a>, so that if one of a user&#8217;s many accounts is failing, it becomes easier to find which one is at fault. If an account validation fails, there is now an <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/53" data-original="account validation retry" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1789" data-project-path="Librem5/chatty" data-iid="53" data-mr-title="Reactivate account validation for retry" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">account validation retry</a>; and the <a class="gfm gfm-issue has-tooltip" title="About dialog has no close button" href="https://source.puri.sm/Librem5/chatty/issues/122" data-original="about dialog is easier to close" data-link="true" data-link-reference="true" data-project="440" data-issue="3337" data-reference-type="issue" data-container="body" data-placement="bottom">about dialog is easier to close</a>. When a new contact is added, <a class="gfm gfm-issue has-tooltip" title="Adding a second contact should start out empty" href="https://source.puri.sm/Librem5/chatty/issues/143" data-original="the template is cleared of previous info" data-link="true" data-link-reference="true" data-project="440" data-issue="4073" data-reference-type="issue" data-container="body" data-placement="bottom">the template is cleared of previous info</a>, and the chat history list is now ordered so that <a class="gfm gfm-issue has-tooltip" title="Sort order conversations list" href="https://source.puri.sm/Librem5/chatty/issues/26" data-original="the newest chat is at the top of the history" data-link="true" data-link-reference="true" data-project="440" data-issue="1018" data-reference-type="issue" data-container="body" data-placement="bottom">the newest chat is at the top of the history</a>. <a class="gfm gfm-issue has-tooltip" title="Determine message-list height for proper content placement" href="https://source.puri.sm/Librem5/chatty/issues/45" data-original="Message list height is now used to improve content placement" data-link="true" data-link-reference="true" data-project="440" data-issue="1139" data-reference-type="issue" data-container="body" data-placement="bottom">Message list height is now used to improve content placement</a>, and the <a class="gfm gfm-commit has-tooltip" title="Message bubbles: de-duplicate CSS, nicer shadows, color tweaks" href="https://source.puri.sm/tobias.bernard/chatty/commit/4555b661ce37fd473075ea7e55cd0cdf3b77ca7b" data-original="styling of the message bubbles has been improved" data-link="true" data-link-reference="true" data-project="899" data-commit="4555b661ce37fd473075ea7e55cd0cdf3b77ca7b" data-reference-type="commit" data-container="body" data-placement="bottom">styling of the message bubbles has also been improved</a> by tweaking the CSS.</p>
<p dir="auto" data-sourcepos="56:1-65:22">We have addressed some severe issues as well: a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/76" data-original="crash related to buddy list" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1983" data-project-path="Librem5/chatty" data-iid="76" data-mr-title="buddy list: Steal pointer that is g_autofree()" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">buddy list-</a><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/76" data-original="crash related to buddy list" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1983" data-project-path="Librem5/chatty" data-iid="76" data-mr-title="buddy list: Steal pointer that is g_autofree()" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">related </a><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/76" data-original="crash related to buddy list" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1983" data-project-path="Librem5/chatty" data-iid="76" data-mr-title="buddy list: Steal pointer that is g_autofree()" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">crash</a>, a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/54" data-original="crash related to the history" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1806" data-project-path="Librem5/chatty" data-iid="54" data-mr-title="history: Use a sufficiently sized string" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">history-related crash</a> and a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/55" data-original="memory leak" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1835" data-project-path="Librem5/chatty" data-iid="55" data-mr-title="chatty_conv_parse_message: Plug a leak" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">memory leak</a> were fixed. <a class="gfm gfm-issue has-tooltip" title="Chatty crashes if open before SIM activates" href="https://source.puri.sm/Librem5/chatty/issues/138" data-original="chatty waits until the modem is ready before the SMS account is active" data-link="true" data-link-reference="true" data-project="440" data-issue="3690" data-reference-type="issue" data-container="body" data-placement="bottom">Chatty now waits until the modem is ready, before the SMS account is active</a>&#8211;and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/65" data-original="Some remaining purple_log parsing functions were removed" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1922" data-project-path="Librem5/chatty" data-iid="65" data-mr-title="added ddbb support for last message info, replacing log-parsing impl" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">some remaining purple_log parsing functions were removed</a> so as to fix a <a class="gfm gfm-issue has-tooltip" title="Chatty coredumps (on empty message file?) after startup" href="https://source.puri.sm/Librem5/chatty/issues/142" data-original="crash" data-link="true" data-link-reference="true" data-project="440" data-issue="4058" data-reference-type="issue" data-container="body" data-placement="bottom">crash</a>&#8211;thanks to Leland Carlyle for the patch!</p>
<h4 dir="auto" data-sourcepos="67:1-67:8"><a id="user-content-sms" class="anchor" href="#sms" aria-hidden="true"></a>SMS</h4>
<p dir="auto" data-sourcepos="68:1-71:6"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/purple-mm-sms/merge_requests/2" data-original="startup connection, reconnection and plugin state have been improved" data-link="true" data-link-reference="true" data-project="405" data-merge-request="1911" data-project-path="Librem5/purple-mm-sms" data-iid="2" data-mr-title="Improve startup connection, reconnection and plugin state handling" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Startup connection, reconnection and plugin state have been improved</a>&#8211;and an <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/59" data-original="auto-reconnect" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1893" data-project-path="Librem5/chatty" data-iid="59" data-mr-title="Add auto-reconnect for IM and SMS accounts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">auto-reconnect</a> was added.</p>
<p dir="auto" data-sourcepos="73:1-75:20"><img class="aligncenter wp-image-64652 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512.png" alt="Chatty sms" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<h4 dir="auto" data-sourcepos="77:1-77:9"><a id="user-content-xmpp" class="anchor" href="#xmpp" aria-hidden="true"></a>XMPP</h4>
<p dir="auto" data-sourcepos="78:1-81:64"><a class="gfm gfm-issue has-tooltip" title="Integrate and test an interface for the Lurch plugin" href="https://source.puri.sm/Librem5/chatty/issues/118" data-original="Testing and integration of the Lurch plugin" data-link="true" data-link-reference="true" data-project="440" data-issue="3145" data-reference-type="issue" data-container="body" data-placement="bottom">Testing and integration of the Lurch plugin</a> is completed, and it is even being <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/lurch/merge_requests/1" data-original="built as a package" data-link="true" data-link-reference="true" data-project="863" data-merge-request="1941" data-project-path="Librem5/lurch" data-iid="1" data-mr-title="build: link against -lpurple too" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">built as a package</a>!</p>
<h3 dir="auto" data-sourcepos="83:1-83:7"><a id="user-content-gtk" class="anchor" href="#gtk" aria-hidden="true"></a>GTK</h3>
<p dir="auto" data-sourcepos="84:1-89:6">GTK 3 is stable upstream, but we need to make some parts of it adaptive for the phone (e.g. the open file dialog), and so we will ship it with some downstream patches&#8211;but we are still interested in upstreaming the changes to GTK 3 (if there is interest), and aim to get them into GTK 4. These downstream changes have been added to our build jobs, so that it is shipped on the devkit image.</p>
<p dir="auto" data-sourcepos="91:1-95:54">Our GTK 3 changes also include a lot of dialog work: the file chooser and about dialogs have been ported to the phone; the message dialog has also been ported to the phone, by making their buttons vertical. Also, transient windows and dialogs with a close-button will now have a back-button instead. Resizable windows (hence, most of them minus message dialogs) will be maximized to fill the screen.</p>
<h3 dir="auto" data-sourcepos="97:1-97:16"><a id="user-content-web-browsing" class="anchor" href="#web-browsing" aria-hidden="true"></a>Web Browsing</h3>
<p dir="auto" data-sourcepos="98:1-106:42">In general, we made a serious effort to <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/162" target="_blank" rel="nofollow noreferrer noopener">overhaul the preferences windows</a>. The <a class="gfm gfm-issue has-tooltip" title="Make Web's history windows fit the phone" href="https://source.puri.sm/Librem5/Apps_Issues/issues/74" data-original="history also does not overflow the screen" data-link="true" data-link-reference="true" data-project="116" data-issue="1295" data-reference-type="issue" data-container="body" data-placement="bottom">history does not overflow the screen</a> anymore, and all the <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/368" target="_blank" rel="nofollow noreferrer noopener">data management dialogs have been overhauled</a> to work better on the phone and look nicer in general (&#8220;history&#8221;, &#8220;cookies&#8221;, &#8220;passwords&#8221; and &#8220;personal data&#8221; dialogs). Web is now using a mobile user agent too, and most websites look better on the phone.</p>
<p dir="auto" data-sourcepos="98:1-106:42"><a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/275" target="_blank" rel="nofollow noreferrer noopener">The tabs popover has been turned into a tabs page</a>, taking the whole window, and it looks great. Plus, the tabs icon has been replaced by a new <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/318" target="_blank" rel="nofollow noreferrer noopener">icon, showing the number of tabs you have open</a>. Thanks so much to Christopher Davis and Alexander Mikhaylenko for these additions!</p>
<p dir="auto" data-sourcepos="114:1-115:66">We are also building WebKit now, to provide <a class="gfm gfm-issue has-tooltip" title="Fling gesture for rapid scroll" href="https://source.puri.sm/Librem5/Apps_Issues/issues/121" data-original="rapid scrolling" data-link="true" data-link-reference="true" data-project="116" data-issue="3643" data-reference-type="issue" data-container="body" data-placement="bottom">rapid scrolling</a>.</p>
<p dir="auto" data-sourcepos="117:1-118:25"><img class="aligncenter wp-image-64653 size-large" src="https://puri.sm/wp-content/uploads/2019/07/1024-1020-1024x1020.png" alt="Epiphany" width="640" height="638" srcset="https://puri.sm/wp-content/uploads/2019/07/1024-1020.png 1024w, https://puri.sm/wp-content/uploads/2019/07/1024-1020-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/07/1024-1020-300x300.png 300w, https://puri.sm/wp-content/uploads/2019/07/1024-1020-768x765.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3 dir="auto" data-sourcepos="120:1-120:17"><a id="user-content-initial-setup" class="anchor" href="#initial-setup" aria-hidden="true"></a>Initial Setup</h3>
<p dir="auto" data-sourcepos="121:1-121:59">GNOME initial setup has mostly been ported to the Librem 5!</p>
<h3 dir="auto" data-sourcepos="123:1-123:12"><a id="user-content-contacts" class="anchor" href="#contacts" aria-hidden="true"></a>Contacts</h3>
<p dir="auto" data-sourcepos="124:1-129:74"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/6" data-original="Work is underway to port GNOME Contacts to the Librem 5" data-link="true" data-link-reference="true" data-project="874" data-merge-request="1865" data-project-path="Librem5/gnome-contacts" data-iid="6" data-mr-title="Librem5 port" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">We are working hard to port GNOME Contacts to the Librem 5</a>. One of the issues we tackled was <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/8" data-original="fix the birthday picker and make it adaptive" data-link="true" data-link-reference="true" data-project="874" data-merge-request="1880" data-project-path="Librem5/gnome-contacts" data-iid="8" data-mr-title="contact-editor: fix birthday picker and make it adaptive" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">fixing the birthday picker and making it adaptive</a>&#8211;and one other awesome change was <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/9" data-original="the UX/UI has been improved for unlinking contacts" data-link="true" data-link-reference="true" data-project="874" data-merge-request="1912" data-project-path="Librem5/gnome-contacts" data-iid="9" data-mr-title="contact-editor: improve UX/UI for unlinking contacts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">improving </a><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/9" data-original="the UX/UI has been improved for unlinking contacts" data-link="true" data-link-reference="true" data-project="874" data-merge-request="1912" data-project-path="Librem5/gnome-contacts" data-iid="9" data-mr-title="contact-editor: improve UX/UI for unlinking contacts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">the UX/UI for unlinking contacts</a>.</p>
<p dir="auto" data-sourcepos="131:1-132:25"><img class="aligncenter wp-image-64654 size-full" src="https://puri.sm/wp-content/uploads/2019/07/727-661-max.png" alt="Contacts" width="727" height="661" srcset="https://puri.sm/wp-content/uploads/2019/07/727-661-max.png 727w, https://puri.sm/wp-content/uploads/2019/07/727-661-max-300x273.png 300w" sizes="(max-width: 727px) 100vw, 727px" /></p>
<h3 dir="auto" data-sourcepos="134:1-134:10"><a id="user-content-clocks" class="anchor" href="#clocks" aria-hidden="true"></a>Clocks</h3>
<p dir="auto" data-sourcepos="135:1-137:70">We all know that time is important and cannot be ignored&#8230; and that is why <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/56" data-original="GNOME Clocks has been ported to the dev kit" data-link="true" data-link-reference="true" data-project="107" data-merge-request="1798" data-project-path="Librem5/deb-build-jobs" data-iid="56" data-mr-title="Add GNOME Clocks" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">GNOME Clocks has been ported to the devkit</a>!</p>
<p dir="auto" data-sourcepos="139:1-140:25"><img class="aligncenter wp-image-64655 size-large" src="https://puri.sm/wp-content/uploads/2019/07/1024-507-1024x507.png" alt="Clocks" width="640" height="317" srcset="https://puri.sm/wp-content/uploads/2019/07/1024-507.png 1024w, https://puri.sm/wp-content/uploads/2019/07/1024-507-300x149.png 300w, https://puri.sm/wp-content/uploads/2019/07/1024-507-768x380.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3 dir="auto" data-sourcepos="142:1-142:12"><a id="user-content-settings" class="anchor" href="#settings" aria-hidden="true"></a>Settings</h3>
<p dir="auto" data-sourcepos="143:1-152:66">We are currently working on porting GNOME Settings to the Librem 5, and so far, our effort has been mostly focused on the <a href="https://source.puri.sm/Librem5/gnome-control-center/tree/wip/sadiq/wwan-panel">WWAN/Cellular panel</a> (see the <a href="https://gitlab.gnome.org/Teams/Design/settings-mockups/blob/master/cellular/cellular-panel-adaptive.png" target="_blank" rel="noopener">cellular panel design</a>); users can now select Network Operator, either manually or automatic, set the allowed modem mode (like 2G only, 3G only, 3G and 4G, etc), and set/change/disable the PIN for their SIM card. The groundwork has also been laid for configuring the APN settings tied to the SIM card, by using <a href="https://gitlab.gnome.org/GNOME/mobile-broadband-provider-info" target="_blank" rel="nofollow noreferrer noopener">mobile-broadband-provider-info</a> and nm-applet APIs, so users can select a default APN via the dialog&#8211;and also save them to NetworkManager connections. Roaming can now be set/unset as well.</p>
<p dir="auto" data-sourcepos="154:1-156:20"><img class="aligncenter wp-image-64656 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512a.png" alt="Cellular" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512a.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512a-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<h2 dir="auto" data-sourcepos="158:1-158:9"><a id="user-content-system" class="anchor" href="#system" aria-hidden="true"></a>System</h2>
<p dir="auto" data-sourcepos="160:1-161:80">The <a href="https://arm01.puri.sm/job/Images/job/Image%20Build/" target="_blank" rel="nofollow noreferrer noopener">latest images</a> are now using a 5.2 kernel, have a new keyboard, lots of UI improvements, and more!</p>
<h3 dir="auto" data-sourcepos="163:1-163:12"><a id="user-content-keyboard" class="anchor" href="#keyboard" aria-hidden="true"></a>Keyboard</h3>
<p dir="auto" data-sourcepos="164:1-165:73">We are so happy to tell you about one of the major changes since the last blog post: we now have a new keyboard, <a href="https://source.puri.sm/Librem5/squeekboard/">squeekboard</a>!</p>
<p dir="auto" data-sourcepos="167:1-169:20"><img class="aligncenter wp-image-64657 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512b.png" alt="Squeekboard" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512b.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512b-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="171:1-173:53">The <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/33" data-original="keyboard now indicates when you've pressed a key" data-link="true" data-link-reference="true" data-project="626" data-merge-request="1952" data-project-path="Librem5/squeekboard" data-iid="33" data-mr-title="Improve key rendering and eliminate two deprecation warnings" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">keyboard now indicates when you&#8217;ve pressed a key</a>&#8211;many thanks to Hysterical Raisins for helping us <em>prune</em> this issue!</p>
<h3 dir="auto" data-sourcepos="175:1-175:22"><a id="user-content-compositor-shell" class="anchor" href="#compositor-shell" aria-hidden="true"></a>Compositor + Shell</h3>
<p dir="auto" data-sourcepos="176:1-185:67">We have mentioned before that the compositor will be switched from rootston to a new phone compositor using the wlroots library (<a href="https://source.puri.sm/Librem5/phoc">phoc</a>), and now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-base/merge_requests/40" data-original="phoc is the default" data-link="true" data-link-reference="true" data-project="134" data-merge-request="1840" data-project-path="Librem5/librem5-base" data-iid="40" data-mr-title="Use phoc by default" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">phoc <em>is</em> the default</a> compositor. Phoc has seen some recent bug fixes, like <a class="gfm gfm-issue has-tooltip" title="Compositor freezes after 5 minutes of inactivity" href="https://source.puri.sm/Librem5/phoc/issues/30" data-original="regarding logind integration" data-link="true" data-link-reference="true" data-project="686" data-issue="3977" data-reference-type="issue" data-container="body" data-placement="bottom">regarding login integration</a> and <a class="gfm gfm-issue has-tooltip" title="Hide the mouse cursor when no mouse is connected" href="https://source.puri.sm/Librem5/phoc/issues/31" data-original="hiding the cursor when there is no external mouse connected" data-link="true" data-link-reference="true" data-project="686" data-issue="3978" data-reference-type="issue" data-container="body" data-placement="bottom">hiding the cursor when there is no external mouse connected</a>. <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/wlroots/merge_requests/45" data-original="touch events are not lost when destroying a surface" data-link="true" data-link-reference="true" data-project="121" data-merge-request="1830" data-project-path="Librem5/wlroots" data-iid="45" data-mr-title="wlr_seat_touch: Don't destroy touch point with surface" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Touch events are now not lost when destroying a surface</a>.</p>
<p dir="auto" data-sourcepos="176:1-185:67">The look and feel of the shell is always improving, getting closer to what we are familiar with on smart phones&#8211;and there have been lots of changes in the shell! <a href="https://source.puri.sm/Librem5/phosh/tags/v0.0.3">Phosh v0.0.3 has just been released</a>, featuring so many of these cool changes!</p>
<p dir="auto" data-sourcepos="193:1-201:67">We also made sure dialogs are <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/214" data-original="now wrapped" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1792" data-project-path="Librem5/phosh" data-iid="214" data-mr-title="Wrap system model gcr dialogs" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">now wrapped</a> to better fit the narrow screen, there have been some <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/217" data-original="spacing improvements" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1799" data-project-path="Librem5/phosh" data-iid="217" data-mr-title="Minor visual fixes" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">spacing improvements</a>, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/199" data-original="CSS changes to phosh" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1757" data-project-path="Librem5/phosh" data-iid="199" data-mr-title="Css" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">CSS changes to phosh</a> (to bring the shell closer to matching the <a href="https://gitlab.gnome.org/Teams/Design/os-mockups/tree/master/mobile-shell" target="_blank" rel="nofollow noreferrer noopener">design</a>), and improvements in the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/209" data-original="system modal dialogs have been improved" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1782" data-project-path="Librem5/phosh" data-iid="209" data-mr-title="System dialogs css" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">system modal dialogs</a>. <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/215" data-original="Many translations have been added and updated to phosh" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1795" data-project-path="Librem5/phosh" data-iid="215" data-mr-title="po: Update translations from zanata" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Many translations have been added and updated to phosh</a>&#8211;thanks to the community for <a href="https://developer.puri.sm/Librem5/Contact/Contributing/Translations.html" target="_blank" rel="nofollow noreferrer noopener">contributing</a> them via zanata&#8211;and <a href="https://source.puri.sm/Librem5/phosh/merge_requests/241/">Libhandy is now built as a subproject of phosh</a>, so thanks, Zander Brown, for the patch!</p>
<p dir="auto" data-sourcepos="211:1-219:55">The lockscreen looks much more modern than it did a few weeks ago; we added <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/211" data-original="The date has been added" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1787" data-project-path="Librem5/phosh" data-iid="211" data-mr-title="Add date to lockscreen" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">the date</a>, and fixed an issue regarding <a class="gfm gfm-issue has-tooltip" title="Phosh WiFi doesn't show on time-out lock-screen" href="https://source.puri.sm/Librem5/phosh/issues/111" data-original="WiFi not showing on the lock screen all the time" data-link="true" data-link-reference="true" data-project="118" data-issue="4028" data-reference-type="issue" data-container="body" data-placement="bottom">WiFi not showing on the lock screen all the time</a>. To keep the lockscreen arrow animation from eating up too much battery, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/229" data-original="the arrow animation is stopped after 15 cycles" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1921" data-project-path="Librem5/phosh" data-iid="229" data-mr-title="Lockscreen: Stop arrow animation after 15 cycles" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">that arrow animation is stopped after 15 cycles</a>. Also, the battery icon now indicates when the board is receiving power too&#8211;take a look at the new start screen below, as it now <a class="gfm gfm-issue has-tooltip" title="Add weekday and date to lockscreen" href="https://source.puri.sm/Librem5/phosh/issues/101" data-original="includes a weekday and date" data-link="true" data-link-reference="true" data-project="118" data-issue="3858" data-reference-type="issue" data-container="body" data-placement="bottom">includes the weekday and date</a>!</p>
<p dir="auto" data-sourcepos="221:1-223:20"><img class="aligncenter wp-image-64664 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512c.png" alt="Login screen" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512c.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512c-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="225:1-229:66">We have been making some <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/216" data-original="changes to the overview too" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1796" data-project-path="Librem5/phosh" data-iid="216" data-mr-title="Home screen fixes" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">changes to the overview too</a>, to make sure the user is focused on the main applications. The <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/210" data-original="system prompter LayerSurface has been made to behave more like regular GTK+ widgets" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1786" data-project-path="Librem5/phosh" data-iid="210" data-mr-title="PhoshLayerShell: Don't realize layer shell's right away" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">system prompter LayerSurface has been made to behave more like regular GTK widgets</a>.</p>
<p dir="auto" data-sourcepos="231:1-244:54">And since wallpapers are important to most of us, there was a focus on the background: we added a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/227" data-original="PhoshBackgroundManager" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1885" data-project-path="Librem5/phosh" data-iid="227" data-mr-title="PhoshBackgroundManager: Add manager to handle multiple outputs" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">PhoshBackgroundManager</a>, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/220" data-original="backgrounds are re-enabled" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1842" data-project-path="Librem5/phosh" data-iid="220" data-mr-title="shell: Activate background again" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">backgrounds have been re-enabled</a>. The background is <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/238" data-original="drawn at full resolution on HiDPI screens" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1948" data-project-path="Librem5/phosh" data-iid="238" data-mr-title="PhoshBackground: Draw the wallpaper at full resolution on HiDPI screens" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">drawn at full resolution on HiDPI screens</a>, too! <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/225" data-original="Background zoom mode was implemented" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1869" data-project-path="Librem5/phosh" data-iid="225" data-mr-title="Implement background zoom mode" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Background zoom mode was implemented</a>, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/228" data-original="background colors are now supported" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1908" data-project-path="Librem5/phosh" data-iid="228" data-mr-title="Support background color setting" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">background colors are now supported</a> (besides wallpapers), and the <a class="gfm gfm-issue has-tooltip" title="Background positioning" href="https://source.puri.sm/Librem5/phosh/issues/6" data-original="background surface has been modified so that it's not hidden behind a panel" data-link="true" data-link-reference="true" data-project="118" data-issue="287" data-reference-type="issue" data-container="body" data-placement="bottom">background surface has been modified so that it&#8217;s not hidden behind a panel</a> in order for a wallpaper to be centered.</p>
<p dir="auto" data-sourcepos="246:1-248:20"><img class="aligncenter wp-image-64665 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512d.png" alt="Home screen" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512d.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512d-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="250:1-252:52">A lot of work has gone into the app switcher too, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/240" data-original="which has been overhauled" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1971" data-project-path="Librem5/phosh" data-iid="240" data-mr-title="Rework app switcher" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">which has been overhauled</a>&#8211;thanks to Zander Brown for all of his work on this!</p>
<p dir="auto" data-sourcepos="254:1-256:20"><img class="aligncenter wp-image-64666 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512e.png" alt="App switcher" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512e.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512e-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="258:1-262:79">And if all this wasn&#8217;t enough, we have fixed a few bugs, such as a pesky <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/36" data-original="pixel offset issue" data-link="true" data-link-reference="true" data-project="686" data-merge-request="1963" data-project-path="Librem5/phoc" data-iid="36" data-mr-title="view: Take usable area into account when centering views" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">pixel offset issue</a> and that annoying flickering on boot that we reduced by changing the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/32" data-original="lockscreen background to black" data-link="true" data-link-reference="true" data-project="686" data-merge-request="1909" data-project-path="Librem5/phoc" data-iid="32" data-mr-title="render: Clear to black background" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">lockscreen background to black</a>, since the shell&#8217;s background is black too (desktop background is configurable).</p>
<div style="width: 480px;" class="wp-video"><video class="wp-video-shortcode" id="video-64648-9" width="480" height="848" poster="https://puri.sm/wp-content/uploads/2019/07/256-512c.png" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.mp4?_=9" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.webm?_=9" /><a href="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.mp4">https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.mp4</a></video></div>
<h3 dir="auto" data-sourcepos="268:1-268:10"><a id="user-content-kernel" class="anchor" href="#kernel" aria-hidden="true"></a>Kernel</h3>
<p dir="auto" data-sourcepos="269:1-274:81">Since we upstreamed the devkit&#8217;s device tree, the natural next step afterwards was to start on the Librem 5&#8217;s device tree&#8211;and <a class="gfm gfm-issue has-tooltip" title="" href="https://source.puri.sm/Librem5/linux-next/issues/11" data-original="the first cut of the phone device tree is available here" data-link="true" data-link-reference="true" data-project="566" data-issue="2711" data-reference-type="issue" data-container="body" data-placement="bottom" data-original-title="Write a devicetree for the librem5 phone">the first cut of the phone device tree is available here</a>. We also submitted the <a href="https://salsa.debian.org/installer-team/flash-kernel/merge_requests/7" target="_blank" rel="nofollow noreferrer noopener">flash-kernel upstream</a>; both cpufreq and cpuidle are working and there is a noticeable temperature (5-10°C) drop; and when it comes to the graphics stack, one more driver for the imx8MQ display-driver <a href="https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=f4c8116e294b12c360b724173f4b79f232573fb1" target="_blank" rel="nofollow noreferrer noopener">has been merged upstream</a>&#8211;only two more to go! We also made some <a href="https://lists.freedesktop.org/archives/dri-devel/2019-June/224193.html" target="_blank" rel="nofollow noreferrer noopener">devkit LCD panel improvements</a>, and version 12 of the Mixel MIPI DPHY driver <a href="https://lists.infradead.org/pipermail/linux-arm-kernel/2019-June/661867.html" target="_blank" rel="nofollow noreferrer noopener">has been accepted upstream</a>!</p>
<h2 dir="auto" data-sourcepos="287:1-287:16"><a id="user-content-documentation" class="anchor" href="#documentation" aria-hidden="true"></a>Documentation</h2>
<p dir="auto" data-sourcepos="288:1-303:8">The guide on <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Wireless_Networking.html" target="_blank" rel="nofollow noreferrer noopener">setting up WiFi</a> has been improved by us, and we also provide more guidance on debugging <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Troubleshooting/Debugging.html" target="_blank" rel="nofollow noreferrer noopener">compositor crashes</a> and <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Troubleshooting/LCD_Problems.html" target="_blank" rel="nofollow noreferrer noopener">LCD problems</a> now. Some other updates concern the information about <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Simple_Input_Output.html#finding-device-files" target="_blank" rel="nofollow noreferrer noopener">simple I/O devices</a>, some <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/imx8.html" target="_blank" rel="nofollow noreferrer noopener">additional warnings about battery usage</a> and <a href="https://developer.puri.sm/Librem5/Apps/Guides/Design/Constraints.html#screen-size" target="_blank" rel="nofollow noreferrer noopener">screen area constraints</a>. Core contributors are also likely to find the <a href="https://developer.puri.sm/Librem5/Contact/Contributing.html#submitting-repositories-for-package-building" target="_blank" rel="nofollow noreferrer noopener">new documentation on our package building infrastructure</a> helpful.</p>
<p dir="auto" data-sourcepos="305:1-307:64">This is it for today&#8211;a big “Thanks!” to everyone who has helped review and merge changes into upstream projects: your time and contribution are much appreciated. Stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-july-update/">Librem 5 July Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.webm" length="2143622" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.mp4" length="1808311" type="video/mp4" />
		</item>
		<item>
		<title>Purism and the Linux 5.2 Kernel</title>
		<link>https://puri.sm/posts/purism-and-the-linux-5-2-kernel/</link>
		<pubDate>Wed, 10 Jul 2019 16:51:58 +0000</pubDate>
		<dc:creator><![CDATA[Guido Günther]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64622</guid>
		<description><![CDATA[<p>Hello again. Following up on our report for the Linux 5.1 kernel, here&#8217;s a list of contributions for the Linux 5.2 kernel cycle, for which our team recently contributed with 14 patches&#8211;including a new driver for the Librem 5 devkit&#8217;s panel: Support for the Librem 5 devkit&#8217;s proximity and light sensor The following series of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-and-the-linux-5-2-kernel/">Purism and the Linux 5.2 Kernel</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p class="western">Hello again. Following up on our report for the <a href="https://puri.sm/posts/purism-and-the-linux-kernel/">Linux 5.1</a> kernel, here&#8217;s a list of contributions for the Linux 5.2 kernel cycle, for which our team recently contributed with 14 patches&#8211;including a new driver for the Librem 5 devkit&#8217;s panel:</p>
<h3 class="western">Support for the Librem 5 devkit&#8217;s proximity and light sensor</h3>
<p>The following series of patches added support to the devkit&#8217;s VCNL4040 proximity and light sensor, the VCNL4000 driver:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=54480943235e0533d5ffd6d64697eb38df8b7c0c" target="_blank" rel="noopener">dt-bindings: iio: light: add vcnl4040 devicetree bindings</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5a441aade5b381fd2a0a2f83cea5e1b1f57d6afd" target="_blank" rel="noopener">iio: light: vcnl4000 add support for the VCNL4040 proximity and light sensor</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5da8affed2f8f8251653733d7812807c7eac7637" target="_blank" rel="noopener">dt-bindings: iio: light: add vcnl4000 devicetree bindings</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ebd457d55911b5b5bc79404d460e1b72df806dea" target="_blank" rel="noopener">iio: light: vcnl4000 add devicetree hooks</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=78ed050dd2962560d01ce8ee7b011bb7ccc3f502" target="_blank" rel="noopener">iio: light: vcnl4000 use word writes instead of byte writes</a></li>
</ul>
<h3 class="western">Support for the imx8MQs thermal management unit</h3>
<p>In this case, the driver was already there&#8211;but the device tree needed quite a few additions to enable the TMU:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e464fd2ba4d4573445574388b0b5240ae37c1740" target="_blank" rel="noopener">arm64: dts:i.MX8MQ: enable the multi sensor TMU</a></li>
</ul>
<h3 class="western">Support for the Librem 5 devkit&#8217;s LCD panel</h3>
<p>This series of patches added a new DRM panel driver to the devkit&#8217;s LCD panel:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=530b19698dc8ab125068ee3bf946f4cc1aca18fd" target="_blank" rel="noopener">drm/panel: Add Rocktech jh057n00900 panel driver</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=89c30fcb39f345cef7c66386387b71891e12df9d" target="_blank" rel="noopener">dt-bindings: Add Rocktech jh057n00900 panel bindings</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3ecd76d9640e3eedd0088acd7c623923aea789f6" target="_blank" rel="noopener">dt-bindings: Add vendor prefix for ROCKTECH DISPLAYS LIMITED</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8c089d642fd176dfab0dac9e0b71a16547de3d02" target="_blank" rel="noopener">dt-bindings: display/panel: Add missing unit names</a></li>
</ul>
<h3 class="western">DMA related fixes</h3>
<p>Here are several SDMA-related fixes, which are important when it comes to sound:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=941acd566b1807b291bbdca31cc5158e26ffcf83" target="_blank" rel="noopener">dmaengine: imx-sdma: Only check ratio on parts that support 1:1</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7240d7d41fd05e7d841a744cd2d77019d7b1286f" target="_blank" rel="noopener">arm64: dts:i.MX8MQ: Change ahb clock for imx8mq</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6c846b954c0b1a4b56215233484ed2240226f80" target="_blank" rel="noopener">arm64: dts:i.MX8MQ: Fix the fsl,imx8mq-sdma compatible string</a></li>
</ul>
<h3 class="western">DSI related fixes</h3>
<p>Finally, a clock addition, in preparation for DSI support:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4d13c67adf4d1a6c097d3eb4e55bf28618980cd7" target="_blank" rel="noopener">clk: i.MX8MQ: Add dsi_ipg_div</a></li>
</ul>
<p>We have also contributed with two reviews to already published patches.</p>
<p>That&#8217;s it for today, many thanks to all the reviewers so far—and do stay tuned, there&#8217;s more to come for the 5.3!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-and-the-linux-5-2-kernel/">Purism and the Linux 5.2 Kernel</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Runs on the Librem 5 Smartphone &#8211; Week 3</title>
		<link>https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-3/</link>
		<pubDate>Wed, 10 Jul 2019 15:09:21 +0000</pubDate>
		<dc:creator><![CDATA[Bryan Lunduke]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64598</guid>
		<description><![CDATA[<p>We&#8217;ve been showcasing a different piece of software running on the Librem 5 Smartphone Development Kit every day for the last twenty days.  Twenty.  In a row. And we&#8217;re not done.  Because, holy smokes, do we have a lot more to show.  And, let&#8217;s be honest, these are just plain fun.  Daily videos kick back [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-3/">Runs on the Librem 5 Smartphone &#8211; Week 3</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We&#8217;ve been showcasing a different piece of software running on the <a href="https://puri.sm/products/librem-5/">Librem 5 Smartphone</a> Development Kit every day for the last twenty days.  Twenty.  In a row.</p>
<p>And we&#8217;re not done.  Because, holy smokes, do we have a lot more to show.  And, let&#8217;s be honest, these are just plain fun.  Daily videos kick back off tomorrow (July 11th) with video number 21.</p>
<p>You can enjoy Days 15 through 20 below &#8212; and Days 1 through 14 in the <a href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-2/">Week 1</a> and <a href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-1/">2 posts</a>.</p>
<blockquote><p>If you <a href="https://shop.puri.sm/shop/librem-5/">pre-order the Librem 5</a> before July 31st, you save $50.</p></blockquote>
<p style="text-align: left;"><strong>Day 15 &#8211; Cryptocurrency Tracker</strong> (<a href="https://www.youtube.com/watch?v=XknU79z2Qp4">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64598-10" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-015-CryptocurrencyTracker.png" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-015-CryptocurrencyTracker.mp4?_=10" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-015-CryptocurrencyTracker.webm?_=10" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-015-CryptocurrencyTracker.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-015-CryptocurrencyTracker.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 16 &#8211; Something a little different&#8230;</strong> (<a href="https://www.youtube.com/watch?v=wJvAvr8j4gw">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64598-11" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-016-SomethingALittleDifferent.png" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-016-SomethingALittleDifferent.mp4?_=11" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-016-SomethingALittleDifferent.webm?_=11" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-016-SomethingALittleDifferent.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-016-SomethingALittleDifferent.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 17 &#8211; GNOME Contacts</strong> (<a href="https://www.youtube.com/watch?v=Dbjy9qVyTqE">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64598-12" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-017-GNOMEContacts.png" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-017-GNOMEContacts.mp4?_=12" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-017-GNOMEContacts.webm?_=12" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-017-GNOMEContacts.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-017-GNOMEContacts.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 18 &#8211; Telnet</strong> (<a href="https://www.youtube.com/watch?v=FrX_UL0P1rs">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64598-13" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-018-Telnet.png" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-018-Telnet.mp4?_=13" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-018-Telnet.webm?_=13" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-018-Telnet.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-018-Telnet.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 19 &#8211; Sudo</strong> (<a href="https://www.youtube.com/watch?v=ny2qfygXNkU">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64598-14" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-019-Sudo.png" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-019-Sudo.mp4?_=14" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-019-Sudo.webm?_=14" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-019-Sudo.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-019-Sudo.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 20 &#8211; PureOS Store</strong> (<a href="https://www.youtube.com/watch?v=M7jw-M7FJ9A">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64598-15" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-020-PureOSStore.png" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-020-PureOSStore.mp4?_=15" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-020-PureOSStore.webm?_=15" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-020-PureOSStore.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-020-PureOSStore.mp4</a></video></div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-3/">Runs on the Librem 5 Smartphone &#8211; Week 3</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-015-CryptocurrencyTracker.mp4" length="3675093" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-015-CryptocurrencyTracker.webm" length="3350080" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-016-SomethingALittleDifferent.mp4" length="1045416" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-016-SomethingALittleDifferent.webm" length="1388430" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-017-GNOMEContacts.mp4" length="4137534" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-017-GNOMEContacts.webm" length="4651558" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-018-Telnet.mp4" length="2407275" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-018-Telnet.webm" length="2628769" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-019-Sudo.mp4" length="1195867" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-019-Sudo.webm" length="1832545" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-020-PureOSStore.mp4" length="3073825" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-020-PureOSStore.webm" length="3770734" type="video/webm" />
		</item>
		<item>
		<title>Up and Running With Your Librem in Three Minutes</title>
		<link>https://puri.sm/posts/up-and-running-with-your-librem-in-three-minutes/</link>
		<pubDate>Mon, 08 Jul 2019 12:48:54 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64293</guid>
		<description><![CDATA[<p>Security and privacy for everyone The right to respect and privacy should be unconditional; within the digital world itself, it shouldn&#8217;t be necessary to be an expert in computer science to guarantee you can&#8211;and know how to&#8211;be entitled to those rights. Making secure and respectful devices is essential, but to be fully ethical, those devices [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/up-and-running-with-your-librem-in-three-minutes/">Up and Running With Your Librem in Three Minutes</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64293-16" width="640" height="360" poster="https://videos.puri.sm/how-to/librem-first-run/librem-setup-poster.jpg" preload="auto" controls="controls"><source type="video/mp4" src="https://videos.puri.sm/how-to/librem-first-run/librem-setup-final.mp4?_=16" /><source type="video/webm" src="https://videos.puri.sm/how-to/librem-first-run/librem-setup-final.webm?_=16" /><a href="https://videos.puri.sm/how-to/librem-first-run/librem-setup-final.mp4">https://videos.puri.sm/how-to/librem-first-run/librem-setup-final.mp4</a></video></div>
<h2>Security and privacy for everyone</h2>
<p>The right to respect and privacy should be unconditional; within the digital world itself, it shouldn&#8217;t be necessary to be an expert in computer science to guarantee you can&#8211;and know how to&#8211;be entitled to those rights. Making secure and respectful devices is essential, but to be fully ethical, those devices also need to be simple to use, so everyone can use them.</p>
<p>Our mission at Purism is to make technologies that respects people, whoever they are and whichever background they come from. That is why we make sure that everything we develop conforms to the <a href="https://2017.ind.ie/ethical-design/" target="_blank" rel="noopener">Ethical Design manifesto</a>, The manifesto itself is quite simple in what it states: that everyone should have the right to be respected and to have a delightful user experience.</p>
<p>I am not saying that Purism&#8217;s technology is perfect in the sense of simplicity of use&#8211;nevertheless, we are constantly working towards it, and we will always keep that goal in mind. Purism is a Social Purpose corporation, it is funded by the people, and we give back all our research and development to the people. This way we make sure that the initial ethical goal of Purism is a free seed that will grow no matter what.</p>
<h3>Up and running in three minutes</h3>
<p>That&#8217;s all it takes. The video shows it really only takes three minutes to get you up and running with a brand-new Librem laptop. The Librem  laptops ship with PureOS pre-installed, and its setup is pretty straight forward, as you can see. No install process is necessary, no mandatory constraining policy to agree on, no probable spyware to setup for a more convenient advertising experience&#8230;</p>
<p>Your Librem may get to take one or two more minutes to start if the Librem One setup is part of the initial setup process, but everything will remain pretty simple&#8211;especially if you already have an account. I will be writing more on that subject soon, so stay tuned.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/up-and-running-with-your-librem-in-three-minutes/">Up and Running With Your Librem in Three Minutes</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://videos.puri.sm/how-to/librem-first-run/librem-setup-final.webm" length="29947004" type="video/webm" />
<enclosure url="https://videos.puri.sm/how-to/librem-first-run/librem-setup-final.mp4" length="53204414" type="video/mp4" />
		</item>
		<item>
		<title>Runs on the Librem 5 Smartphone &#8211; Week 2</title>
		<link>https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-2/</link>
		<pubDate>Wed, 03 Jul 2019 22:30:51 +0000</pubDate>
		<dc:creator><![CDATA[Bryan Lunduke]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64536</guid>
		<description><![CDATA[<p>We have just wrapped up our second week of looking at one new application (or game, or feature) running on the Librem 5 Smartphone Development Kit every single day.  (You can find the first 7 pieces of software running on the Librem 5 being shown in the Week 1 post.) Below you&#8217;ll find the software for Week [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-2/">Runs on the Librem 5 Smartphone &#8211; Week 2</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have just wrapped up our second week of looking at one new application (or game, or feature) running on the <a href="https://puri.sm/products/librem-5/">Librem 5</a> Smartphone Development Kit every single day.  (You can find the first 7 pieces of software running on the Librem 5 being shown in <a href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-1/">the Week 1 post</a>.)</p>
<p>Below you&#8217;ll find the software for Week 2 (days 8 through 14) &#8212; from Emacs to Torrents to Games.</p>
<blockquote><p>Side note: If you <a href="https://shop.puri.sm/shop/librem-5/">pre-order the Librem 5</a> before July 31st, you save $50.</p></blockquote>
<p style="text-align: left;"><strong>Day 8 &#8211; GNOME Clocks</strong> (<a href="https://www.youtube.com/watch?v=GbLHlS0-q9k">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64536-17" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-008-Clock.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-008-Clock.mp4?_=17" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-008-Clock.webm?_=17" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-008-Clock.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-008-Clock.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 9 &#8211; Emacs</strong> (<a href="https://www.youtube.com/watch?v=OAWSrCo9Ib8">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64536-18" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-009-emacs.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-009-emacs.mp4?_=18" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-009-emacs.webm?_=18" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-009-emacs.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-009-emacs.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 10 &#8211; Password Safe</strong> (<a href="https://www.youtube.com/watch?v=329pB3fRlnc">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64536-19" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-010-PasswordSafe.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-010-PasswordSafe.mp4?_=19" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-010-PasswordSafe.webm?_=19" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-010-PasswordSafe.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-010-PasswordSafe.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 11 &#8211; OpenTTD</strong> (<a href="https://www.youtube.com/watch?v=CzKog_mhb44">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64536-20" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-011-OpenTTD.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-011-OpenTTD.mp4?_=20" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-011-OpenTTD.webm?_=20" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-011-OpenTTD.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-011-OpenTTD.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 12 &#8211; GNOME Podcasts</strong> (<a href="https://www.youtube.com/watch?v=puskhBM80Qg">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64536-21" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-012-Podcasts.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-012-Podcasts.mp4?_=21" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-012-Podcasts.webm?_=21" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-012-Podcasts.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-012-Podcasts.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 13 &#8211; Fragments Torrent Client</strong> (<a href="https://www.youtube.com/watch?v=U-1Rd31vNKE">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64536-22" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-013-Torrent.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-013-Torrent.mp4?_=22" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-013-Torrent.webm?_=22" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-013-Torrent.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-013-Torrent.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 14 &#8211; Drawing</strong> (<a href="https://www.youtube.com/watch?v=xwfDnPd5NDU">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64536-23" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/07/Librem5-014-Drawing.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-014-Drawing.mp4?_=23" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/Librem5-014-Drawing.webm?_=23" /><a href="https://puri.sm/wp-content/uploads/2019/07/Librem5-014-Drawing.mp4">https://puri.sm/wp-content/uploads/2019/07/Librem5-014-Drawing.mp4</a></video></div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-2/">Runs on the Librem 5 Smartphone &#8211; Week 2</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-008-Clock.mp4" length="4383973" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-008-Clock.webm" length="4332466" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-009-emacs.mp4" length="2678165" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-009-emacs.webm" length="2300743" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-010-PasswordSafe.mp4" length="4177678" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-010-PasswordSafe.webm" length="4262185" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-011-OpenTTD.mp4" length="3108446" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-011-OpenTTD.webm" length="2593841" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-012-Podcasts.mp4" length="3670400" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-012-Podcasts.webm" length="3793164" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-013-Torrent.mp4" length="2565799" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-013-Torrent.webm" length="2450096" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-014-Drawing.mp4" length="2825527" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/Librem5-014-Drawing.webm" length="3043775" type="video/webm" />
		</item>
		<item>
		<title>Librem 5 App Design Tutorial &#8212; Part III</title>
		<link>https://puri.sm/posts/librem-5-app-design-tutorial-naming-your-app/</link>
		<pubDate>Tue, 02 Jul 2019 15:44:45 +0000</pubDate>
		<dc:creator><![CDATA[Tobias Bernard]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[User experience design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64130</guid>
		<description><![CDATA[<p>Naming your app So you finally started working on the awesome idea you had for a GNOME app, designed a great interface for it and want to start building it. You open Gitlab in order to create a new repository&#8230; and oh no!, it wants a name. Existential dread sets in. Naming things is hard, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-app-design-tutorial-naming-your-app/">Librem 5 App Design Tutorial &#8212; Part III</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Naming your app</h2>
<p>So you finally started working on the awesome idea you had for a GNOME app, <a href="https://puri.sm/posts/librem-5-app-design-tutorial-part-ii/">designed a great interface</a> for it and want to start building it. You open Gitlab in order to create a new repository&#8230; and oh no!, it wants a name.</p>
<p>Existential dread sets in. Naming things is hard, and naming user-facing things even more so. App names are read, pronounced, heard of and remembered by lots of people. A name is, along with an icon, the most important identifier for your project. This tutorial will help you find a great name for your app&#8211;or, at least, make it a bit easier.</p>
<p><img class="aligncenter wp-image-64471 size-full" src="https://puri.sm/wp-content/uploads/2019/06/gitlab-new-repo.png" alt="Gitllab new repository" width="949" height="682" srcset="https://puri.sm/wp-content/uploads/2019/06/gitlab-new-repo.png 949w, https://puri.sm/wp-content/uploads/2019/06/gitlab-new-repo-300x216.png 300w, https://puri.sm/wp-content/uploads/2019/06/gitlab-new-repo-768x552.png 768w" sizes="(max-width: 949px) 100vw, 949px" /></p>
<h2 class="western">General Guidance</h2>
<p>As the <a href="https://developer.gnome.org/hig/stable/application-basics.html.en#application-names">GNOME Human Interface Guidelines puts it</a>:</p>
<blockquote><p>&#8220;An application’s name is vital. It is what users will be first exposed to, and will help them decide whether they want to use an application or not. It is a major part of your application’s public face.&#8221;</p></blockquote>
<p>A good name is hard to find, but putting in a bit of effort up-front is worth it, since renaming the app afterwards is much harder (and messier). A good name should consist of one or two simple nouns; be related to the app’s domain (e.g. <em>Celluloid</em> for a video app); be short (less than 15 characters) and easy to pronounce. It should also make it easy to come up with a good icon (e.g., reference an object that could be turned into an icon), and use title case (e.g. <em>Icon Preview</em> instead of <em>iconPreview</em>).</p>
<p>On the other hand, a good name should probably avoid using trademarks or names of other projects (e.g. <em>GNOME MPV</em>); having a “G” prefix (e.g. <em>GParted</em>); being overly complicated, whether a name or an acronym (e.g. <em>GIMP</em>, <em>GNU Image Manipulation Program</em>); relying on puns and inside jokes (e.g. <em>D-Feet</em>), using non-standard punctuation and whitespace (e.g. <em>UberWriter</em>) or made-up words and word combinations (e.g. <em>Inkscape</em>).</p>
<h2 class="western">The Process</h2>
<p>Having been involved in naming a lot of projects, I now have a process which consistently produces pretty good results: I write down all the words related to the app’s domain I can think of; do a thesaurus search of some of those words, find even more related words and, when I have about 15, I pick out the best-sounding ones, and ask myself: Are they too long? Are they easy to pronounce? Could they have negative connotations? I do a quick check to see if the names are already taken and, among those not taken, choose my favorite one.</p>
<p>Naming an app which is part of GNOME is slightly different, because apps have completely generic names describing their function or type content (e.g. Files, Image Viewer, Fonts, Music). Since this is much simpler&#8211;and unusual&#8211;in this tutorial we’ll focus on independent, third-party app naming only. Let’s start with a real-world example: a few months ago I was involved in renaming an internet radio app called <em>Gradio&#8211;</em>a bad name for many of the above-mentioned reasons. We wanted a nicer name for the new, completely rewritten version of the app.</p>
<h3>1. Brainstorm</h3>
<p>So, Internet radio. What immediately comes to mind? Well, let&#8217;s say <em>Radio</em>, <em>Transmission</em> and <em>Stations</em>. But these are pretty generic terms, so let’s branch out a bit. As with most digital technologies, it’s hard to find nice metaphors, but we can use their analog predecessors (i.e. analog radio).</p>
<p>Are there any related physical objects we can use? Maybe <em>R</em><em>eceiver</em>, <em>Headphones</em> and, say, <em>Antenna</em>? Maybe also something related to analog radio technology, such as <em>Transistor</em> or <em>Frequencies</em>? We also considered the names of people who worked on the technology, like <em>Marconi</em> and <em>Hertz</em>.</p>
<h3 class="western">2. Thesaurus</h3>
<p>Now that we have a few words to start with, let’s plug them into a thesaurus (or a similar site, like <a class="linkified" href="http://relatedwords.org/" target="_blank" rel="noopener">relatedwords.org</a>) and see if there are any good related words. and see if there are any good related words. This is usually pretty hit or miss, as most related words will neither be relevant to the domain, nor make sense as names. But I always find a few good options that I didn’t think of before.</p>
<p>A few additional words from a thesaurus search were <em>Transmission</em>, <em>Shortwave</em>, <em>Wireless</em> and <em>Decibel.</em> We also had a brainstorming session on Matrix with a group of people from the community, which gave us <em>Longwave</em>, <em>Shortrange</em>, <em>Hzzzzz</em>, <em>Spectrum</em> and <em>Waves</em>.</p>
<p><img class="wp-image-64472 size-full aligncenter" src="https://puri.sm/wp-content/uploads/2019/06/thesaurus.png" alt="Thesaurus" width="843" height="795" srcset="https://puri.sm/wp-content/uploads/2019/06/thesaurus.png 843w, https://puri.sm/wp-content/uploads/2019/06/thesaurus-300x283.png 300w, https://puri.sm/wp-content/uploads/2019/06/thesaurus-768x724.png 768w" sizes="(max-width: 843px) 100vw, 843px" /></p>
<h3 class="western">3. Pick the best ones</h3>
<p>We had about 20 words, so we stopped brainstorming and started looking for the ones that would make good names. This is not a scientific process: just take each word and imagine it as the app&#8217;s name, paying attention to its length, ease of pronunciation, and whether it sounds nice.</p>
<p>My favorites were <em>Transistor</em>, <em>Hertz</em>, <em>Spectrum</em> and <em>Shortwave</em>. They’re all relatively short, easy to pronounce, and sound good as app names. We now need to know if we can use them.</p>
<h3 class="western">4. Check if they’re taken</h3>
<p>I usually start off by searching directly on Github to see if any other FOSS projects are already using a name. If I don’t find anything there, I search for the name on Duckduckgo, adding “app” or “open source”. You’ll often find something somewhere using the name already; not necessarily a problem, if it’s an app/project/company from a different domain&#8211;but it’s better to avoid large projects and companies.</p>
<p><img class="wp-image-64473 size-full aligncenter" src="https://puri.sm/wp-content/uploads/2019/06/github-transistor-search.png" alt="Transistor search" width="1000" height="884" srcset="https://puri.sm/wp-content/uploads/2019/06/github-transistor-search.png 1000w, https://puri.sm/wp-content/uploads/2019/06/github-transistor-search-300x265.png 300w, https://puri.sm/wp-content/uploads/2019/06/github-transistor-search-768x679.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>It turned out <em>Transistor</em> is already a <a href="https://github.com/y20k/transistor">radio app for Android</a>. Since our app does something very similar, people might think it is affiliated with that project, which we want to avoid; and <em>Hertz</em> is the name of a car rental service. It’s a big company, so best to stay away from that as well. <em>Spectrum</em> is already the name of a <a href="https://github.com/withspectrum/spectrum">forum software</a> (which looks <em>really</em> cool, by the way). The potential for confusion is low here, but the project is well-established, with 6000+ stars on Github, so also not a great option. Finally, <em>Shortwave</em> is used by a <a href="http://shortwaveapp.com/">bookmarking app</a>; some search results are related to actual analog radio software, but nothing looks too problematic, and it seems viable.</p>
<p>So, the process is always the same: a quick search to check what’s out there and determine the potential for confusion or trademark problems. Since you’re working on a free software app, you’re probably not going to get into legal trouble, but you may have to change the name later on.</p>
<h3 class="western">5. Pick a winner</h3>
<p>You probably know which name you want by now, so go ahead and make it official. In our case <em>Shortwave</em> won. It is good because it is short, distinct-sounding, related to the domain, a pronounceable English word that is not taken by any major projects or companies.</p>
<p>And if all your favorites are taken, go back and do some more brainstorming: the perfect name for your app is out there, and you will find it!</p>
<p><img class="aligncenter wp-image-64474 size-full" src="https://puri.sm/wp-content/uploads/2019/06/shortwave.png" alt="Shortwave" width="1010" height="943" srcset="https://puri.sm/wp-content/uploads/2019/06/shortwave.png 1010w, https://puri.sm/wp-content/uploads/2019/06/shortwave-300x280.png 300w, https://puri.sm/wp-content/uploads/2019/06/shortwave-768x717.png 768w" sizes="(max-width: 1010px) 100vw, 1010px" /></p>
<h2 class="western">Bonus</h2>
<p>Here are some examples of well-named third party apps in the GNOME ecosystem, and what makes their names great:</p>
<p><strong>Fragments</strong>, a torrent app. The name is great because it is unique among torrent app names (which usually reference water, e.g. Deluge), yet clearly connected to its domain, since BitTorrent splits files into lots of tiny parts and sends them in random order.</p>
<p><strong>Peek</strong> is a GIF screen-recorder with a very appropriate name: it makes short recordings of small parts of the screen and feels small, quick, and frictionless&#8211;all of which the name perfectly encapsulates.</p>
<p><strong>Teleport</strong> sends files across the local network. The idea behind it is to make sending the file seem effortless when compared to other methods, such as using web services or USB drives. The Sci-Fi metaphor is perfect for that.</p>
<p>That&#8217;s it for now&#8211;I hope you enjoyed this tutorial, and if you feel like reading the full version, you can find it <a href="https://blogs.gnome.org/tbernard/">here</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-app-design-tutorial-naming-your-app/">Librem 5 App Design Tutorial &#8212; Part III</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Made in USA Librem Key</title>
		<link>https://puri.sm/posts/made-in-usa-librem-key/</link>
		<pubDate>Thu, 27 Jun 2019 16:31:29 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Physical robustness]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Supply chain]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63240</guid>
		<description><![CDATA[<p>Purism is happy to announce the new, made in USA Librem Key What does &#8220;Made in USA&#8221; mean? We would never use the words &#8220;Made in USA&#8221; lightly. We had to meet very strict requirements before being allowed to use that label. It&#8217;s well-known that other firms have been fined for mislabeling their Made in [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/made-in-usa-librem-key/">Made in USA Librem Key</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Purism is happy to announce the new, made in USA Librem Key</h2>
<h3>What does &#8220;Made in USA&#8221; mean?</h3>
<p>We would never use the words &#8220;Made in USA&#8221; lightly. We had to meet very strict requirements before being allowed to use that label. <a href="https://www.bizjournals.com/sanjose/news/2019/04/15/fortinet-us-government-china-label-settlement-ftnt.html">It&#8217;s well-known that other firms have been fined for mislabeling their Made in China products as Made in USA</a>, for instance because &#8220;screwdriver assembly&#8221; only (getting electronics made elsewhere and doing final case-assembly in the USA) is not enough to qualify for &#8220;Made in USA&#8221;. A company can source specific, individual electronics components from around the world (we source chips like the OpenPGP smart card from a European supplier, for example) but must actually <em>make</em>&#8211;as in fabricate&#8211;the product here, in the US, to be able to label it as &#8220;Made in USA.&#8221;</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63240-24" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/key.png" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/key.mp4?_=24" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/key.webm?_=24" /><a href="https://puri.sm/wp-content/uploads/2019/06/key.mp4">https://puri.sm/wp-content/uploads/2019/06/key.mp4</a></video></div>
<h3>Protecting the digital supply chain matters</h3>
<p>We are investing in improvements all across our supply chain. We have written about <a href="https://puri.sm/posts/protecting-the-digital-supply-chain/">the importance of protecting the digital supply chain</a> before, and are now pleased to announce a major, related improvement: the <strong>new, made in USA Librem Keys</strong>!</p>
<p>The original Librem Keys were <a href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">manufactured by Nitrokey as part of our initial partnership</a>. We will be manufacturing the Librem Key v2 in the same US facility where we <a href="https://puri.sm/posts/librem5-2018-11-hardware-report/">manufactured our Librem 5 devkits</a>; it will have the same features of the original Librem Key, use the same OpenPGP smart card chips, and the inside will look almost the same&#8211;but the outside will have a new, re-branded case saying &#8220;Made in USA&#8221;.</p>
<p>Tight supply chain control is very important, because this device will hold your most sensitive secrets&#8211;your GPG keys, your PureBoot secrets. We oversee the complete production of the Librem Key, so they never leave our sight&#8211;from PCBA to finished product&#8211;until we send them to you. You can trust not only the keys, but also any laptops configured (at our facility) with PureBoot and protected by those same Librem Keys.</p>
<h3>This is only the beginning</h3>
<p>Made in USA Librem Keys are only the beginning: we have already tested the capabilities of our US facility by making Librem 5 devkits there, and as we continue to fine-tune our operations with the Librem Key, we are testing how many more of our products we can build there.</p>
<hr />
<p>Having Made in USA, in-house fabrication ensures freedom, security, and privacy for people and enterprises. This is the second Made in the USA product by Purism, but only the beginning of what we have coming.</p>
<p>If you are interested in Made in USA Librem Keys, you can find more information about them <a href="https://puri.sm/products/librem-key/">here</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/made-in-usa-librem-key/">Made in USA Librem Key</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/06/key.mp4" length="53204694" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/key.webm" length="3454990" type="video/webm" />
		</item>
		<item>
		<title>Purism’s Librem Key is Now the First and Only USB Security Token to be Made in the USA</title>
		<link>https://puri.sm/posts/purisms-librem-key-is-now-the-first-and-only-usb-security-token-to-be-made-in-the-usa/</link>
		<pubDate>Thu, 27 Jun 2019 16:14:46 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64452</guid>
		<description><![CDATA[<p>Version 2 of the first and only security key offering tamper evident laptop protection has a tightened supply chain to ensure privacy and security for users SAN FRANCISCO, Calif., June 27, 2019 &#8211; Purism, the social purpose corporation which designs and produces popular hardware and software that protects users’ digital lives, today announced its Librem [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-librem-key-is-now-the-first-and-only-usb-security-token-to-be-made-in-the-usa/">Purism’s Librem Key is Now the First and Only USB Security Token to be Made in the USA</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Version 2 of the first and only security key offering tamper evident laptop protection has a tightened supply chain to ensure privacy and security for users</h2>
<p>SAN FRANCISCO, Calif., June 27, 2019 &#8211; Purism, the social purpose corporation which designs and produces popular hardware and software that protects users’ digital lives, today announced its Librem Key product will be the first device of its category to be made in the USA.</p>
<p>Librem Key, the first and only OpenPGP smart card closely integrated with the Heads-firmware offering a tamper-evident boot process, launched in September 2018. Initially manufactured in-part by partner Nitrokey, Purism is now manufacturing Librem Keys entirely from Purism’s Carlsbad, California headquarters – the same U.S. facility used to manufacture its Librem 5 smartphone devkits in 2018. Version 2 also stores up to 4096-bit RSA keys and up to 512-bit ECC keys and securely generates keys directly on the device.</p>
<p>Supply chain security is a rising concern due to the lack of control hardware companies have over manufacturing links. Threats include security hacks, malware concerns, cyber-espionage, and even copyright theft. Purism sees protection of its supply chain as an existentially important issue, and has invested in supply chain improvements including the launch of Librem Key V2.</p>
<blockquote><p>&#8220;Having a secure supply chain is critical for hardware that holds your most sensitive secrets,&#8221; said Kyle Rankin, Chief Security Officer of Purism. &#8220;By making the Librem Key in the USA, we&#8217;ve removed even more links in the supply chain and can directly oversee the complete process from Librem Key production to shipping to the customer. Here at Purism we hope to lead by example, lessening uncontrolled links and understanding every step of our supply chain.”</p></blockquote>
<p>Purism takes the “Made in USA” label seriously, especially as other firms have been fined for mislabeling their products as American made when they were made in China. For example, &#8220;screwdriver assembly&#8221; – electronics made elsewhere and doing final case assembly in the USA – does not qualify a “Made in USA” stamp of approval. And while a company can source specific individual electronics components like resistors or unpopulated circuit boards from around the world, the company must fabricate the product here in the US to qualify as &#8220;Made in USA.&#8221;</p>
<blockquote><p>&#8220;Librem Key’s USA fabrication is yet another area where Purism is beating the technology giants by ensuring a secure supply chain for critical hardware, and it has been our goal to do so since we formed in 2014,” said Todd Weaver, founder and CEO of Purism. “As we start to move more and more of our manufacturing to the U.S., it will give us complete control over the production lifecycle, which means that eventually our devices will never leave our purview, from schematics, through PCBA (Printed Circuit Board Assembly), to finished product.”</p></blockquote>
<p>This move will enable Purism to exponentially increase manufacturing volume to meet growing sales demands.</p>
<p>A Key to the future</p>
<p>Made in USA Librem Keys is the beginning of Purism’s journey to a tighter supply chain. Since the inception of Purism in 2014, the company has been working toward a U.S. supply chain because of the security implications and benefits.</p>
<p>Purism has already tested the capabilities of its U.S. facility by making Librem 5 devkits late last year, and the company continues to fine-tune operations with the Librem Key and setup for more of its products to be built there.</p>
<p>The investment in protecting user privacy and security has paid off. Purism has seen triple-digit sales growth year-over-year since its founding in 2014 and even with a rapidly growing 60+ person team continues to grow funded from profits.</p>
<p>Made in the USA Librem Key will begin shipping on July 4, 2019. Learn more about Librem Key here: https://puri.sm/products/librem-key/</p>
<p>About Purism:</p>
<p>Purism is a Social Purpose Corporation devoted to bringing security, privacy, software freedom, and digital independence to everyone’s personal computing experience. With operations based in San Francisco, California, and around the world, Purism manufactures premium-quality laptops and phones, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.</p>
<p>Media Contact:<br />
Marie Williams<br />
Coderella<br />
415-689-4029<br />
pr@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-librem-key-is-now-the-first-and-only-usb-security-token-to-be-made-in-the-usa/">Purism’s Librem Key is Now the First and Only USB Security Token to be Made in the USA</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Runs on the Librem 5 Smartphone &#8211; Week 1</title>
		<link>https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-1/</link>
		<pubDate>Wed, 26 Jun 2019 16:21:36 +0000</pubDate>
		<dc:creator><![CDATA[Bryan Lunduke]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64344</guid>
		<description><![CDATA[<p>As we steadily work towards the release of the Librem 5 smartphone (Q3 of 2019), we&#8217;re taking a look at one new application (or game, or feature) running on the Librem 5 Development Kit every single day. Below is the first week worth&#8211;Solitaire, web browser, system tools, note taking&#8230; just all over the map. Some [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-1/">Runs on the Librem 5 Smartphone &#8211; Week 1</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>As we steadily work towards the release of the <a href="https://puri.sm/products/librem-5/">Librem 5 smartphone</a> (Q3 of 2019), we&#8217;re taking a look at one new application (or game, or feature) running on the Librem 5 Development Kit every single day.</p>
<p>Below is the first week worth&#8211;Solitaire, web browser, system tools, note taking&#8230; just all over the map. Some of these are mobile optimized applications. Others are desktop Linux applications, running unmodified on Librem 5 development kit hardware.</p>
<p>What will the next week hold? Which applications and games will we take a look at over the coming week? Who knows! (Well. I do. But I&#8217;m not telling.)</p>
<blockquote><p>Side note: If you <a href="https://shop.puri.sm/shop/librem-5/">pre-order the Librem 5</a> before July 31st, you save $50. And fifty bucks is fifty bucks.</p></blockquote>
<p style="text-align: left;"><strong>Day 1 &#8211; Solitaire</strong> (<a href="https://www.youtube.com/watch?v=qBFRbOvZvxM">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64344-25" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/Librem5-001-Solitaire.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-001-Solitaire.mp4?_=25" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-001-Solitaire.webm?_=25" /><a href="https://puri.sm/wp-content/uploads/2019/06/Librem5-001-Solitaire.mp4">https://puri.sm/wp-content/uploads/2019/06/Librem5-001-Solitaire.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 2 &#8211; Gedit and Apt</strong> (<a href="https://www.youtube.com/watch?v=jEzRgjHaIZo">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64344-26" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/Librem5-002-GeditApt.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-002-GeditApt.mp4?_=26" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-002-GeditApt.webm?_=26" /><a href="https://puri.sm/wp-content/uploads/2019/06/Librem5-002-GeditApt.mp4">https://puri.sm/wp-content/uploads/2019/06/Librem5-002-GeditApt.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 3 &#8211; Web Browser</strong> (<a href="https://www.youtube.com/watch?v=u9X53UGdvX8">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64344-27" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/Librem5-003-Web-Browser.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-003-Web-Browser.mp4?_=27" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-003-Web-Browser.webm?_=27" /><a href="https://puri.sm/wp-content/uploads/2019/06/Librem5-003-Web-Browser.mp4">https://puri.sm/wp-content/uploads/2019/06/Librem5-003-Web-Browser.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 4 &#8211; GNOME Calculator</strong> (<a href="https://www.youtube.com/watch?v=esYJSNZrQWc">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64344-28" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/Librem5-004-GnomeCalculator.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-004-GnomeCalculator.mp4?_=28" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-004-GnomeCalculator.webm?_=28" /><a href="https://puri.sm/wp-content/uploads/2019/06/Librem5-004-GnomeCalculator.mp4">https://puri.sm/wp-content/uploads/2019/06/Librem5-004-GnomeCalculator.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 5 &#8211; GNOME Dictionary</strong> (<a href="https://www.youtube.com/watch?v=ZsLp_5iNswc">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64344-29" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/Librem5-005-GNOMEDictionaryOrientationSwitching.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-005-GNOMEDictionaryOrientationSwitching.mp4?_=29" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-005-GNOMEDictionaryOrientationSwitching.webm?_=29" /><a href="https://puri.sm/wp-content/uploads/2019/06/Librem5-005-GNOMEDictionaryOrientationSwitching.mp4">https://puri.sm/wp-content/uploads/2019/06/Librem5-005-GNOMEDictionaryOrientationSwitching.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 6 &#8211; Evince Document Reader</strong> (<a href="https://www.youtube.com/watch?v=j8YMc06RMrc">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64344-30" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/Librem5-006-Evince.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-006-Evince.mp4?_=30" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-006-Evince.webm?_=30" /><a href="https://puri.sm/wp-content/uploads/2019/06/Librem5-006-Evince.mp4">https://puri.sm/wp-content/uploads/2019/06/Librem5-006-Evince.mp4</a></video></div>
<p>&nbsp;</p>
<p><strong>Day 7 &#8211; Annotated Note Taking with Xournal</strong> (<a href="https://www.youtube.com/watch?v=34XhhVlmYTU">also on YouTube</a>)</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64344-31" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/Librem5-007-Xournal.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-007-Xournal.mp4?_=31" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/Librem5-007-Xournal.webm?_=31" /><a href="https://puri.sm/wp-content/uploads/2019/06/Librem5-007-Xournal.mp4">https://puri.sm/wp-content/uploads/2019/06/Librem5-007-Xournal.mp4</a></video></div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/runs-on-the-librem-5-smartphone-week-1/">Runs on the Librem 5 Smartphone &#8211; Week 1</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-001-Solitaire.mp4" length="4150594" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-001-Solitaire.webm" length="3099644" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-002-GeditApt.mp4" length="4127346" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-002-GeditApt.webm" length="5729512" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-003-Web-Browser.mp4" length="8022075" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-003-Web-Browser.webm" length="5247976" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-004-GnomeCalculator.mp4" length="2941621" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-004-GnomeCalculator.webm" length="2655928" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-005-GNOMEDictionaryOrientationSwitching.mp4" length="2936332" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-005-GNOMEDictionaryOrientationSwitching.webm" length="4646641" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-006-Evince.mp4" length="4275930" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-006-Evince.webm" length="2702570" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-007-Xournal.mp4" length="3009617" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/Librem5-007-Xournal.webm" length="3335142" type="video/webm" />
		</item>
		<item>
		<title>The New Generation of Tech and Stronger Privacy Laws</title>
		<link>https://puri.sm/posts/the-new-generation-of-tech-and-stronger-privacy-laws/</link>
		<pubDate>Tue, 25 Jun 2019 08:23:14 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Regulatory]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Press]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64296</guid>
		<description><![CDATA[<p>Read all about how Todd Weaver and Brendan Eich reject Big Tech’s efforts to weaken California’s privacy law. In a nutshell, what you can read in The Mercury News is how every Big Tech company seems to care about privacy now—while quietly attempting to dismantle the California Consumer Privacy Act before it even goes into [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-new-generation-of-tech-and-stronger-privacy-laws/">The New Generation of Tech and Stronger Privacy Laws</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western"><a href="https://www.mercurynews.com/2019/06/23/6139396/">Read all about</a> how Todd Weaver and Brendan Eich reject Big Tech’s efforts to weaken California’s privacy law.</h2>
<p>In a nutshell, what you can read in The Mercury News is how every Big Tech company seems to care about privacy now—while quietly attempting to dismantle the California Consumer Privacy Act before it even goes into effect. Why? California’s new privacy law requires large companies to respect basic information rights: what is collected, sold, traded or shared.</p>
<h3 class="western">Sharing intimate information and manipulating users’ choices and actions are serious mistakes.</h3>
<p>Our colleagues in Big Tech worry about privacy violations too… and that’s why so many of them don’t allow their own children to use the products and services they sell.</p>
<h3 class="western">Regulate us. Seriously.</h3>
<p>We don’t believe in building things we wouldn’t let our own kids use, and that’s why we want to strengthen California’s consumer privacy law. Our industry knows how to innovate and adapt, we thrive in the startup mindset of tackling new challenges, we know how to conquer what seems impossible. Regulation that helps civilians is critical; regulation that creates a barrier to entry for competition and protects technology giants is not.</p>
<h3 class="western">We know how to imagine, dream, innovate, and implement.</h3>
<p>We want to make sure our customers, their families and our families&#8211;everyone’s privacy rights&#8211;are protected. It is imperative. Because strong privacy laws are good for everyone.</p>
<p>Read the full article in <a href="https://www.mercurynews.com/2019/06/23/6139396/">The Mercury News</a> post&#8211;written by our CEO, <a href="https://puri.sm/posts/author/todd-weaver/">Todd Weaver</a>, and <a href="https://brave.com/">Brave</a> CEO, Brendan Eich<span style="color: #000000;">.</span></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-new-generation-of-tech-and-stronger-privacy-laws/">The New Generation of Tech and Stronger Privacy Laws</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 June Software Update</title>
		<link>https://puri.sm/posts/librem-5-june-software-update/</link>
		<pubDate>Wed, 19 Jun 2019 16:27:26 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64261</guid>
		<description><![CDATA[<p>Hi everyone! The Librem 5 team has been hard at work, and we want to update you all on our software progress. Conferences A couple of blog posts back, we mentioned that our hardware engineer gave a talk at KiCon—and it is available for watching now! Also, recently Tobias Bernard attended the Libre Graphics Meeting, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-june-software-update/">Librem 5 June Software Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi everyone! The Librem 5 team has been hard at work, and we want to update you all on our software progress.</p>
<h2>Conferences</h2>
<p>A couple of blog posts back, we mentioned that our hardware engineer gave a talk at KiCon—and it is <a href="https://www.youtube.com/watch?v=k_CKT6hr7IM" target="_blank" rel="noopener">available for watching now</a>!</p>
<p>Also, recently Tobias Bernard attended the Libre Graphics Meeting, where he had lots of conversation around the future photo viewing application for the Librem 5 phone.</p>
<h2>Applications</h2>
<h3>Libhandy</h3>
<p><a href="https://puri.sm/posts/the-new-libhandy-0-0-10/" target="_blank" rel="noopener">Libhandy v0.0.10 was released</a> and has a slew of cool new widgets! In summary, the new widgets are:</p>
<ul>
<li>HdyViewSwitcher: a view switcher which can automatically adjust its layout to fit narrow screens</li>
<li>HdySqueezer: a widget that allows switching where the view switcher is</li>
<li>HdyHeaderBar: an advanced header bar</li>
<li>HdyPreferencesWindow: an adaptive preferences window for all applications</li>
</ul>
<p>A nice aesthetic change is that <a href="https://source.puri.sm/Librem5/libhandy/issues/95">HdyComboRow handles long labels better now—by ellipsizing them</a>.</p>
<p>Below you can see how HdyViewSwitcher makes the Clocks application adaptive.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64261-32" width="640" height="360" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4?_=32" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.webm?_=32" /><a href="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4">https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4</a></video></div>
<p>Below you can see how the HdyPreferencesWindow is used in GNOME Web to make the preferences window adaptive.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64261-33" width="640" height="360" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4?_=33" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.webm?_=33" /><a href="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4">https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4</a></video></div>
<p>We also <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/272">improve</a><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/272">d Libhandy&#8217;s test suite</a>.</p>
<h3>Calls</h3>
<p>Work has continued to extend <a href="https://source.puri.sm/Librem5/wys">wys </a>to <a href="https://source.puri.sm/Librem5/use-cases/issues/72">instantiate PulseAudio&#8217;s loopback module</a>—which ties the modem&#8217;s and codec&#8217;s ALSA devices together when a call is activated, and de-instantiates the module when the call is terminated. Since this causes conflicts with <a href="https://source.puri.sm/Librem5/haegtesse">hægtesse</a>, a scheme was devised to keep both hægtesse and wys from running at the same time.</p>
<h3>Messaging</h3>
<p>A <a href="https://source.puri.sm/Librem5/chatty/tree/leland/chatty-history">chat history is being implemented via an SQLite database</a>. Thank you, Leland Carlyle, for all of your hard work in this area!</p>
<p><a href="https://source.puri.sm/Librem5/chatty/issues/23">Account verification has been added</a> so that now, when you add a new account, a connection is established to the server and (in case of failure) the user is alerted. Thanks to Benedikt Wildenhain for the patch!</p>
<h4>XMPP</h4>
<p>We are very committed to providing encrypted messaging when the phone ships, so we have made an extra effort to implement OMEMO encryption, via the <a href="https://github.com/gkdr/lurch" target="_blank" rel="noopener">Lurch<br />
plugin</a>. Recent changes in this plugin have led us to ongoing <a href="https://source.puri.sm/Librem5/chatty/issues/118">integration and testing</a> with Chatty.</p>
<p>There is a padlock symbol in the message bar now, indicating whether the chat is encrypted or not. You can also view your fingerprint—as well as your conversation partner&#8217;s fingerprints (see example below). Thanks, Richard Bayerle, for all of your work on the Lurch plugin!</p>
<p><img class="aligncenter wp-image-64270 size-full" src="https://puri.sm/wp-content/uploads/2019/06/722-682-max.png" alt="" width="722" height="682" srcset="https://puri.sm/wp-content/uploads/2019/06/722-682-max.png 722w, https://puri.sm/wp-content/uploads/2019/06/722-682-max-300x283.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></p>
<h3>Web Browsing</h3>
<p>GNOME Web will benefit from the new widgets released in Libhandy 0.0.10, as mentioned above. Additionally, since recent testing has identified some bugs in GNOME Web, our development team has been looking into some of these issues. The outcome has been the reporting of many of those issues upstream.</p>
<h3>Initial Setup</h3>
<p>We plan to deliver GNOME Initial Setup in the first shipment of the phone—because it is very important for setting up your environment. Before any major porting effort was possible, though, some <a href="https://source.puri.sm/Librem5/design/issues/9">d</a><a href="https://source.puri.sm/Librem5/design/issues/9">esign effort was needed</a>—and now porting work is underway!</p>
<h2>System</h2>
<p>So many exciting things are happening at the system level!</p>
<p>After many revisions, the <a href="https://lkml.org/lkml/2019/6/18/509" target="_blank" rel="noopener">librem5-devkit device-tree has been accepted upstream</a>. To prepare for this, the same device tree name is used both <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/30">in the kernel</a> and <a href="https://source.puri.sm/Librem5/flash-kernel/merge_requests/9">in </a><a href="https://source.puri.sm/Librem5/flash-kernel/merge_requests/9">the flash-kernel </a>as well.</p>
<p>The devkit image went through lots of changes, too. <a href="https://source.puri.sm/Librem5/phoc/issues/14">Wlroots v0.6.0 is now available</a>, and contains many of our necessary changes. To make the overall experience look nicer, the shell now <a href="https://source.puri.sm/Librem5/phosh/merge_requests/177">prefers the dark theme</a>, and <a href="https://source.puri.sm/Librem5/phosh/merge_requests/188">the keyboard auto-hides when the app drawer is opened</a>. <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/59">Detecting corrupted downloads of images has been made faster</a> by adding a size verification. Thanks to Hugo Grostabussiat for the patch! The devkit <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/29">image has support for the camera</a>, too&#8211;and below you can see the devkit&#8217;s first selfie 🙂</p>
<p><img class="aligncenter wp-image-64271 size-medium" src="https://puri.sm/wp-content/uploads/2019/06/473-446-max-300x283.png" alt="Devkit first selfie " width="300" height="283" srcset="https://puri.sm/wp-content/uploads/2019/06/473-446-max-300x283.png 300w, https://puri.sm/wp-content/uploads/2019/06/473-446-max.png 473w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>Several areas of the kernel have seen major improvements, and we are now very close to some important milestones. One such area is forward porting patches so that the images built for the devkit can switch from a 4.18 to a 5.2 kernel, and we&#8217;re almost there! <a href="https://arm01.puri.sm/job/manual/job/devkit-latest_linux-next_image_build/" target="_blank" rel="noopener">You can find a recent image build with the 5.2 kernel here</a>.</p>
<p>With the new kernel, you will be able to <a href="https://source.puri.sm/Librem5/linux-next/issues/32">long press the power button to turn on the devkit</a>, and use <a href="https://source.puri.sm/Librem5/linux-next/issues/16">suspend/res</a><a href="https://source.puri.sm/Librem5/linux-next/issues/16"><span style="background: transparent;">ume</span></a>. To help better detect SoC revisions, a<span style="background: transparent;">n<span style="background: transparent;"> <a href="http://lists.infradead.org/pipermail/linux-arm-kernel/2019-May/651409.html" target="_blank" rel="noopener">RFC<br />
patch</a> has been sent to improve this. Working towards improving the power management, we are testing cpufreq and <a href="https://source.puri.sm/Librem5/linux-next/issues/22">preparing some cpuidle tests</a>.</span></span></p>
<p>A lot of effort has been put into debugging the sound on the 5.2 kernel. After many hours of work, we have discovered that ATF was blocking access to the aips regions—and upstream ATF has it fixed now!</p>
<p>On the shell side of things, phosh has been <a href="https://source.puri.sm/Librem5/phosh/merge_requests/194">made a polkit agent</a> (so things like GNOME Software can ask for elevated credentials). We made some other improvements, like <a href="https://source.puri.sm/Librem5/phosh/merge_requests/188">hiding the OSK when it&#8217;s not needed</a>, <a href="https://source.puri.sm/Librem5/phosh/merge_requests/189">remov</a><a href="https://source.puri.sm/Librem5/phosh/merge_requests/189">ing the weekday/date from the lock screen</a>, and making it <a href="https://source.puri.sm/Librem5/phosh/merge_requests/192">easier to use Glade with phosh</a>. Since a compositor switch is coming soon, the team applied many improvements to the new compositor, phoc (phone compositor). We will be showcasing this new compositor soon, so stay tuned for that!</p>
<p>Also, and to get us closer to separating the bootloader from the OS, we have been putting a lot of effort into <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/issues/10">plac</a><a href="https://source.puri.sm/Librem5/librem5-devkit-tools/issues/10">ing u-boot in the MMC area</a>. <a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/14">Flash has been enabled in u-boot</a>, so that the DDR PHY firmware can be written to flash. Thank you so much, Kyle Evans, for <a href="https://source.puri.sm/fuzzy7k/u-boot/tree/wip-mainline">the work on mainline u-boot</a>!</p>
<p>The work on the graphics stack continues, too. To work towards mainline GC7000 GPU support, we <a href="https://gitlab.freedesktop.org/mesa/mesa/merge_requests/970" target="_blank" rel="noopener">folded the etnaviv part of libdrm into mesa</a> upstream. Our thanks to Christian Gmeiner and Dylan Baker for the review! To take a look at the graphics on the devkit, check the Quake II demo below.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64261-34" width="640" height="362" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/q2.mp4?_=34" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/q2.webm?_=34" /><a href="https://puri.sm/wp-content/uploads/2019/06/q2.mp4">https://puri.sm/wp-content/uploads/2019/06/q2.mp4</a></video></div>
<h2>Documentation</h2>
<p>To improve the devkit unboxing experience, lots of<a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/263"> how-to guides have been added or updated</a>:</p>
<ul>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Building_uuu.html" target="_blank" rel="noopener">Building uuu</a> &#8211; uuu is the tool used to flash the devkit image</li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Flashing_eMMC.html" target="_blank" rel="noopener">Flashing eMMC</a></li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/HDMI.html" target="_blank" rel="noopener">Using HDMI</a></li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Making_Cases.html" target="_blank" rel="noopener">Making cases</a></li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Testing_Factory_Image.html" target="_blank" rel="noopener">Testing a factory image</a></li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Updating_Software.html" target="_blank" rel="noopener">Updating the software</a></li>
</ul>
<p>Some more noteworthy updates have been added to the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Known_Issues.html#status-of-subsystems" target="_blank" rel="noopener">Status of Subsystems</a> page and the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Simple_Input_Output.html" target="_blank" rel="noopener">devkit peripheral software interfaces</a>.</p>
<p>A big “Thanks!” to everyone that has helped review, and merge changes, into upstream projects; your time and contribution are much appreciated. And that’s all for now, folks—stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-june-software-update/">Librem 5 June Software Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.webm" length="959005" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4" length="846302" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.webm" length="1258892" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4" length="551131" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/q2.webm" length="2042030" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/q2.mp4" length="2593481" type="video/mp4" />
		</item>
		<item>
		<title>The New libhandy 0.0.10</title>
		<link>https://puri.sm/posts/the-new-libhandy-0-0-10/</link>
		<pubDate>Mon, 17 Jun 2019 12:15:23 +0000</pubDate>
		<dc:creator><![CDATA[Adrien Plazas]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64140</guid>
		<description><![CDATA[<p>Libhandy 0.0.10 just got released, and you can get this new version here. It comes with a few new adaptive widgets for your GTK app we’d like to tell you about: The View Switcher GNOME applications typically use a GtkStackSwitcher to switch between their views. This design works fine on a desktop, but not so [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-new-libhandy-0-0-10/">The New libhandy 0.0.10</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Libhandy 0.0.10 just got released, and you can get this new version <a href="https://source.puri.sm/Librem5/libhandy/tags/v0.0.10">here</a>. It comes with a few new adaptive widgets for your GTK app we’d like to tell you about:</h2>
<h3>The View Switcher</h3>
<p>GNOME applications typically use a GtkStackSwitcher to switch between their views. This design works fine on a desktop, but not so well on really narrow devices like mobile phones, so <a href="https://puri.sm/posts/author/tobias/">Tobias Bernard</a> designed a more modern and adaptive replacement – now available in libhandy as the HdyViewSwitcher:<img class="aligncenter wp-image-64163 size-large" src="https://puri.sm/wp-content/uploads/2019/06/adaptive-view-switcher-modes-ad-1024x597.png" alt="Adaptive view switcher" width="640" height="373" srcset="https://puri.sm/wp-content/uploads/2019/06/adaptive-view-switcher-modes-ad-1024x597.png 1024w, https://puri.sm/wp-content/uploads/2019/06/adaptive-view-switcher-modes-ad-300x175.png 300w, https://puri.sm/wp-content/uploads/2019/06/adaptive-view-switcher-modes-ad-768x448.png 768w, https://puri.sm/wp-content/uploads/2019/06/adaptive-view-switcher-modes-ad.png 1200w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>In many ways, the HdyViewSwitcher functions very similarly to a GtkStackSwitcher: you assign it a GtkStack containing your application&#8217;s pages, and it will display a row of side-by-side, homogeneously-sized buttons, each one representing a page. It differs in that it can display both the title <em>and</em> the icon of your pages, and that the layout of the buttons automatically adapts to a narrower version, depending on the available width. We have also added a view switcher bar, designed to be used at the bottom of the window: HdyViewSwitcherBar (and we’d like to thank Zander Brown for the prototypes!).</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64140-35" width="640" height="360" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4?_=35" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.webm?_=35" /><a href="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4">https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4</a></video></div>
<h3>The Squeezer</h3>
<p>To complete the view switcher design, we needed a way to automatically switch between having a view switcher in the header bar, and a view switcher bar at the bottom of the window.</p>
<p>We added HdySqueezer; give it widgets, and it shows the first one that fits in the available space. A common way to use it would be:</p>
<pre>&lt;object class="GtkHeaderBar"&gt;
  &lt;property name="title"&gt;Application&lt;/property&gt;
  &lt;child type="title"&gt;
    &lt;object class="HdySqueezer"&gt;
      &lt;property name="transition-type"&gt;crossfade&lt;/property&gt;
      &lt;signal name="notify::visible-child" handler="on_child_changed"/&gt;
      &lt;child&gt;
        &lt;object class="HdyViewSwitcher" id="view_switcher"&gt;
          &lt;property name="stack"&gt;pages&lt;/property&gt;
        &lt;/object&gt;
      &lt;/child&gt;
      &lt;child&gt;
        &lt;object class="GtkLabel" id="title_label"&gt;
          &lt;property name="label"&gt;Application&lt;/property&gt;
          &lt;style&gt;
            &lt;class name="title"/&gt;
          &lt;/style&gt;
        &lt;/object&gt;
      &lt;/child&gt;
    &lt;/object&gt;
  &lt;/child&gt;
&lt;/object&gt;
<code></code></pre>
<p>In the example above, if there is enough space the view switcher will be visible in the header bar; if not, a widget mimicking the window&#8217;s title will be displayed. Additionally, you can reveal or conceal a HdyViewSwitcherBar at the bottom of your window, depending on which widget is presented by the squeezer, and show a single view switcher at a time.</p>
<h3>Another Header Bar?</h3>
<p>To make the view switcher work as intended, we need to make sure it is always strictly centered; we also need to make sure the view switcher fills all the height of the header bar. Both of these are unfortunately not possible with GtkHeaderBar in GTK 3, so I forked it as HdyHeaderBar to, first, make sure it does not force its title widget to be vertically centered, and hence to allow it to fill all the available height; and second, to allow for choosing between strictly or loosely centering its title widget (similarly to GtkHeaderBar).</p>
<h3>The Preferences Window</h3>
<p>To simplify writing modern, adaptive and featureful applications, I wrote a generic preferences window you can use to implement your application&#8217;s preferences window: HdyPreferencesWindow – and organized it this way:</p>
<p>• the window contains pages implemented via HdyPreferencesPage;</p>
<p>• pages have a title, and contain preferences groups implemented via HdyPreferencesGroup;</p>
<p>• groups can have a title, a description, and preferences implemented via rows (HdyPreferencesRow) or any other widget;</p>
<p>• preferences implemented via HdyPreferencesRow have a name, and can be searched via their page title, group title or name;</p>
<p>• HdyActionRow is a derivative of HdyPreferencesRow, so you can use it (and its derivatives) to easily implement your preferences.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64140-36" width="640" height="360" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.mp4?_=36" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.webm?_=36" /><a href="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.mp4">https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.mp4</a></video></div>
<p>The next expected version of libhandy is libhandy 1.0. It will come with quite a few API fixes, which is why a major version number bump is required. libhandy&#8217;s API has been stable for many versions now, and we will guarantee that same stability starting from version 1.0.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-new-libhandy-0-0-10/">The New libhandy 0.0.10</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.webm" length="959005" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4" length="846302" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.webm" length="1258892" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.mp4" length="689683" type="video/mp4" />
		</item>
		<item>
		<title>Todd Weaver on Digital Trends Live</title>
		<link>https://puri.sm/posts/todd-weaver-on-digital-trends-live/</link>
		<pubDate>Thu, 13 Jun 2019 17:55:06 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64173</guid>
		<description><![CDATA[<p>Data privacy and security are important for all of us, no matter if we are talking about a corporation or just somebody who’s on a social network. I have just had a wonderful conversation with Greg Nibler, from Digital Trends Live, about all kinds of different ways these issues are being tackled. Greg started by [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/todd-weaver-on-digital-trends-live/">Todd Weaver on Digital Trends Live</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Data privacy and security are important for all of us, no matter if we are talking about a corporation or just somebody who’s on a social network.</h2>
<p>I have just had a wonderful conversation with Greg Nibler, from Digital Trends Live, about all kinds of different ways these issues are being tackled. Greg started by asking me to introduce Purism, and why we do what we do.</p>
<p>Well, we started around 2014 as a Social Purpose Company: we advance social good over maximizing profit. We build <a href="/products/" target="_blank" rel="noopener">laptops</a>, a secure token called a Librem Key, and we are also coming out with the <a href="/products/librem-5/" target="_blank" rel="noopener">Librem 5</a>: a smartphone that doesn’t run on Android nor IOS, but our own operating system <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a> (the same you get on our laptops). These are available today, with the Librem 5 phone (on pre-order now) coming out in Q3 of this year. Our <a href="https://librem.one/" target="_blank" rel="noopener">services</a>—chat, email, social media, VPN—are all standardized protocols, decentralized, with no data retention and end-to-end encrypted. We are going to continue to put out more and more hardware, software, and services as we progress.</p>
<p>I’m kind of a hardcore geek, both in the hardware and software side—but I also am a digital rights activist, making Purism my dream come true by combining hardware, software and services together, in one convenient package. What is awesome is that our entire team is excited about the exact same thing: making convenient products that respect people. Hardware is a little bit more security-minded and privacy-focused, it is where the <em>hardcore</em> audience is: it really gets down to a trust and verified model. The same happens with software: it all needs to be released.</p>
<h3>It’s just like with organic food – you have to inspect the soil, so regulators can say ‘hey, this is actually organic’. We do that same entire model within the hardware realm: we release everything for verification, and that gives us peace of mind at that low level—all the way up to services.</h3>
<p>We also believe services should always be end-to-end encrypted, and they should never track people. We bundle all of our ethical services together into one package, and if we hand you a laptop you don’t have to know that the schematics were released, that the software was all released. What we offer was built by a Social Purpose Company, you can just turn it on and use it.</p>
<figure id="attachment_62611" style="width: 640px" class="wp-caption aligncenter"><img class="wp-image-62611 size-large" src="https://puri.sm/wp-content/uploads/2019/02/kill-switches-1024x683.png" alt="Kill-switches on a Librem laptop" width="640" height="427" srcset="https://puri.sm/wp-content/uploads/2019/02/kill-switches-1024x683.png 1024w, https://puri.sm/wp-content/uploads/2019/02/kill-switches-300x200.png 300w, https://puri.sm/wp-content/uploads/2019/02/kill-switches-768x512.png 768w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption class="wp-caption-text">Kill-switches on a Librem laptop</figcaption></figure>
<p>Greg was curious about the kill-switches we install in our laptops: I told him it’s kind of an old thing, a reboot of the kill-switches on early devices – just like a light switch, it allows you to toggle off the hardware. You can physically sever the circuit of the webcam and microphone, so they don&#8217;t have any power to the actual device.</p>
<p>And they are really, really easy to use. We are going to have them on the Librem 5 phone as well, so you can turn the webcam and microphone off, Wi-Fi and Bluetooth, even the cellular connection if you want to. Why don&#8217;t Big Tech companies use these any longer? It was easy to do it in software; then it became this trust issue, where you could have your webcam on even though the light didn’t come on… What’s fascinating is we’re actually starting to see Big Tech companies use these, and a few other devices, because of these privacy-invading concerns. Big Tech is going to be pushing this privacy talk as well—even though it’s more a marketing thing than related to any type of credibility.</p>
<h3>How do I see these issues evolving? They are clearly going to continue to grow around how much data is being gathered, where things are joining together, and data leakage. Data retention policies are going to start coming out: how long somebody holds the data for, what data is being stored, how all of these little bits of data add up to a giant story about you—and how that story is exploited.</h3>
<p>We ended the interview with a clear notion of what Purism is—successfully, ethically—competing against. It was a cool chat, do watch the video and listen to the <a href="https://www.digitaltrends.com/digital-trends-live/episode-149/?utm_source=unkown&amp;utm_medium=social&amp;utm_campaign=dtlive#Weaver">full version here</a>. And thank you, Greg Nibler and Digital Trends Live!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/todd-weaver-on-digital-trends-live/">Todd Weaver on Digital Trends Live</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>&#8220;See Your Junk&#8221; &#8211; Behind the scenes</title>
		<link>https://puri.sm/posts/see-your-junk-behind-the-scenes/</link>
		<pubDate>Wed, 12 Jun 2019 14:28:08 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63598</guid>
		<description><![CDATA[<p>At Purism, we aim to promote privacy and freedom through the use of free software (and we see it as ethical software). When we work, and in order to produce our content&#8211;such as what you see in this page&#8211;we use free software, too. And so, with a small budget and some basic audio and video [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/see-your-junk-behind-the-scenes/">&#8220;See Your Junk&#8221; &#8211; Behind the scenes</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63598-37" width="640" height="360" poster="https://videos.puri.sm/librem-one/making-of/poster.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://videos.puri.sm/librem-one/making-of/see-your-junk_making-of.mp4?_=37" /><source type="video/webm" src="https://videos.puri.sm/librem-one/making-of/see-your-junk_making-of.webm?_=37" /><a href="https://videos.puri.sm/librem-one/making-of/see-your-junk_making-of.mp4">https://videos.puri.sm/librem-one/making-of/see-your-junk_making-of.mp4</a></video></div>
<p>At Purism, we aim to promote privacy and freedom through the use of free software (and we see it as ethical software). When we work, and in order to produce our content&#8211;such as what you see in this page&#8211;we use free software, too. And so, with a small budget and some basic audio and video gear, along with a few Librem laptops (running free software only, of course), we have made this video the ethical way, using ethical tools from beginning to end.</p>
<h2>Pre-production</h2>
<p>Pre-production took us the longest, and kept us working for quite some time&#8211;we ended up taking over a month to prepare everything. Todd, Purism&#8217;s founder and CEO, handed me a really funny script that he had written himself; I read it and started organizing the shoot with the help of Jenny Lavery, who did an amazing job of finding the perfect actors, location and props. <i> </i></p>
<p><img class="aligncenter size-large wp-image-63998" src="https://puri.sm/wp-content/uploads/2019/06/gimp-storyboard-1024x539.png" alt="" width="640" height="337" srcset="https://puri.sm/wp-content/uploads/2019/06/gimp-storyboard-1024x539.png 1024w, https://puri.sm/wp-content/uploads/2019/06/gimp-storyboard-300x158.png 300w, https://puri.sm/wp-content/uploads/2019/06/gimp-storyboard-768x404.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>After<i> </i>planning every shot I started drawing a storyboard, using <a href="https://www.gimp.org/" target="_blank" rel="noopener">GIMP</a>, my Librem 13, and a simple graphics tablet.</p>
<h2>Shooting</h2>
<p>Once everything was planned for, I packed my suitcase and traveled to Austin, Texas, with Therry Cazorla, a fellow French countryman. Therry is the director of photography with whom I have been working for years.</p>
<p><img class="aligncenter size-full wp-image-64000" src="https://puri.sm/wp-content/uploads/2019/06/shooting.png" alt="" width="1015" height="568" srcset="https://puri.sm/wp-content/uploads/2019/06/shooting.png 1015w, https://puri.sm/wp-content/uploads/2019/06/shooting-300x168.png 300w, https://puri.sm/wp-content/uploads/2019/06/shooting-768x430.png 768w" sizes="(max-width: 1015px) 100vw, 1015px" /></p>
<p>We were so lucky with the weather; the weather is always a big question mark, and a nightmare in what comes to delaying everything, when shooting outside. I had planned on spending two full days shooting the entire video, but everything went so well&#8211;and everybody was so professional&#8211;that we ended up managing to shoot it in just one day, which was amazing!</p>
<p><img class="aligncenter size-medium wp-image-64013" src="https://puri.sm/wp-content/uploads/2019/06/magic-lantern-logo2-300x118.png" alt="" width="300" height="118" srcset="https://puri.sm/wp-content/uploads/2019/06/magic-lantern-logo2-300x118.png 300w, https://puri.sm/wp-content/uploads/2019/06/magic-lantern-logo2.png 510w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>Like I said before, we chose to use free software only. That choice led us to shoot with a camera that is compatible with <a href="https://magiclantern.fm/" target="_blank" rel="noopener">Magic Lantern</a>, a free software add-on that… well, <i>adds</i> features to the camera we used, and that also allowed us to shoot in RAW format&#8211;i.e., straight from the sensor and generating an uncompressed file, resulting in the maximum possible raw image quality.</p>
<p><img class="aligncenter size-large wp-image-64015" src="https://puri.sm/wp-content/uploads/2019/06/mlvapp-1024x541.png" alt="" width="640" height="338" srcset="https://puri.sm/wp-content/uploads/2019/06/mlvapp-1024x541.png 1024w, https://puri.sm/wp-content/uploads/2019/06/mlvapp-300x159.png 300w, https://puri.sm/wp-content/uploads/2019/06/mlvapp-768x406.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>The RAW format is also very useful for it allowed me to process the <i>look</i> of our initial footage as soon as I finished recording; I used a software called <a href="https://github.com/ilia3101/MLV-App" target="_blank" rel="noopener">MLV-App</a> to do just that, because it lets me analyze my raw footage and apply a flat look to it. This is a personal preference, it’s what I prefer to do regarding color grading technique and results. Everything flowed so well I managed to put together a first, rough edit, the very day we finished shooting.</p>
<h2>Post production</h2>
<p>Shooting in the USA was fun, but once we finished I had to travel back to France, to my home studio, where I had all the material I needed to start editing.</p>
<h3>Video editing</h3>
<p>I used <a href="https://kdenlive.org/" target="_blank" rel="noopener">Kdenlive</a> to edit the video; it is a very complete, very professional, free software, non-linear video editor.</p>
<p><img class="aligncenter size-large wp-image-64018" src="https://puri.sm/wp-content/uploads/2019/06/l15-kdenlive-1024x576.jpg" alt="" width="640" height="360" srcset="https://puri.sm/wp-content/uploads/2019/06/l15-kdenlive-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2019/06/l15-kdenlive-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2019/06/l15-kdenlive-768x432.jpg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>I now had the perfect opportunity to test the new Librem 15 with a 4k screen… having this video to finish meant I was simultaneously able to test hardware and software in a real project, and help developers improve product experience. And so I made a first cut of the video, and started to edit the audio.</p>
<h4>Audio editing</h4>
<p>Audio quality plays a big part in the overall quality of the final, resulting video. I would even go a step further and say the quality of the audio is perhaps more important than that of the image, when making a professional-grade video (but feel free to disagree).</p>
<p><img class="aligncenter size-large wp-image-64019" src="https://puri.sm/wp-content/uploads/2019/06/kdenlive-to-ardour-1024x576.jpg" alt="" width="640" height="360" srcset="https://puri.sm/wp-content/uploads/2019/06/kdenlive-to-ardour-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2019/06/kdenlive-to-ardour-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2019/06/kdenlive-to-ardour-768x432.jpg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>In order to professionally edit the audio, I had to export my timeline from the video editor to a proper audio editor—<a href="https://ardour.org/" target="_blank" rel="noopener">Ardour</a>, in this case. This import/export feature exists neither in Kdenlive nor in Ardour, but I needed it and had to find a solution—and this is one of the great advantages of using free software: that it is public and belongs to its users, making creating a missing feature (and giving it back to the community) something very doable. And that’s exactly what I did: I created a python script that converts the timeline from my <i>video</i> editor into a timeline for my <i>audio</i> editor. If you want it, you can get it in our <a href="https://source.puri.sm/francois.techene/mlt2ardour" target="_blank" rel="noopener">Gitlab repository</a>.</p>
<p><img class="aligncenter size-large wp-image-64021" src="https://puri.sm/wp-content/uploads/2019/06/builder-mlt2ardour-1024x416.jpg" alt="" width="640" height="260" srcset="https://puri.sm/wp-content/uploads/2019/06/builder-mlt2ardour-1024x416.jpg 1024w, https://puri.sm/wp-content/uploads/2019/06/builder-mlt2ardour-300x122.jpg 300w, https://puri.sm/wp-content/uploads/2019/06/builder-mlt2ardour-768x312.jpg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>This allowed me to perfectly edit my audio, using very professional free software tools; it guaranteed a smooth, even sound, where the cuts between different shots are impossible to hear. Afterwards I added some extra ambient noise to ensure continuity and to give a bit more <i>color&#8211;w</i>hich leads us to the subject of our next chapter.</p>
<h4>Color grading</h4>
<p><img class="aligncenter size-large wp-image-64026" src="https://puri.sm/wp-content/uploads/2019/06/kdenlive-color-1024x540.jpg" alt="" width="640" height="338" srcset="https://puri.sm/wp-content/uploads/2019/06/kdenlive-color-1024x540.jpg 1024w, https://puri.sm/wp-content/uploads/2019/06/kdenlive-color-300x158.jpg 300w, https://puri.sm/wp-content/uploads/2019/06/kdenlive-color-768x405.jpg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>The color of each individual take was then worked in order to guarantee its consistency over the whole video. I later applied a global (meaning, to the whole video sequence) color grading, to give it a consistent style and tone. I like to work over very flat footage that is low in saturation and contrast. I then add some contrast with a bleach bypass effect, and do the final tweaks on the curves and levels filters. The graph monitors in Kdelive let me adjust colors and levels with a high degree of precision—and I can be sure that colors are just right, that my eyes are not tricking me.</p>
<h4>Motion design</h4>
<p>I added some text effects at the end of the video: mostly, over the Librem One logo.</p>
<p><img class="aligncenter size-large wp-image-64029" src="https://puri.sm/wp-content/uploads/2019/06/blender-1024x541.jpg" alt="" width="640" height="338" srcset="https://puri.sm/wp-content/uploads/2019/06/blender-1024x541.jpg 1024w, https://puri.sm/wp-content/uploads/2019/06/blender-300x158.jpg 300w, https://puri.sm/wp-content/uploads/2019/06/blender-768x406.jpg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>I made all my text animations in <a href="https://www.blender.org/" target="_blank" rel="noopener">Blender</a>, an amazing 3D free software application with very powerful compositing and animation features.</p>
<p><img class="aligncenter size-large wp-image-64022" src="https://puri.sm/wp-content/uploads/2019/06/opentoonz-1024x576.jpg" alt="" width="640" height="360" srcset="https://puri.sm/wp-content/uploads/2019/06/opentoonz-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2019/06/opentoonz-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2019/06/opentoonz-768x432.jpg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>You might have noticed a subtle light effect in the logo animation (just before the rainbow appears)&#8211;it’s actually a handmade, traditional animation made with <a href="https://opentoonz.github.io/e/" target="_blank" rel="noopener">OpenToonz</a>, a free software app that was also used for some of the biggest productions of the Japanese anime industry.</p>
<p>That&#8217;s it, and thank you for your time&#8211;it was fun 🙂</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63598-38" width="640" height="360" poster="https://videos.puri.sm/librem-one/poster.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://videos.puri.sm/librem-one/see-your-junk.mp4?_=38" /><source type="video/webm" src="https://videos.puri.sm/librem-one/see-your-junk.webm?_=38" /><a href="https://videos.puri.sm/librem-one/see-your-junk.mp4">https://videos.puri.sm/librem-one/see-your-junk.mp4</a></video></div>
<h3><strong>The participants</strong><strong>:</strong></h3>
<p><strong>Andre Martin </strong>as The Husband</p>
<p><strong>Will Moleon</strong> as The Enlightened One</p>
<p><strong>Karina Dominguez</strong> as The Wife</p>
<p><strong>Christine Hoang</strong> as The Neighbor</p>
<p><strong>Tom Costello Jr.</strong> as The Gardener</p>
<p><strong>Sanjay Rao</strong> as The Business Man</p>
<p><strong>Giselle Marie Munoz</strong> as The Business Woman</p>
<p><strong>Bryan Lunduke</strong> as The Voice-Over</p>
<h3><strong>The</strong><strong> crew</strong><strong>:</strong></h3>
<p><strong>Jenny Lavery</strong> co-producer, casting director and clapperboard</p>
<p><strong>Camille Westmoland</strong> makeup artist</p>
<p><strong>Blake Addyson</strong> sound engineer</p>
<p><strong>Thierry Cazorla </strong>director of photography</p>
<p><strong>Todd Weaver</strong> producer, screenwriter (and co-directed the actors, too)</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/see-your-junk-behind-the-scenes/">&#8220;See Your Junk&#8221; &#8211; Behind the scenes</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://videos.puri.sm/librem-one/making-of/see-your-junk_making-of.webm" length="103884981" type="video/webm" />
<enclosure url="https://videos.puri.sm/librem-one/making-of/see-your-junk_making-of.mp4" length="110682095" type="video/mp4" />
<enclosure url="https://videos.puri.sm/librem-one/see-your-junk.webm" length="23852926" type="video/webm" />
<enclosure url="https://videos.puri.sm/librem-one/see-your-junk.mp4" length="9870159" type="video/mp4" />
		</item>
		<item>
		<title>With Purism Products, You Are in Control</title>
		<link>https://puri.sm/posts/with-purism-products-you-are-in-control/</link>
		<pubDate>Thu, 06 Jun 2019 13:53:01 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[User empowerment]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63966</guid>
		<description><![CDATA[<p>From its beginning, Purism&#8217;s focus has been on building products that respect and protect your privacy, security and freedom. I&#8217;ve written about how these three concepts are interdependent before. While Purism is somewhat unique in focusing on all three of these concepts at once, it isn&#8217;t the only company that builds products aimed at protecting [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/with-purism-products-you-are-in-control/">With Purism Products, You Are in Control</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>From its beginning, Purism&#8217;s focus has been on building products that respect and <a href="https://puri.sm/about/social-purpose/">protect your privacy, security and freedom</a>. I&#8217;ve written about <a href="https://puri.sm/posts/why-freedom-is-essential-to-security-and-privacy/">how these three concepts are interdependent</a> before. While Purism is somewhat unique in focusing on <i>all three </i>of these concepts at once, it isn&#8217;t the only company that builds products aimed at protecting privacy, security or even freedom. In fact, each of these areas are multibillion-dollar industries.</p>
<p>Security is a huge industry today, and it continues to grow, with companies releasing new products all the time&#8211;products they claim will protect you. Privacy is also hot topic right now, with <a href="https://www.zdnet.com/article/facebooks-mark-zuckerberg-the-future-is-private/">many</a> <a href="https://www.washingtonpost.com/technology/2019/05/07/google-vows-greater-user-privacy-after-decades-data-collection/">companies</a> making sure they include &#8220;privacy&#8221; <a href="https://puri.sm/posts/apple-is-right-about-privacy-but-wrong-about-freedom/">in their marketing</a>. There is also an entire industry around products built on free software&#8211;even Microsoft recently pivoted over to supporting software freedom in its products.</p>
<p>Even with all these companies focusing on the same topics, Purism stands apart from the crowd. How? In our <em>approach.</em> Most other companies build products that coincidentally put them, the vendor, in control. From the beginning, <strong>Purism has designed all its products to empower the user</strong>, not the vendor. All of our products show this approach&#8211;and this post will highlight some of our user-empowerment design decisions.</p>
<h1>Control Your Hardware</h1>
<p>It is more and more difficult to find laptops that are easy to upgrade and repair. Some cases even demand for experts with special tools and quite a bit of effort to do something as simple as a RAM upgrade (if it&#8217;s not soldered on), to replace a hard drive, or to replace a battery. Some vendors justify this by pointing at design sensibilities, but it coincidentally also means you are more likely to <em>buy the more expensive versions</em> of their laptops even if you don&#8217;t need the extra resources. Some vendors go even further to control who can upgrade or repair the hardware, and use DRM and security chips to make it difficult to use third-party hardware.</p>
<p>Our laptops have visible Philips screws on the bottom. You can remove the bottom case yourself, without any special tools and without Purism&#8217;s permission, and get access to the RAM, drive bays and the battery&#8211;and <strong>replace them yourself</strong>. We added simple <a href="https://puri.sm/learn/hardware-kill-switches/">hardware kill switches</a> so you can control the webcam, microphone and WiFi hardware&#8211;no need for special software.</p>
<h1>Control Your Software</h1>
<p>Vendors love using software to lock customers into their ecosystem. Proprietary software and proprietary operating systems have been doing this for decades and in that world if you want new features and in some cases even security updates, you have to pay the vendor for the privilege. If the vendor removes a feature, changes a default, or even completely changes the program, you don&#8217;t have much recourse. As long as you use that vendor for everything, things might work OK, but the moment someone else offers a better alternative, you discover just how little power you have to switch.</p>
<p>Purism ships its hardware with free software, starting with <a href="https://puri.sm/coreboot">coreboot boot firmware</a> all the way to the 100% free software <a href="https://pureos.net/">PureOS operating system</a>. By using free software, we put you in full control over all of the software on your system. You have the freedom to change any piece of software you like, you can install any OS you wish&#8211;and upgrades are free. <strong><b>By controlling the software, you also control the hardware</b></strong><b>. If you have to root </b><b>software</b><b>, you don&#8217;t really own it; with Purism hardware you don&#8217;t have to root anything.</b></p>
<h1>Control Your Security</h1>
<p>When you ask vendors to build a secure system, they end up designing something that keeps full trust and control in their hands, or else has no security at all. Vendors hold the keys to your security, not only because they don&#8217;t trust you to manage it, but also because it conveniently locks you into them. If you ask a vendor to secure the boot process, they design a system where every OS must get their approval (signature) before it can boot. If you ask them to secure your communications, their solution is to replace your current system with proprietary software and protocols <i>they</i> control.</p>
<p><strong>We believe you should hold the keys to your security</strong>. We have designed each of our security measures so that you are in control, not us. This is why we chose our <a href="https://puri.sm/posts/pureboot-the-high-security-boot-process/">PureBoot</a> solution over existing signature-based approaches that might lock you into us. With PureBoot you control all of the keys that <a href="https://puri.sm/posts/complete-pureboot-demo-and-more-progress/">protect your boot process</a> and can easily change them at any time. You can boot any OS you wish without having to get Purism&#8217;s approval or disable boot security. This is also why our <a href="https://puri.sm/products/librem-key/">Librem Key</a> uses open hardware, firmware and an industry-standard OpenPGP smart card to store your keys securely without any proprietary software. When we secure communications with <a href="https://puri.sm/posts/introducing-the-new-librem-chat/">Librem Chat</a> and <a href="https://puri.sm/posts/introducing-the-new-librem-mail/">Librem Mail</a>, we do it with end-to-end encryption. You hold all of the keys&#8211;so no one else, Purism included, can snoop on your communication.</p>
<h1>Control Your Phone</h1>
<p>The phone ecosystem takes even <i>more</i> control away from the user. Phones are harder to repair and upgrade than laptop hardware, and some require a hardware signature handshake so the vendor must approve any hardware peripherals (like headphones) you might attach. You can only install software the vendor has approved of ahead of time, and upgrade the OS if the vendor says you are allowed, unless you are willing to disable all security protections in the OS and root your phone.</p>
<p class="western">Apple recently demonstrated the level of control it has over phone software when it <a href="https://www.nytimes.com/2019/01/31/technology/apple-blocks-facebook.html">removed Facebook&#8217;s internal iPhone apps</a>; Google demonstrated the control it holds over its own ecosystem when <a href="https://www.nytimes.com/2019/05/20/business/huawei-trump-china-trade.html">it revoked Huawei&#8217;s access to OS updates</a> as part of a larger trade war. With these controls in place, how much of your phone do you actually own?</p>
<p>The <a href="https://puri.sm/products/librem-5/">Librem 5</a> phone has been designed to put you back in control. By running free software, starting at the boot firmware and ending with PureOS, there&#8217;s nothing to root&#8211;you control the full stack. You also can remove the back and have access to the battery, a removable OpenPGP smart card, a removable cellular modem, and a microSD card so you can expand your storage later on. It also includes three hardware kill switches to give you control over the cameras and microphone, WiFi/Bluetooth and cellular modem&#8211;and you can combine all of them to <a href="https://puri.sm/posts/lockdown-mode-on-the-librem-5-beyond-hardware-kill-switches/">disable the rest of the sensors, in what we are calling &#8220;Lockdown Mode&#8221;</a> for even more control.</p>
<h1>Control Your Services</h1>
<p>Internet services are a major area where tech companies take control from their users. Ask any of these companies to create a network service, and they&#8217;ll invent one where all traffic <i>coincidentally</i> flows through them only, with proprietary clients, servers and protocols <i>they control</i>. You have multiple messaging apps on your phone not because of technical limitations, but because each of the big tech companies wants to lock you into their own proprietary network, and leverage network effects to keep you there. After locking you in to the platform, these companies then capture as much data as they can about you so they can sell access to it (and to <i>you</i>) to third parties. You end up with no control over your own data&#8211;or to how it is being used.</p>
<p class="western">We designed <a href="https://librem.one/">Librem One</a> to put you back in control of both your privacy, and your data. By creating a suite of decentralized and open-protocol services using free software servers and clients, and hosting it all under a central brand <a href="https://puri.sm/posts/whats-in-a-username/">with a single username</a>, you get all of the convenience of big tech services, but you actually control your data and the service itself. Since we fund Librem One on a standard subscription model, <a href="https://librem.one/policy/">we don&#8217;t collect your data, track you, or show you ads</a>.</p>
<p>Each Librem One service lets you communicate with any of the other networks on the Internet that speak the same open protocols (it’s just like being able to email friends regardless of what email provider they use). You can pick our branded Librem One apps for ease-of-use, or any of the <a href="https://puri.sm/posts/how-purism-works-upstream-and-gives-back/">excellent free software projects we based them on</a>. If you don&#8217;t need the convenience of Purism managing your services, you can even host your own versions of every service we run—we even plan on sharing how we set each of these services up, just to make it easier for you to host them <i>yourself</i> in the future.</p>
<h1>Control Social Media</h1>
<p>Social media is another area where tech companies have exercised control&#8211;not just over its users, but ultimately over speech on the Internet as a whole. Since they fund social media from ads (therefore, from your data and preferences), social media applications are focused on taking control over what information you see. That is why it is so difficult to get a social media application to sort by date&#8211;it&#8217;s more important for them to train their relevance algorithms, so they know which promoted posts to put in your feed. Everyone has become so used to giving up control over the rest of their lives, they are now asking those same companies to decide not just what they see in their feeds, but what speech is allowed on the Internet at all.</p>
<p class="western">It turns out that, while Big Tech companies are good at building technology, they are not human rights or censorship policy experts, and putting them in control of speech on the Internet has led to a lot of problems&#8211;<a href="https://www.nytimes.com/2019/05/06/technology/europe-tech-censorship.html">including the silencing of disaffected groups</a>&#8211;while not making anyone happy with their centralized moderation decisions. Centralized moderation also has a heavy human cost: it outsources the ugly task of sifting through the worst that the Internet has to offer to low-wage workers, <a href="https://www.engadget.com/2018/09/24/facebook-sued-over-moderator-mental-trauma/">often resulting in emotional and mental trauma</a>.</p>
<p>Some have advocated moving to a decentralized network like Mastodon in response. While the network <i>is</i> decentralized, the way the technology is built still puts control over what you see into the hands of the sysadmin who happens to be moderating your instance. Like in Big Tech companies, sysadmin are not human rights, or censorship, experts; since they are often doing this as a side hobby, their approach to moderation (however sincere their efforts) tends to <a href="http://wilwheaton.net/2018/08/the-world-is-a-terrible-place-right-now-and-thats-largely-because-it-is-what-we-make-it/">err on the side of whatever is easiest</a>, which tends to be censoring a post, or blocking a user or a network. This has led to a <a href="https://www.dailydot.com/debug/mastodon-fediverse-eugen-rochko/">chilling effect on political speech</a> in certain instances, harming some of the same minority groups the moderation policies aim to protect. If a moderator happens to share your values, you&#8217;re in luck; if not, your only recourse is looking for another instance.</p>
<p>At Purism, we have taken a completely different approach, with <a href="https://puri.sm/posts/introducing-librem-social/">Librem Social</a> aimed at putting you back into control of your social media. We recognize that we aren&#8217;t human rights or censorship policy experts, so we&#8217;ve deferred to the <a href="https://www.eff.org/deeplinks/2019/06/impact-extremist-speech-regulations-human-rights-content">real</a> <a href="https://www.kqed.org/forum/2010101871413/speech-police-navigates-social-media-regulation-free-speech-concerns">experts</a> in the <a href="https://www.newsbusters.org/blogs/culture/ashley-rae-goldenberg/2018/08/22/aclu-cautions-against-social-media-censorship">space</a> to help us define an approach to moderation; one that expands the anti-discrimination clause in our <a href="https://puri.sm/about/social-purpose/">Social Purpose charter</a>:</p>
<blockquote><p><strong>The Corporation will not discriminate against individuals, groups or fields of endeavor.</strong></p>
<p>The Corporation will allow any person, or any group of persons, in any field of endeavor to use its systems for whatever purpose.</p></blockquote>
<p>You shouldn&#8217;t have to outsource your trust to a vendor to be secure, you shouldn&#8217;t have to outsource your control to see only the content you want to see. We have added a policy against harassment and illegal activities so you can <a href="https://librem.one/stay-safe/">stay safe</a>, while modifying the existing Mastodon software Librem Social uses so you <a href="https://puri.sm/posts/opt-in-no-ads-and-no-tracking-solve-a-lot-of-problems-in-society/">only see content you opt into</a>.</p>
<p>This is a (great) start, and immediately solves a lot of problems for Librem Social users&#8211;but it still leaves some issues for the rest of the Mastodon instances without our opt-in approach. We have big plans to add features to Mastodon at large, <a href="https://source.puri.sm/liberty/smilodon/issues/6">features that give moderation control back to the users</a>, not only of Librem Social, but the entire Mastodon network. You should be in full control of the content you see, never having to rely on a central authority (even one you might trust, like Purism) to curate it for you. Whether you want to filter out adult content or politics, or to opt in to them, we aim to build tools that give you, not us, that power.</p>
<h1>User Empowerment</h1>
<p>All of Purism&#8217;s products are aimed at removing control from tech vendors (including ourselves) and giving freedom back to users. This is true in the free software we use throughout our hardware, the open standards (again, and free software) we use for our services, and in our approach to moderation for Mail, Chat and Social. You shouldn&#8217;t have to outsource all of your trust to a vendor to be secure, have privacy, or only see the content you want to see in social media. With Purism products, <strong>you are in control</strong>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/with-purism-products-you-are-in-control/">With Purism Products, You Are in Control</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 vs Android &#8212; Which boots faster?</title>
		<link>https://puri.sm/posts/librem-5-vs-android-which-boots-faster/</link>
		<pubDate>Wed, 05 Jun 2019 18:00:10 +0000</pubDate>
		<dc:creator><![CDATA[Bryan Lunduke]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64069</guid>
		<description><![CDATA[<p>A simple question: What boots faster &#8212; a run-of-the-mill Android phone or a Librem 5 smartphone running PureOS? We put the Librem 5 dev kit next to an HTC One, both powered completely off, then pushed the power buttons at the same time. The result&#8230; it wasn&#8217;t even close.  I almost feel bad for Android.  [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-vs-android-which-boots-faster/">Librem 5 vs Android &#8212; Which boots faster?</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A simple question: What boots faster &#8212; a run-of-the-mill Android phone or a <a href="https://puri.sm/products/librem-5/">Librem 5 smartphone</a> running <a href="https://puri.sm/products/librem-5/pureos-mobile/">PureOS</a>?</p>
<p>We put the Librem 5 dev kit next to an HTC One, both powered completely off, then pushed the power buttons at the same time.</p>
<p>The result&#8230; it wasn&#8217;t even close.  I almost feel bad for Android.  Almost.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64069-39" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/06/L5BootRace.png" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/L5BootRace-small.mp4?_=39" /><a href="https://puri.sm/wp-content/uploads/2019/06/L5BootRace-small.mp4">https://puri.sm/wp-content/uploads/2019/06/L5BootRace-small.mp4</a></video></div>
<p>(You can also watch this <a href="https://www.youtube.com/watch?v=q9loBFTZLF8">over on YouTube</a>.)</p>
<p>I mean, sure.  &#8220;Boot speed&#8221; certainly isn&#8217;t the end-all, be-all of performance.  In fact, it may not even be in a &#8220;Top 10 Important Performance Metrics.&#8221;  But it gives a good indicator of what&#8217;s possible with the system &#8212; and what to expect.  Add to it, the fact that this was done without any boot speed optimizations at all?  Downright exciting.</p>
<p>The Librem 5 smartphone is schedule to begin shipping in Q3 of 2019.  Stay tuned to <a href="https://puri.sm/posts/">this blog</a> &#8212; or follow <a href="https://social.librem.one/@purism">Purism on Librem One</a> or <a href="https://twitter.com/puri_sm">Twitter</a> &#8212; for updates and details.</p>
<p>Also worth noting: You can <a href="https://shop.puri.sm/shop/librem-5/">pre-order the Librem 5 now</a> for $649.  That price goes up at the end of July.  So if you want the lower price, now&#8217;s the time.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-vs-android-which-boots-faster/">Librem 5 vs Android &#8212; Which boots faster?</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/06/L5BootRace-small.mp4" length="12163488" type="video/mp4" />
		</item>
		<item>
		<title>Control, Freedom and Harm</title>
		<link>https://puri.sm/posts/control-freedom-and-harm/</link>
		<pubDate>Tue, 04 Jun 2019 15:34:09 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63780</guid>
		<description><![CDATA[<p>Control is the best measurement of both freedom and harm. If freedom can be summarized as not being under the control of another, harm can be summarized as being under the control of another. The darker side of &#8220;control vs. freedom&#8221; or &#8220;control + harm&#8221; casts a shadow on every facet of technology—and it is [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/control-freedom-and-harm/">Control, Freedom and Harm</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Control is the best measurement of both freedom and harm. If freedom can be summarized as <em>not</em> being under the control of another, harm can be summarized as <i>being</i> under the control of another.</h2>
<p>The darker side of &#8220;control vs. freedom&#8221; or &#8220;control + harm&#8221; casts a shadow on every facet of technology—and it is a digital civil rights issue, where <b>control over you by corporations</b> is causing you harm, all the time, on all your devices.</p>
<h3 class="western">The answer is rather simple: <strong>Don&#8217;t. Control. People</strong>.</h3>
<h5 class="western">Don&#8217;t track people</h5>
<p>It would be simple to create the exact same technology companies that exist today, without the creepy crossing into personal privacy invasion. <a href="https://librem.one/" target="_blank" rel="noopener">Social Media</a> can absolutely exist (and even sell ads) <i>without being invasive</i>; search tools can return valid results (and still sell ads) <i>without recording everything on you</i> (forever); ride sharing services can drive you places without tracking your every location <i>when you&#8217;re not using them</i>; ordering history from stores certainly does not need all your personal data <i>after you receive </i><i>what you </i><i>ordered</i>.</p>
<h5 class="western">Don&#8217;t retain useless data</h5>
<p>There is no reason to retain everything a person has ever done digitally. A simple policy of &#8220;once data is no longer needed, it is deleted.&#8221; fits perfectly here. Does the police need to hold your GPS location, date and time permanently, after scanning your car’s license plate? Does a social media service need to backchannel your purchase receipts to match who you follow and interact with, against credit card receipts, forever? Not really.</p>
<h5 class="western">Use free software</h5>
<p>Use software where it passes the simple freedom test: Can you run that program as you wish? Can you study the source code? Can you share it alike? If you can, you have complete control over the program, and you can avoid harm.</p>
<h3 class="western">Don&#8217;t Control People. If hardware, software, and services would follow this simple rule of <i>not</i><i> control</i><i>ling</i><i> people</i>, the results would become quickly apparent.</h3>
<p class="western">Hardware should not have a corporate controlled lock, so people can <i>own</i> devices, not <i>rent</i> them. Software should be under the full control of the person using it, and source code released. Services should be <i>decentralized</i>, so <i>no single entity can control </i><i>them</i> and their users. Once all three (hardware, software, services) are in the hands of the people, then they will truly be digitally free.</p>
<h3>Big Tech strips Freedom and causes Harm</h3>
<p>Let&#8217;s take a look at some of big-tech&#8217;s big issues below:</p>
<h5 class="western">Apple</h5>
<p>Looking at Apple (the censorship and personal control masters), we see they <a href="https://www.theverge.com/2018/5/31/17412396/telegram-apple-app-store-app-updates-russia" target="_blank" rel="noopener">block</a> applications from their platform, <a href="https://www.theguardian.com/world/2017/jan/05/apple-removes-new-york-times-app-in-china" target="_blank" rel="noopener">censor</a> applications and content to their own liking, <a href="https://www.huffpost.com/entry/lizz-winstead-reproductive-rights-app_n_56003aa1e4b0fde8b0cf15df" target="_blank" rel="noopener">disallow</a> them on their platform entirely, <a href="https://consumerist.com/2010/06/21/privacy-change-apple-knows-your-phone-is-and-is-telling-people/" target="_blank" rel="noopener">invade privacy</a> with excruciating level of detail, are <a href="https://www.theverge.com/platform/amp/2019/5/14/18618127/apple-pepper-supreme-court-loss-kavanaugh-opinion-app-store-antitrust-explainer-vergecast" target="_blank" rel="noopener">anti-competitive</a> with an unlawful monopoly with its App Store, <a href="https://www.commondreams.org/newswire/2018/03/16/apples-shut-down-iranians-disturbing-trend-us-government-must-reverse" target="_blank" rel="noopener">among</a> <a href="https://motherboard.vice.com/en_us/article/source-apple-will-fight-right-to-repair-legislation" target="_blank" rel="noopener">many</a> <a href="http://www.huffingtonpost.com/entry/apple-right-to-repair_us_5755a6b4e4b0ed593f14fdea" target="_blank" rel="noopener">other</a> <a href="https://www.theguardian.com/technology/2017/jun/05/apple-error-53-sting-operation-caught-staff-misleading-customers-court-documents-allege" target="_blank" rel="noopener">examples</a> <a href="https://motherboard.vice.com/en_us/article/iphone-7-home-button-unreplaceable-repair-software-lock" target="_blank" rel="noopener">of</a> <a href="https://motherboard.vice.com/en_us/article/apple-is-lobbying-against-your-right-to-repair-iphones-new-york-state-records-confirm" target="_blank" rel="noopener">their</a> <a href="https://gizmodo.com/homepod-is-the-ultimate-apple-product-in-a-bad-way-1822883347" target="_blank" rel="noopener">control</a> <a href="http://www.guardian.co.uk/technology/2012/jul/04/apple-ipad-software-update" target="_blank" rel="noopener">over</a> <a href="http://www.cnet.com/news/apples-free-u2-album-perplexes-and-annoys-some-users/" target="_blank" rel="noopener">you</a>. We quickly recognize that people are just <i>renting</i> a device from Apple, that Apple is in complete Orwellian control of it, that all our personal data is also <a href="https://www.reuters.com/article/us-usa-technology-antitrust/u-s-moving-toward-major-antitrust-probe-of-tech-giants-idUSKCN1T42JH">under Apple&#8217;s control</a>.</p>
<h5>Facebook, Instagram, and Twitter</h5>
<p>Welcome to the <a href="https://www.theguardian.com/news/series/facebook-files" target="_blank" rel="noopener">manipulation</a> and <a href="https://www.usatoday.com/story/opinion/2017/10/27/facebook-censored-cross-your-countrys-government-and-they-might-censor-you-too-james-bovard-column/795271001/" target="_blank" rel="noopener">censorship</a> private clubs of social media: <a href="https://www.nytimes.com/2019/06/03/technology/facebook-ftc-antitrust.html">these companies</a> <a href="https://www.wired.com/story/facebook-too-big-to-delete/" target="_blank" rel="noopener">control</a> their user-base through <a href="https://www.propublica.org/article/facebook-hate-speech-censorship-internal-documents-algorithms" target="_blank" rel="noopener">haphazard</a> <a href="https://www.cnet.com/news/how-zuckerberg-facebook-censors-korryn-gaines-philando-castile-dallas-police-your-posts-faq/" target="_blank" rel="noopener">policies</a> to <a href="https://www.newyorker.com/culture/cultural-comment/censoring-twitter" target="_blank" rel="noopener">ban</a> <a href="https://www.businessinsider.com/twitter-has-gone-from-bastion-of-free-speech-to-global-censor-2017-6" target="_blank" rel="noopener">posts</a> and <a href="https://www.theguardian.com/technology/2016/may/11/facebook-censorship-news-feed-trending-topics" target="_blank" rel="noopener">manipulate</a> <a href="https://www.buzzfeed.com/norawhelan/curvy-is-a-banned-search-term-on-instagram" target="_blank" rel="noopener">everything</a> you see, trying to influence your opinion. It has been a long upheld legal stance that <a href="http://caselaw.findlaw.com/us-supreme-court/279/644.html" target="_blank" rel="noopener">you may disagree with what a person may legally say, but you must respect their right to say it</a>. The reason? Centuries of <a href="https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=CONS&amp;sectionNum=SEC.%202.&amp;article=I" target="_blank" rel="noopener">jurisprudence</a> <a href="https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=CIV&amp;sectionNum=51" target="_blank" rel="noopener">showcasing</a> the issues of <a href="https://law.justia.com/cases/california/supreme-court/3d/3/205.html" target="_blank" rel="noopener">censorship causing harm</a>. We may want to pay attention to the <a href="https://www.eff.org/issues/free-speech" target="_blank" rel="noopener">EFF</a>, <a href="https://www.gnu.org/philosophy/basic-freedoms.html" target="_blank" rel="noopener">FSF</a>, <a href="https://www.aclu.org/issues/free-speech/internet-speech" target="_blank" rel="noopener">ACLU</a>, <a href="https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=CONS&amp;sectionNum=SEC.%202.&amp;article=I" target="_blank" rel="noopener">California Constitution</a>, and the US Supreme Court, when they all agree that censorship is a <a href="https://www.eff.org/deeplinks/2019/04/content-moderation-broken-let-us-count-ways" target="_blank" rel="noopener">terrible</a> <a href="https://www.eff.org/press/releases/eff-project-shows-how-people-are-unfairly-tossed-out-platforms-absurd-enforcement" target="_blank" rel="noopener">idea</a>.</p>
<h5 class="western">Google</h5>
<p>This <a href="https://consumerist.com/2017/05/23/google-following-your-offline-credit-card-spending-to-tell-advertisers-if-their-ads-work/" target="_blank" rel="noopener">data hoarder</a> has <a href="https://www.theguardian.com/commentisfree/2018/mar/28/all-the-data-facebook-google-has-on-you-privacy" target="_blank" rel="noopener">incomprehensibly large amounts of data</a> on everything you do, from <a href="http://www.gizmodo.com.au/2010/07/over-1m-android-users-details-compromised-thanks-to-malicious-app/" target="_blank" rel="noopener">every device</a> <a href="https://www.theguardian.com/technology/2016/oct/21/how-to-disable-google-ad-tracking-gmail-youtube-browser-history" target="_blank" rel="noopener">every millisecond of every day</a>, and is <a href="https://www.commondreams.org/views/2019/02/04/google-screenwise-unwise-trade-all-your-privacy-cash" target="_blank" rel="noopener">invading your privacy</a>, <a href="https://www.bloombergquint.com/pursuits/your-smart-light-can-tell-amazon-and-google-when-you-go-to-bed" target="_blank" rel="noopener">controlling your devices</a>, <a href="https://www.gizmodo.com.au/2017/09/yes-google-uses-its-power-to-quash-ideas-it-doesnt-likei-know-because-it-happened-to-me/" target="_blank" rel="noopener">censoring voices</a>, and <a href="https://www.csoonline.com/article/3336227/nest-secure-had-a-secret-microphone-can-now-be-a-google-assistant.html" target="_blank" rel="noopener">spying on you</a>. The executives at Google <a href="https://www.nytimes.com/2019/05/07/opinion/google-sundar-pichai-privacy.html" target="_blank" rel="noopener">pen opinion pieces</a> on how much they care about privacy <a href="https://www.techdirt.com/articles/20180412/13203739616/public-attention-forces-facebook-to-retreat-anti-privacy-alliance-with-isps-california.shtml" target="_blank" rel="noopener">while undermining it with lawmakers</a>: their <a href="https://gadgets.ndtv.com/apps/news/google-play-store-policy-raises-privacy-concerns-331116" target="_blank" rel="noopener">actions</a> are the exact opposite of their words, while they are <a href="https://www.theguardian.com/technology/2019/jun/03/tech-monopoly-congress-increases-antitrust-scrutiny-on-facebook-google-amazon">committing some of the worst digital atrocities of all time</a><i>.</i></p>
<h5 class="western">Uber, Lyft, Spotify, and the rest</h5>
<p>These and others all <a href="https://gizmodo.com/uber-doesn-t-want-you-to-see-this-document-about-its-va-1795151637" target="_blank" rel="noopener">fall</a> into the same Silicon Valley funding process: to write software, services, and applications designed around grabbing as many users <a href="https://techcrunch.com/2016/11/28/uber-background-location-data-collection/" target="_blank" rel="noopener">and personal data</a> as possible—oftentimes doing an <a href="https://www.theguardian.com/technology/2017/apr/12/why-everyone-hates-uber-seven-step-playbook" target="_blank" rel="noopener">end-run around regulation</a> in the name of innovation (does anybody actually think Uber or Lyft aren&#8217;t just non-yellow taxis booked through a mobile app? So why shouldn&#8217;t they comply with the same rules and regulations that taxis do? Oh&#8230; right, because of &#8216;<a href="https://www.nytimes.com/2017/03/03/technology/uber-greyball-program-evade-authorities.html" target="_blank" rel="noopener">innovation</a>&#8216;). All these companies share the same <a href="https://www.engadget.com/2017/04/13/uber-hell-program-lyft-drivers/" target="_blank" rel="noopener">bad habits</a> of writing software that controls the <a href="https://techcrunch.com/2018/01/25/lyft-god-view/" target="_blank" rel="noopener">person using it</a>, of <a href="https://www.theregister.co.uk/2015/08/21/spotify_worse_than_the_nsa/" target="_blank" rel="noopener">exploiting people</a> for profit—be that through <a href="https://www.theguardian.com/technology/2014/nov/19/uber-investigates-top-executive-after-journalists-privacy-was-breached" target="_blank" rel="noopener">tracking your every</a> <a href="https://www.theguardian.com/technology/2015/jun/22/uber-ftc-privacy-customer-location-contacts" target="_blank" rel="noopener">location detail</a>, <a href="https://www.theguardian.com/commentisfree/2018/sep/16/spotify-can-tell-if-youre-sad-heres-why-that-should-scare-you">your mood</a>, <a href="https://www.theguardian.com/technology/2016/oct/31/uber-lyft-racial-discrimination-us-boston-seattle" target="_blank" rel="noopener">profiling you</a>, leaving you unable to verify the source code and inserting malware into it—continuing <a href="https://www.marketplace.org/2014/11/18/ubers-data-makes-creepy-point-about-company/" target="_blank" rel="noopener">abuses</a> of your digital civil rights.</p>
<h3 class="western">The Solution</h3>
<p>Is quite simple: support products and companies that protect your freedoms, put you in complete control, and work to eliminate harm. The interesting side effect is you will also be building a more tolerant, empowering, diverse, and inclusive society.</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a class="button-primary" href="https://librem.one/">Get Librem One</a></p>
<p style="text-align: center;"><a class="button-primary" href="https://shop.puri.sm/shop/librem-5/">Pre-Order Librem 5</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/control-freedom-and-harm/">Control, Freedom and Harm</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Introducing Librem Social</title>
		<link>https://puri.sm/posts/introducing-librem-social/</link>
		<pubDate>Fri, 31 May 2019 08:10:21 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63921</guid>
		<description><![CDATA[<p>Hello there! Let&#8217;s talk about Librem Social. Librem Social is a social network. Think Twitter&#8230; if Twitter respected your privacy and didn&#8217;t advertise to you. Librem Social is part of Librem One, the suite of privacy-protecting, no-tracking apps and services created by our team at Purism. Librem One currently includes Librem Mail, Librem Chat, Librem Tunnel, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-librem-social/">Introducing Librem Social</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">Hello there! Let&#8217;s talk about Librem Social.</h2>
<p>Librem Social is a social network. Think Twitter&#8230; if Twitter respected your privacy and didn&#8217;t advertise to you.</p>
<blockquote>
<p class="western" style="text-align: right;"><span lang="en-US">Librem </span><span lang="en-US">Social</span><span lang="en-US"> is</span><span lang="en-US"> </span><span lang="en-US">part of <a class="western" href="https://librem.one/">Librem One</a>, </span><span lang="en-US">the </span><span lang="en-US">suite of privacy-protecting, no-tracking apps and services created by our team at Purism. </span><span lang="en-US">Librem One currently includes</span><span lang="en-US"> <a class="western" href="https://puri.sm/posts/introducing-the-new-librem-mail/">Librem Mail</a>, <a class="western" href="https://puri.sm/posts/introducing-the-new-librem-chat/">Librem Chat</a>, <a class="western" href="https://puri.sm/posts/introducing-the-librem-tunnel/">Librem </a></span><a class="western" href="https://puri.sm/posts/introducing-the-librem-tunnel/"><span lang="en-US">Tunnel</span></a>, and <a href="#">Librem Social</a><span lang="en-US">.</span></p>
</blockquote>
<h3>Over 2,000,000+ people. Ready to follow.</h3>
<p>Librem Social is part of a network of social network servers already boasting over 2,000,000 users!</p>
<p>Two Million!</p>
<p>Follow friends. Make new ones. Share stories, pictures, and videos with them. Librem One is ready and growing. Fast.</p>
<figure id="attachment_63931" style="width: 640px" class="wp-caption alignnone"><img class="wp-image-63931 size-large" src="https://puri.sm/wp-content/uploads/2019/05/librem-social-2-1024x693.png" alt="" width="640" height="433" srcset="https://puri.sm/wp-content/uploads/2019/05/librem-social-2-1024x693.png 1024w, https://puri.sm/wp-content/uploads/2019/05/librem-social-2-300x203.png 300w, https://puri.sm/wp-content/uploads/2019/05/librem-social-2-768x519.png 768w, https://puri.sm/wp-content/uploads/2019/05/librem-social-2.png 1440w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption class="wp-caption-text">Librem Social</figcaption></figure>
<h3>Opt-In, No Ads, No Tracking</h3>
<p><span lang="en-US">One of Librem Social&#8217;s most important features is that, unlike </span><em><span lang="en-US">all</span></em><span lang="en-US"> other social hosts, it is <a href="https://puri.sm/posts/opt-in-no-ads-and-no-tracking-solve-a-lot-of-problems-in-society/">entirely opt-in</a>. You </span><span lang="en-US">only </span><span lang="en-US">see posts from people you </span><span lang="en-US">want to </span><span lang="en-US">follow.</span></p>
<p><span lang="en-US">This means you are not force-fed an unrelenting stream of manipulated content specifically targeting you. No way, no how. Not on Librem One. On Librem One you see the posts from the people you want to see posts from – your friends, family, news sites and favorite celebrities. And that&#8217;s it. If you want, you can search for posts from across the Fediverse (more on that later).</span><span lang="en-US"><br />
</span></p>
<p>We also do not advertise to you. Not at all.</p>
<p>Which means we have no reason to track you. Simple, right?</p>
<h3>Available Wherever You Are</h3>
<p>Librem One is accessible via:</p>
<ul>
<li>The official website at <a href="https://social.librem.one/">https://social.librem.one./</a></li>
<li>The official <a href="https://itunes.apple.com/us/app/librem-social/id1456164071">iOS</a> or <a href="https://play.google.com/store/apps/details?id=one.librem.social">Android apps</a>.</li>
</ul>
<h3>What Technology Does Librem Social Use?</h3>
<p><span lang="en-US">Librem Social is proudly built on <a href="https://github.com/tootsuite/mastodon">Mastodon</a>, part of what is known as &#8220;The Fediverse&#8221;, as well as many <a href="https://puri.sm/posts/how-purism-works-upstream-and-gives-back/">other Free Software projects</a> that we actively work with and contribute to.</span></p>
<p>The Fediverse is the decentralized replacement to MySpace, Orkut, Friendster, Google+, Twitter and Facebook (can you spot the trend?). The Fediverse already exists, and it is growing. What makes the Fediverse different to its forebears is that it has no central domain – not even a central service. It&#8217;s composed of lots of services, all of them speaking (mostly) the same protocol, known as ActivityPub.</p>
<p>Fediverse developers are currently working on replacements for things we know (shout out to PixelFed!) and other things we can only dream of (shout out to Spritely!). When they do arrive, we can yell out a stretch goal, apply some elbow grease&#8230; and once we&#8217;re done you can start following them, breaking the cycle of needing a new account to join your friends on <i>what</i><i>ever’</i><i>s hot right now</i>.</p>
<h2 class="western">Public service announcement:</h2>
<p><span lang="en-US">As well as a purely opt-in workflow, we have another </span><span lang="en-US">very </span><span lang="en-US">distinguishing feature – </span><span lang="en-US">that </span><span lang="en-US">everything on Librem Social is public. Everything. Who you follow, who follows you, your announcements and your replies.</span></p>
<p>Why? Well, for two major reasons:</p>
<p>Because valuing your privacy doesn&#8217;t mean staying indoors with the curtains closed all day. Sometimes you want to go out, socialize, catch up on news – and share your own.</p>
<p>At the same time, you don&#8217;t want to blurt out something personal just because there&#8217;s a lull in the conversation (it happens). That&#8217;s what private chat is for. Librem Social is designed in the context of a service bundle, so you know what tool to use for the right job, with no <i>oopsies</i> – and, more importantly, with none of your personal details on our server.</p>
<p>What if&#8230; I don’t like what I see?</p>
<p>We don&#8217;t control the content of search results. If you are concerned, please read our <a href="https://librem.one/stay-safe/">quick guide to staying safe online</a>. If you see something illegal, please report it to the relevant authorities, as they are best equipped to handle illegal content. If you are being harassed, or witness online harassment, block and flag the offending user and a moderator will take action. <a href="https://librem.one/conduct/">We do not tolerate harassment</a>. This is an area of well-established rights, Librem Social is built on and with the expert policies of ACLU, FSF, and <a href="https://www.eff.org/deeplinks/2019/05/social-media-councils-better-way-firward-lipstick-pig-or-global-speech-police">EFF</a>, while avoiding the <a href="https://www.eff.org/deeplinks/2019/05/tossed-out-highlighting-effects-content-rules-online">pitfalls</a> of <a href="https://eu.usatoday.com/story/news/2019/04/24/facebook-while-black-zucked-users-say-they-get-blocked-racism-discussion/2859593002/">ham-fisted censorship</a> we all dislike from Big Tech.</p>
<p><span lang="en-US">W</span><span lang="en-US">e are very pleased to see </span><span lang="en-US">so many</span><span lang="en-US"> people socializing already. If you want to follow us, or ping us with your thoughts, our Librem Social / Fediverse address </span><span style="font-family: Liberation Serif, serif;"><span lang="en-US">is </span></span><code><span style="font-family: Liberation Serif, serif;"><span lang="en-US"><a href="https://social.librem.one/@purism">@purism@librem.one</a></span></span></code> – and you are always welcome!</p>
<p>&nbsp;</p>
<hr />
<p>Purism offers high-quality privacy, security, and freedom-focused computers, phones, and software. Our platform is meant to empower everyone. We believe people should have secure devices and services that protect them rather than exploit them, and we provide everything you need in a convenient product bundle.</p>
<p><span lang="en-US">We like to give back. Librem Chat is built with free software, created by security and privacy experts. <a class="western" href="https://puri.sm/posts/how-purism-works-upstream-and-gives-back/">Learn more about how Purism contributes to its community.</a></span></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-librem-social/">Introducing Librem Social</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 &#8211; End of May Progress</title>
		<link>https://puri.sm/posts/librem-5-end-of-may-progress/</link>
		<pubDate>Tue, 28 May 2019 13:37:03 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63818</guid>
		<description><![CDATA[<p>Hi everyone! The Librem 5 team has been hard at work again, and we want to update you all on our software progress. Calls We have been diligently working to finish the phone call audio quality for production. While the USB audio works just fine (with some tweaks), the PCM audio coming out of the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-end-of-may-progress/">Librem 5 &#8211; End of May Progress</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">Hi everyone! The Librem 5 team has been hard at work again, and we want to update you all on our software progress.</h2>
<h2 class="western">Calls</h2>
<p>We have been diligently working to finish the phone call audio quality for production. While the USB audio works just fine (with some tweaks), the <a href="https://source.puri.sm/Librem5/OS-issues/issues/31">PCM audio coming out of the dev kit was noisy and distorted</a>, due to the most-significant bit in the PCM stream – from the i.MX8 to the modem – being incorrect.</p>
<p>In the meantime, we have started work on a daemon, <a href="https://source.puri.sm/Librem5/wys">Wys</a>, that loads and unloads PulseAudio loopback modules according to the state of ModemManager voice calls; and investigating and testing a different modem, in order to evaluate its potential alongside the Gemalto PLS8 one.</p>
<p>All of this effort brings us closer and closer to having phone calls that work wonderfully.</p>
<h2 class="western">Messaging</h2>
<p>The <a href="https://source.puri.sm/Librem5/purple-mm-sms/issues/5">SMS plugin of Chatty has been reworked to use libmm-glib</a>, simplifying the handling of the ModemManager interface, and making the adding of further SMS functionality less cumbersome.</p>
<p>The new <a href="https://source.puri.sm/Librem5/chatty/issues/118">Lurch plugin changes (used for E2EE in XMPP) needed to be tested</a>, since the upstream maintainer has done a lot of recent work on the plugin (specifically for integration with Chatty) – and this support gets us even closer to delivering good E2EE XMPP functionality!</p>
<p>We are happy to say we found, and promptly fixed, a couple of issues related to Chatty: crashes due to multi-instances or <a href="https://source.puri.sm/Librem5/chatty/issues/112">when loading the Matrix plugin</a>, and <a href="https://source.puri.sm/Librem5/chatty/issues/3">Chatty not recognizing outgoing messages after a restart</a>. It&#8217;s all working fine now.</p>
<p>Oh, and the <a href="https://source.puri.sm/Librem5/chatty/merge_requests/39">message bubble width was reduced to no more than 70% of the conversation view</a>, and it looks so much better now. Thanks to Leland Carlye for the improvement!</p>
<h2 class="western">Web Browsing</h2>
<p>A new <a href="https://source.puri.sm/Librem5/libhandy/issues/64">adaptive view switcher widget (HdyViewSwitcher) has been added to libhandy</a>, which is needed by Web&#8217;s preferences dialog in order for it to be adaptive and to, well, look nice on the phone; we will use it in other apps such as Software, Clocks, and Photos. It was such a big effort, and it&#8217;s so wonderful to see it completed – and a success! To make sure that HdyViewSwitcher looks just perfect, we have added <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/253">a best fit container (HdySqueezer)</a>.</p>
<p>We also want to make the header bars more flexible to matching the display needs of the phone, and we are working on <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/256">adding a HdyHeaderBar</a>. Doing it led us to discover, and fix, a memory leak in <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/823" target="_blank" rel="noopener">GTK+3</a> and <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/822" target="_blank" rel="noopener">GTK+4</a>.</p>
<p>See below for a preview of the HdyHeaderBar:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63818-40" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/05/video1.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/05/HdyHeaderBar.mp4?_=40" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/05/HdyHeaderBar.webm?_=40" /><a href="https://puri.sm/wp-content/uploads/2019/05/HdyHeaderBar.mp4">https://puri.sm/wp-content/uploads/2019/05/HdyHeaderBar.mp4</a></video></div>
<p>We are almost done <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/263">adding a HdyPreferencesWindow</a>, so we can make it easy for apps to have a featureful preferences window that is also adaptive.</p>
<p>Below, a preview of the HdyPreferencesWindow:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63818-41" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/05/video-2.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.mp4?_=41" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.webm?_=41" /><a href="https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.mp4">https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.mp4</a></video></div>
<h2 class="western">Email</h2>
<p>We have made some excellent improvements on the design of Geary! The outcome can be seen in several mockups that design how the <a href="https://gitlab.gnome.org/GNOME/geary/issues/413" target="_blank" rel="noopener">conversation actions</a>, <a href="https://gitlab.gnome.org/GNOME/geary/issues/391" target="_blank" rel="noopener">conversations list</a>, <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/mail/composer.png" target="_blank" rel="noopener">composer</a> and <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/mail/selection-mode.png" target="_blank" rel="noopener">selection mode</a> should all look. Some of these mockups may require further changes upstream, but they get us ever closer to having a nicely complete mail client design.</p>
<h2 class="western">System</h2>
<p>The dev kit image is getting closer to using a <a href="https://arm01.puri.sm/job/Kernel_builds/job/kernel_devkit_linux-next_imx8-linux-next-devkit/" target="_blank" rel="noopener">5.2 kernel</a> instead of the 4.18 kernel – which means our team has been tireless in their effort of <a href="https://lkml.org/lkml/2019/5/20/1180" target="_blank" rel="noopener">upstreaming the librem5-devkit device tree</a>, <a href="https://source.puri.sm/Librem5/flash-kernel/issues/1">flash-kernel</a> changes, and sending various other patches upstream. Be sure to check out a nice <a href="https://puri.sm/posts/purism-and-the-linux-kernel/" target="_blank" rel="noopener">post on Purism&#8217;s upstream kernel contributions</a>.</p>
<p>We are also continuing to work on a compositor replacement for rootston, and getting closer to be able to switch from rootston to phoc (replacement compositor) independently.</p>
<p>Another awesome change in the image is that the <a href="https://source.puri.sm/Librem5/phosh/issues/10">WiFi status is now displayed in the panel and lock screen</a>!</p>
<p>We are trying to separate the bootloader from the OS, and to get us closer to this goal, a <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/39">uuu script that flashes the full-boot-image</a> has been added to the librem5-devkit-tools package. There is also <a href="https://source.puri.sm/Librem5/image-builder/merge_requests/87">support for generating an additional boot image alongside the main one</a>, needed to flash U-boot and the M4 firmware into one of the eMMC boot hwparts. Thanks to Hugo Grostabussiat for the contributions!</p>
<p>We are continuing to work on the graphics stack; recently, <a href="https://patchwork.freedesktop.org/series/58817/" target="_blank" rel="noopener">v11 of the Mixel MIPI DPHY driver was submitted upstream</a>.</p>
<p>Our awesome community has pointed out some issues over time&#8230; and we have fixed them: <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/25">fix screen blank -&gt; unblank cycle</a>, <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/27">improve GPU performance by using the correct clock parents</a>, and <a href="https://source.puri.sm/guido.gunther/linux-imx8/commit/9034259332d62c290c6a6311a5abf2ad411a228c">unbreak clock enable/disable in our NWL driver, so we can turn off clocks when blanking the display</a>.</p>
<p>Some other changes to the system include us taking a look at <a href="https://source.puri.sm/Librem5/u-boot-builder/merge_requests/2">using mainline atf</a> to control power saving and suspend/resume; improving phosh to make the <a href="https://source.puri.sm/Librem5/phosh/merge_requests/182">output locking more dynamic</a>, and <a href="https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2002822.html" target="_blank" rel="noopener">adjusting the VINDPM of the charge controller</a>.</p>
<h2 class="western">Documentation</h2>
<p>We have added a new <a href="https://developer.puri.sm/Librem5/Apps/Guides/Working_with_UI_Files/index.html" target="_blank" rel="noopener">guide on working with UI files</a>, and have a <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/267">cool weather example coming to the documentation soon,</a> to help all the GTK+ app developers out there.</p>
<p>See below for a preview of the weather app:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63818-42" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/05/video-3.jpg" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/05/simple-weather-2019-05-22-1.webm?_=42" /><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/05/simple-weather-2019-05-22-1.mp4?_=42" /><a href="https://puri.sm/wp-content/uploads/2019/05/simple-weather-2019-05-22-1.webm">https://puri.sm/wp-content/uploads/2019/05/simple-weather-2019-05-22-1.webm</a></video></div>
<p>Some helpful How-To guides on the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Inertial_Module.html" target="_blank" rel="noopener">inertial module</a> and <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Proximity.html" target="_blank" rel="noopener">proximity and light</a> sensors were also added.</p>
<p>We have improved the <a href="https://developer.puri.sm/Librem5/Contact/Community.html#matrix-chat-rooms" target="_blank" rel="noopener">Matrix room mentions</a> for readability, the API documentation with <a href="https://developer.puri.sm/Librem5/APIs.html" target="_blank" rel="noopener">better linking to external APIs and resources</a>. The <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/263">dev kit setup instructions are being improved</a> as well, to be more of a step-by-step guide, and a page on <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/270">troubleshooting dev kit power issues</a> is coming soon.</p>
<p>That’s all for now, folks – stay tuned for more exciting updates to come!</p>
<p>A big “Thanks!” to everyone that has helped review and merge changes into upstream projects; you are awesome, and your time and contribution are much appreciated!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-end-of-may-progress/">Librem 5 &#8211; End of May Progress</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.mp4" length="1161378" type="video/mp4" />
		</item>
		<item>
		<title>Happy Towel Day 2019</title>
		<link>https://puri.sm/posts/happy-towel-day-2019/</link>
		<pubDate>Sat, 25 May 2019 14:37:56 +0000</pubDate>
		<dc:creator><![CDATA[Ines Mendes]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63862</guid>
		<description><![CDATA[<p>As you know for sure, a towel has immense psychological value. You are also well aware that, for some reason, if non-hitchhikers discover you have your towel with you, they also assume you carry your own toothbrush, soap, space suit, etc; that they will happily lend you anything you need and might – accidentally – [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/happy-towel-day-2019/">Happy Towel Day 2019</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>As you know for sure, a towel has immense psychological value.</h2>
<p>You are also well aware that, for some reason, if non-hitchhikers discover you have your towel with you, they also assume you carry your own toothbrush, soap, space suit, etc; that they will happily lend you anything you need and might – accidentally – have lost. Above all, they will think that anyone who travels along the galaxy and still knows where their towel is, is clearly a nice, careful, reasonable person. And so, you’re very likely carrying a towel with you today.</p>
<p>The team at Purism wishes you a nice #towelday, and a really amazingly together weekend. We know our readers are cool froods who always know where their towels are.</p>
<p>&nbsp;</p>
<hr />
<p>Purism offers high-quality privacy, security, and freedom-focused computers, phones, and software. Our platform is meant to empower everyone. We believe people should have secure devices and services that protect them rather than exploit them, and we provide everything you need in <a href="https://librem.one/">a convenient product bundle</a>.</p>
<p><cite>We like to give back. Librem Chat is built with free software, created by security and privacy experts. <a href="https://puri.sm/posts/how-purism-works-upstream-and-gives-back/">Learn more about how Purism contributes to its community.</a></cite></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/happy-towel-day-2019/">Happy Towel Day 2019</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Introducing the Librem Tunnel</title>
		<link>https://puri.sm/posts/introducing-the-librem-tunnel/</link>
		<pubDate>Thu, 23 May 2019 15:27:56 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Service Offering]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63828</guid>
		<description><![CDATA[<p>Hello, it’s so nice to have you back. What will you be having today? Since you’re here, let us tell you about the new Librem Tunnel, the encrypted tunnel based on industry-grade technology. You probably know by now that the Librem Tunnel is part of Librem One, a suite of privacy-protecting, no-tracking apps and services [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-the-librem-tunnel/">Introducing the Librem Tunnel</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">Hello, it’s so nice to have you back. What will you be having today?</h2>
<h3 class="western">Since you’re here, let us tell you about the new Librem Tunnel, the encrypted tunnel based on industry-grade technology.</h3>
<p class="western"><a href="https://puri.sm/posts/introducing-the-new-librem-mail/">You probably know by now</a> that the Librem Tunnel is part of Librem One, a suite of privacy-protecting, no-tracking apps and services created by our team at Purism, which also includes <a href="https://puri.sm/posts/introducing-the-new-librem-mail/">Librem Mail</a>, <a href="https://puri.sm/posts/introducing-the-new-librem-chat/">Librem Chat</a> and Librem Social.</p>
<p>Librem Tunnel offers an encrypted, no-logging, virtual private network tunnel, making sure all your network traffic is secure and your privacy fully protected. This means you can safely and conveniently use any public hotspot and not have to worry about how private your connection really is, using standards-based OpenVPN with any compatible client. You are not the product in Librem Tunnel: you will not be tracked, we do not sell your data, and we don’t advertise.</p>
<p><img class="aligncenter wp-image-63854 size-large" src="https://puri.sm/wp-content/uploads/2019/05/pexels-photo-1394841-1024x683.jpeg" alt="Coffee being poured" width="640" height="427" srcset="https://puri.sm/wp-content/uploads/2019/05/pexels-photo-1394841-1024x683.jpeg 1024w, https://puri.sm/wp-content/uploads/2019/05/pexels-photo-1394841-300x200.jpeg 300w, https://puri.sm/wp-content/uploads/2019/05/pexels-photo-1394841-768x512.jpeg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3>Imagine you&#8217;re at a coffee shop, at a work seminar or on campus. Or maybe you work remotely, or you&#8217;re traveling, or your kids want to go to the park and the nice little cafe you’re having ice cream at happens to, conveniently, have free WiFi. You know you need to use HTTPS to get the little green lock, but you can’t be expected to review the network security of every WiFi access point you use. Do you really want the cafe owner to know the names of the web sites you visit, what IP addresses you interact with, what protocols you use? Why not use a secure tunnel you can trust?</h3>
<p>You may be wondering why we are more trustworthy than an arbitrary access point. Well, we guarantee that we don&#8217;t ever monitor or log your connection. We also recommend <em>HTTPS Everywhere</em> to make sure you&#8217;re using HTTPS whenever possible. And for even <em>more, extra safety,</em> use Tor Browser.</p>
<p>You&#8217;re probably thinking: <em>well, why not just use Tor Browser, without the tunnel?</em> The answer is, because it would only secure your web connection, and your device makes other connections too. Additionally, if you make an <em>unencrypted</em> connection over Tor, you are again relying on an arbitrary endpoint. Trust us instead.</p>
<p>Want to stop your coffee shop recognizing your device every time you come in? We&#8217;ll cover that in a separate guide soon.</p>
<h3 class="western">And here are a couple of bonus tips for PureOS users interested in defense-in-depth at the connection layer:</h3>
<ul>
<li>You’ll probably be happy to know that <em>HTTPS Everywhere</em> is included by default in PureBrowser.</li>
<li>Finally, <a href="https://tracker.pureos.net/w/pureos/tips/torbrowser/">we have instructions for installing Tor Browser</a>, for that extra layer of protection.</li>
</ul>
<p>These tips are broadly applicable to other systems too, we hope they help. That&#8217;s all for now, we&#8217;ll be back soon with a short introduction to Librem Social, so stay tuned!</p>
<p>&nbsp;</p>
<hr />
<p>Purism offers high-quality privacy, security, and freedom-focused computers, phones, and software. Our platform is meant to empower everyone. We believe people should have secure devices and services that protect them rather than exploit them, and we provide everything you need in a convenient product bundle.</p>
<p>We like to give back. Librem Tunnel is built with free software, created by security and privacy experts. <a href="https://puri.sm/posts/how-purism-works-upstream-and-gives-back/">Learn more about how Purism contributes to its community.</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-the-librem-tunnel/">Introducing the Librem Tunnel</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Avoiding Big Tech to Protect Your Privacy</title>
		<link>https://puri.sm/posts/avoiding-big-tech-to-protect-your-privacy/</link>
		<pubDate>Wed, 22 May 2019 14:20:39 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63759</guid>
		<description><![CDATA[<p>In a recent opinion piece by Jennifer Senior, titled If We Care So Much About What Google Knows, Why Do We Keep Telling it Everything?, she properly describes the privacy paradox as what happens when a person consistently acts in ways that are contradictory to the privacy values professed by that same person. The reasons [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/avoiding-big-tech-to-protect-your-privacy/">Avoiding Big Tech to Protect Your Privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>In a recent opinion piece by Jennifer Senior, titled <em><a href="https://www.nytimes.com/2019/05/17/opinion/sunday/google-privacy.html" target="_blank" rel="nofollow noopener">If We Care So Much About What Google Knows, Why Do We Keep Telling it Everything?</a></em>, she properly describes the privacy paradox as what happens when a person consistently acts in ways that are contradictory to the privacy values professed by that same person.</h2>
<p>The reasons behind the privacy paradox have been highlighted numerous times by our team at Purism: it all boils down to a simple word, <b>convenience</b>. It is convenient to give up your digital rights, it is simple to just click past a privacy wall, and easy to sign up for a service you know exploits you. It is <em>inconvenient</em> to learn about the best practices for privacy protection, from software to browser plugins and applications – let alone to find what service to use that isn&#8217;t entirely designed to spy on everything you do.</p>
<p>The solution to the privacy paradox has also been answered many times by our team at Purism. It all boils down to the same simple word, <b>convenience</b>. People want convenient products that respect them by default, that they can trust will not exploit them, that allow them to participate in digital society with peace of mind, knowing they are in complete control.</p>
<h3 class="western">Creating an ethical, convenient alternative to Big Tech is what everything is about at Purism. As a Social Purpose Corporation, we design security-focused hardware combined with freedom-respecting software, and we have recently launched <a href="https://librem.one/" target="_blank" rel="noopener">Librem One</a> &#8212; our bundle of privacy-protecting applications, currently available on iOS and Android.</h3>
<p>Librem One offers the gateway to the complete control of your digital life; it means you can sign up today and create a single account on Librem Chat, Librem Mail, Librem Social, and Librem Tunnel – that all are backed by proven protocols that do not track you, have no advertising, are decentralized and offer personal freedom with neither centralized control nor censorship. Social and chat are offered for free, while adding encrypted email and VPN are offered under a subscription – and more services are to be added in the future.</p>
<p>Combining Librem One with the other Purism line of <a href="https://puri.sm/products/" target="_blank" rel="noopener">products</a>, such as a Librem laptop or Librem 5 phone, means you can relax in the knowing you are in total control of your hardware, software, and all your services. In other words: you can participate in digital society and be quite the trendsetter avoiding Big Tech, rather than sitting around (inside a privacy paradox – a strange place to find yourself in) shoveling your data to tech giants, for their profits only.</p>
<p>Avoid the privacy paradox: sign up for <a href="https://librem.one/" target="_blank" rel="noopener">Librem One</a>, and buy Purism <a href="https://puri.sm/products/" target="_blank" rel="noopener">products</a> from your friendly Social Purpose Company.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/avoiding-big-tech-to-protect-your-privacy/">Avoiding Big Tech to Protect Your Privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Security Advisory: Kernel and Firmware Updates for Intel MDS Vulnerability</title>
		<link>https://puri.sm/posts/security-advisory-kernel-and-firmware-updates-for-intel-mds-vulnerability/</link>
		<pubDate>Mon, 20 May 2019 22:31:05 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63788</guid>
		<description><![CDATA[<p>Last week Intel announced a new group of speculative execution vulnerabilities in its processors related to the well-known Spectre and Meltdown vulnerabilities from over a year ago. These new attacks have been labeled as the MDS (Microarchitectural Data Sampling) vulnerabilities by Intel, but in the age of branded vulnerabilities they also have been given more [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/security-advisory-kernel-and-firmware-updates-for-intel-mds-vulnerability/">Security Advisory: Kernel and Firmware Updates for Intel MDS Vulnerability</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Last week <a href="https://www.intel.com/content/www/us/en/architecture-and-technology/mds.html">Intel announced a new group of speculative execution vulnerabilities</a> in its processors related to the well-known <a href="https://puri.sm/posts/purism-patches-meltdown-and-spectre-variant-2-both-included-in-all-new-librem-laptops/">Spectre and Meltdown</a> vulnerabilities from over a year ago. These new attacks have been labeled as the MDS (Microarchitectural Data Sampling) vulnerabilities by Intel, but in the age of branded vulnerabilities they also have been given more exciting names like <a href="https://zombieloadattack.com/">Zombieload</a>. An attacker who is able to successfully exploit these vulnerabilities has the potential to extract sensitive information including encryption keys from the target machine.</p>
<p>Because this is a vulnerability in the Intel CPU hardware itself, like with Spectre and Meltdown, the patch for these vulnerabilities comes in two forms:</p>
<ul>
<li>Linux kernel patch for PureOS users</li>
<li>CPU microcode updates for Librem laptop owners</li>
</ul>
<h2>PureOS Users</h2>
<p>PureOS users are advised to update their system packages using their normal software update process, which will pull down the latest 4.19.37-3 kernel package.</p>
<h2>Librem Laptop Owners</h2>
<p>Purism includes CPU microcode updates as part of our coreboot firmware, so laptops shipping out starting this week will already be patched for these vulnerabilities. For existing laptop users, you will need to update your coreboot firmware to the latest version. Just follow our <a href="https://puri.sm/coreboot/">documentation on using our coreboot update script</a>. Microcode updates have been added to the default coreboot SeaBIOS firmware starting with version 4.9-Purism-1 and in our beta PureBoot firmware starting with version heads-beta-6. In addition to using our update script, you can access the changelog for our pre-built binary firmware images directly at our <a href="https://source.puri.sm/coreboot/releases/blob/master/changelog.md">firmware releases project page</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/security-advisory-kernel-and-firmware-updates-for-intel-mds-vulnerability/">Security Advisory: Kernel and Firmware Updates for Intel MDS Vulnerability</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism and the Linux Kernel</title>
		<link>https://puri.sm/posts/purism-and-the-linux-kernel/</link>
		<pubDate>Mon, 20 May 2019 18:27:00 +0000</pubDate>
		<dc:creator><![CDATA[Guido Günther]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63757</guid>
		<description><![CDATA[<p>Purism contributes to several free software projects such as GNOME, wlroots and Debian. We&#8217;re especially proud of our kernel contributions – where 13 patches have made it into 5.1. Since this is our first installment, it also includes the changes that went into 5.0 and 4.20. Bellow is a list of our most recent contributions. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-and-the-linux-kernel/">Purism and the Linux Kernel</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Purism contributes to several free software projects such as GNOME, wlroots and Debian.</h2>
<p>We&#8217;re especially proud of our kernel contributions – where 13 patches have made it into 5.1. Since this is our first installment, it also includes the changes that went into 5.0 and 4.20. Bellow is a list of our most recent contributions.</p>
<p>Let&#8217;s start with support for the Librem5 dev kit&#8217;s charge controller:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ae6fe7a387e97e2ea8cc275fff5ef55568c4daf3" target="_blank" rel="noopener">power: supply: bq25890_charger: Read back the current battery voltage</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2e1a2ddee9cef07f5b1fab5625dcc56078139a4e" target="_blank" rel="noopener">power: supply: bq25890_charger: Add the BQ25896 part</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0838d84fff7c57dc76590536c5ea5a3404370538" target="_blank" rel="noopener">power: supply: bq25890_charger: Remove unused table entries</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9d9ae3414d1bb655d8db7079e56b0f51e7cd07f0" target="_blank" rel="noopener">power: supply: bq25890_charger: Add debugging output of failed initialization</a></li>
</ul>
<p>SDMA fix for i.MX8mq [needed for SAI (audio)]:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a3711d49beb0768a4df852914676d13fd534a84d" target="_blank" rel="noopener">dmaengine: imx-sdma: fix consistent dma test failures</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=de7b7dca8735f720793dae8ad818091309979c39" target="_blank" rel="noopener">dmaengine: imx-sdma: add a test for imx8mq multi sdma devices</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=25aaa75df1e659901d77085bcdd25eaabf265688" target="_blank" rel="noopener">dmaengine: imx-sdma: add clock ratio 1:1 check</a></li>
</ul>
<p>Support for the Librem5 dev kit&#8217;s touch screen:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c1c00aa53a636d635d9bfad15652fa0694b54f9d" target="_blank" rel="noopener">Input: goodix: print values in case of inconsistencies</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1a3d1306ff3ea414309b1c282eba4ae2431ff4a2" target="_blank" rel="noopener">Input: goodix: refer to touchscreen.txt in device tree bindings</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=84ef1b339c2fa27e664657d2493601cc025cc9fa" target="_blank" rel="noopener">Input: goodix: support Goodix gt5688</a></li>
</ul>
<p>Finally, here are some miscellaneous i.MX8-related fixes and device tree additions:</p>
<ul>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c5b11ee9f1c22a8d6b5cab2099904f7adbe79a7f" target="_blank" rel="noopener">dt-bindings: imx8mq: Number clocks consecutively</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a0e046e642b1f0a64da6d78d9fdc42d9845b07f6" target="_blank" rel="noopener">arm64: dts: imx8mq: Add pwm device nodes</a></li>
<li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=df50fcf5462cec45618bdb6013c84c469b73f3e5" target="_blank" rel="noopener">pinctrl: imx-scu: Depend on IMX_SCU</a></li>
</ul>
<p>We also contributed Tested-by and Reviewed-by to five patches.</p>
<p>There&#8217;s more to come for the 5.2 kernel, as there are 14 patches staged in <a href="https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git" target="_blank" rel="noopener">linux-next</a> already, and we have gotten some friendly reviews for other parts. Stay tuned for more details getting us closer to make the Librem5 dev kit bootable with a mainline kernel, and many thanks to all the reviewers!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-and-the-linux-kernel/">Purism and the Linux Kernel</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Introducing The New Librem Chat</title>
		<link>https://puri.sm/posts/introducing-the-new-librem-chat/</link>
		<pubDate>Fri, 17 May 2019 05:00:40 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Service Offering]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63670</guid>
		<description><![CDATA[<p>How do you do again? Let us tell you about the new Librem Chat: the no worries, free end-to-end encrypted chat, VoIP and video-calling service. Social good, freedom personal privacy and security are things you take seriously (and probably think everyone else should, too). And maybe you already know that the Librem Chat is part [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-the-new-librem-chat/">Introducing The New Librem Chat</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>How do you do again?</h2>
<h3>Let us tell you about the new Librem Chat: the no worries, free end-to-end encrypted chat, VoIP and video-calling service.</h3>
<p>Social good, freedom personal privacy and security are things you take seriously (and probably think everyone else should, too). <a href="https://puri.sm/posts/introducing-the-new-librem-mail/">And maybe you already know</a> that the Librem Chat is part of Librem One, a suite of privacy-protecting, no-tracking apps and services which aim to make the world a better place.</p>
<h3>Librem Chat is:</h3>
<p><strong>Decentralized</strong> – join chatrooms at librem.one, matrix.org, or any other Matrix domain<br />
<strong>Private</strong> – create end-to-end encrypted chatrooms that only participants can see<br />
<strong>Text, voice and video</strong> – communicate any way you want to<br />
<strong>Mix and match</strong> – use either the official app or a compatible app; use our app on a compatible service<br />
<strong>Convenient</strong> – connect from any device with a compatible app<br />
<strong>No ads</strong> – we don&#8217;t sell ad space, we don&#8217;t track you<br />
<strong>Free</strong> – we don’t think there’s much need to explain this one</p>
<p><img class="aligncenter size-full wp-image-63714" src="https://puri.sm/wp-content/uploads/2019/05/librem-chat.png" alt="" width="1440" height="974" srcset="https://puri.sm/wp-content/uploads/2019/05/librem-chat.png 1440w, https://puri.sm/wp-content/uploads/2019/05/librem-chat-300x203.png 300w, https://puri.sm/wp-content/uploads/2019/05/librem-chat-768x519.png 768w, https://puri.sm/wp-content/uploads/2019/05/librem-chat-1024x693.png 1024w" sizes="(max-width: 1440px) 100vw, 1440px" /></p>
<p>What else can we say? It is a total, privacy-respecting replacement for all those intrusive chat services. One you can either use to have a friendly, one-on-one conversation with your best friend, or to call large groups of people. It is a real-time communication app, making real-time communication work seamlessly between different service providers. And since Librem Chat is based on the universal Matrix chat protocol, you can be sure you’ll be able to chat with all your relevant people, either inside or outside the librem.one domain, because we do not lock-in to one technology company. Just remember that trust is per device – so only install Librem Chat on devices you own and trust, and be sure to remove any devices that you no longer use.</p>
<p>Talk with friends and family, share photos – anything you&#8217;d like. We hope you enjoy, and stay tuned for more news on the<a href="https://librem.one/"> Librem One</a> services!</p>
<p>&nbsp;</p>
<hr />
<p>Purism offers high-quality privacy, security, and freedom-focused computers, phones, and software. Our platform is meant to empower everyone. We believe people should have secure devices and services that protect them rather than exploit them, and we provide everything you need in a convenient product bundle.</p>
<p>We like to give back. Librem Chat is built with free software, created by security and privacy experts. <a href="https://puri.sm/posts/how-purism-works-upstream-and-gives-back/">Learn more about how Purism contributes to its community.</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-the-new-librem-chat/">Introducing The New Librem Chat</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism’s Librem One Suite of Privacy Protecting, No-track Apps and Services Surges Past Initial Crowdfunding Goal After Two Weeks</title>
		<link>https://puri.sm/posts/purisms-librem-one-suite-of-privacy-protecting-no-track-apps-and-services-surges-past-initial-crowdfunding-goal-after-two-weeks/</link>
		<pubDate>Thu, 16 May 2019 14:30:41 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Press Releases]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63735</guid>
		<description><![CDATA[<p>Early traction of Librem One demonstrates demand for ethical alternatives to Big Tech as data privacy snafus continue to plague users on a weekly basis SAN FRANCISCO, Calif., May 16, 2019 — Purism, the social purpose corporation which designs and produces popular secure hardware, software, and services, has seen its Librem One suite of privacy [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-librem-one-suite-of-privacy-protecting-no-track-apps-and-services-surges-past-initial-crowdfunding-goal-after-two-weeks/">Purism’s Librem One Suite of Privacy Protecting, No-track Apps and Services Surges Past Initial Crowdfunding Goal After Two Weeks</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2><strong>Early traction of Librem One demonstrates demand for ethical alternatives to Big Tech as data privacy snafus continue to plague users on a weekly basis</strong></h2>
<p>SAN FRANCISCO, Calif., May 16, 2019 — Purism, the social purpose corporation which designs and produces popular secure hardware, software, and services, has seen its Librem One suite of privacy protecting apps and services surpass its initial crowdfunding goal of 5,000 backers in just two weeks.</p>
<p>Librem One is growing in popularity as users grow distrustful of how large tech companies are using their personal information.</p>
<p>In the past week, tech giants have been under fire over repeated bad faith efforts to protect users, paying lip service to data privacy while their actions demonstrate otherwise:<br />
• Days after Google‘s CEO wrote an OpEd in the New York Times on the importance of protecting user data, the company announced new data-dependent advertising products.<br />
• Facebook declared that &#8220;the future is private“ at its developer conference last week, even while the company is facing billions of dollars in fines for data privacy violations.</p>
<h3>The Librem One suite of apps and services are designed to provide users with convenient alternatives to Big Tech products so they can use everyday tools without being tracked or having their data harvested for advertisers.</h3>
<p>&#8220;Librem One is just what I was looking for: a simple-to-use, all-in-one bundle that gave me everything I needed to finally leave Big Tech. I purchased the family pack and even got my wife and kids to leave Facebook and WhatsApp and make the switch to Librem One. We are all as happy as can be with the experience.&#8221; &#8211; James Jackson</p>
<p>Librem One includes end-to-end encrypted chat, end-to-end encrypted mail, and end-to-end encrypted VPN, as well as an open public social network. More services, such as end-to-end encrypted cloud storage, payments, and phone service, will be built in the future and added to the bundle. All current and future services in Librem One have no ads, do not track users, do not look at, sell, or share anything people create or send, and are available on popular platforms like Android and iOS.</p>
<p>&#8220;Librem One reaching backer goals within such a short period of time underscores the public demand for secure, ethical online services,&#8221; said Todd Weaver, founder and CEO of Purism. &#8220;No advertisements. No tracking. No selling of user data. This is the way online services should be, and we have baked that into the very core of Librem One.&#8221;</p>
<p>Additional Information</p>
<p><a href="https://librem.one/#faq">Librem One FAQ</a><br />
<a href="https://librem.one/policy/">Librem One Policies</a><br />
<a href="https://librem.one/stay-safe/">Librem One Moderation and Code of Conduct</a></p>
<p>About Purism</p>
<p>Purism is a Social Purpose Corporation devoted to bringing security, privacy, software freedom, and digital independence to everyone’s personal computing experience. With operations based in San Francisco (California) and around the world, Purism manufactures premium-quality laptops and phones, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.</p>
<p>Media Contact</p>
<p>Marie Williams, Coderella / Purism +1 415-689-4029 pr@puri.sm See also the Purism press room for additional tools and announcements.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-librem-one-suite-of-privacy-protecting-no-track-apps-and-services-surges-past-initial-crowdfunding-goal-after-two-weeks/">Purism’s Librem One Suite of Privacy Protecting, No-track Apps and Services Surges Past Initial Crowdfunding Goal After Two Weeks</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>5000 Happy Librem One Users!</title>
		<link>https://puri.sm/posts/5000-happy-librem-one-users/</link>
		<pubDate>Thu, 16 May 2019 12:54:28 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63703</guid>
		<description><![CDATA[<p>The post <a rel="nofollow" href="https://puri.sm/posts/5000-happy-librem-one-users/">5000 Happy Librem One Users!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-63737" src="https://puri.sm/wp-content/uploads/2019/05/5000-1.png" alt="" width="1000" height="1000" srcset="https://puri.sm/wp-content/uploads/2019/05/5000-1.png 1000w, https://puri.sm/wp-content/uploads/2019/05/5000-1-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/05/5000-1-300x300.png 300w, https://puri.sm/wp-content/uploads/2019/05/5000-1-768x768.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/5000-happy-librem-one-users/">5000 Happy Librem One Users!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 App Design Tutorial – Part II</title>
		<link>https://puri.sm/posts/librem-5-app-design-tutorial-part-ii/</link>
		<pubDate>Mon, 13 May 2019 15:50:19 +0000</pubDate>
		<dc:creator><![CDATA[Tobias Bernard]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63638</guid>
		<description><![CDATA[<p>Hello and welcome to the second of my series of blog posts on how to design your own, brand new app for the Librem 5. In my last post we went over the philosophy and process, goals and relevant art of building a read-it-later app; today we&#8217;ll be covering the basics of navigation, layout, and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-app-design-tutorial-part-ii/">Librem 5 App Design Tutorial – Part II</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">Hello and welcome to the second of my series of blog posts on how to design your own, brand new app for the Librem 5.</h2>
<p>In my <a href="https://puri.sm/posts/librem-5-app-design-tutorial-part-i/">last post</a> we went over the philosophy and process, goals and relevant art of building a read-it-later app; today we&#8217;ll be covering the basics of navigation, layout, and adaptive design, for both mobile and desktop.</p>
<h3 class="western">Sketches and Mockups</h3>
<p>Now that we have a pretty clear idea of the structure of our app, we can finally dive into designing the UI. Personally, I like starting off with sketches on paper and only then move to Inkscape for more detailed mockups, but you may use any tool you’re familiar with. There’s no need to be good at drawing, or<i> </i>good<i> </i>at a particular application, for this; you should just find a way to visualize your ideas – any way that works for you is good.</p>
<p>If you <i>are </i>using Inkscape for mockups, you might want to check out the <a href="https://gitlab.gnome.org/Teams/Design/mockup-resources/blob/master/pattern-templates.svg">GNOME mockup template</a> for some common layouts and patterns to use in your designs. If you are looking for GNOME-style symbolic icons for your mockups, you can find them <a href="https://gitlab.gnome.org/GNOME/adwaita-icon-theme/blob/master/src/symbolic/gnome-stencils.svg">here</a>, <a href="https://gitlab.gnome.org/Teams/Design/icon-development-kit/blob/master/src/icons.svg">here</a>, and <a href="https://gitlab.gnome.org/Teams/Design/symbolic-app-icons/blob/master/src/apps.svg">here</a>.</p>
<h3>Navigation</h3>
<p>When it comes to the layout of an interface, it’s a good thing to have in mind what navigation structure would make the most sense for the type of content you have. The most common navigation patterns for GNOME apps are the <em>Stack</em>, the <em>View Switcher</em> and the <em>Sidebar List</em>.</p>
<figure id="attachment_63647" style="width: 768px" class="wp-caption alignnone"><img class="wp-image-63647 size-full" src="https://puri.sm/wp-content/uploads/2019/05/stack-example-768x340.png" alt="Stack example" width="768" height="340" srcset="https://puri.sm/wp-content/uploads/2019/05/stack-example-768x340.png 768w, https://puri.sm/wp-content/uploads/2019/05/stack-example-768x340-300x133.png 300w" sizes="(max-width: 768px) 100vw, 768px" /><figcaption class="wp-caption-text">Example of Stack navigation in GNOME Photos</figcaption></figure>
<p>The <em>Stack</em> pattern is meant for when the views are completely separate, the UI is not shared and there is a <i>back</i> button that enables you to go back to the overview. This is, for example, how Photos allows you to navigate between a stream of photos and the detailed view of an individual photo. This means there is a bit more friction to switch between views than with other patterns – but it’s also more focused. It&#8217;s a great pattern when you don’t have to switch between views a lot.</p>
<figure id="attachment_63648" style="width: 904px" class="wp-caption alignnone"><img class="wp-image-63648 size-full" src="https://puri.sm/wp-content/uploads/2019/05/switcher-example-1.png" alt="Switcher example" width="904" height="133" srcset="https://puri.sm/wp-content/uploads/2019/05/switcher-example-1.png 904w, https://puri.sm/wp-content/uploads/2019/05/switcher-example-1-300x44.png 300w, https://puri.sm/wp-content/uploads/2019/05/switcher-example-1-768x113.png 768w" sizes="(max-width: 904px) 100vw, 904px" /><figcaption class="wp-caption-text">View switcher in GNOME Clocks</figcaption></figure>
<p>The <em><a href="https://developer.gnome.org/hig/stable/view-switchers.html.en">View Switcher</a></em> is better for cases in which a small number of views are either equally important or need to be easily accessible. It’s used in GNOME apps such as Clocks, Music and Software as the primary form of navigation. On the desktop this switcher is always in the header bar, but <a href="https://gitlab.gnome.org/Teams/Design/os-mockups/blob/master/view-switcher/adaptive-view-switcher-modes.png">a new adaptive version of it</a>, which moves to the bottom of the screen for mobile, is being developed. It’s not quite ready yet, but it will soon hit a version of Libhandy near you.</p>
<figure id="attachment_63649" style="width: 931px" class="wp-caption alignnone"><img class="wp-image-63649 size-full" src="https://puri.sm/wp-content/uploads/2019/05/sidebarlist-example.png" alt="Sidebar List in Fractal" width="931" height="776" srcset="https://puri.sm/wp-content/uploads/2019/05/sidebarlist-example.png 931w, https://puri.sm/wp-content/uploads/2019/05/sidebarlist-example-300x250.png 300w, https://puri.sm/wp-content/uploads/2019/05/sidebarlist-example-768x640.png 768w" sizes="(max-width: 931px) 100vw, 931px" /><figcaption class="wp-caption-text">Sidebar List in Fractal</figcaption></figure>
<p>The <em><a href="https://developer.gnome.org/hig/stable/sidebar-lists.html.en">Sidebar List</a></em> is used when not only you have a lot of views, but you also often need to switch between them. It’s used in Fractal’s room list for example, because it gives a quick overview of all rooms and allows for quick context switching. On mobile, where there’s obviously not enough space for a content pane and a sidebar, you can use a Libhandy widget called <a href="https://honk.sigxcpu.org/projects/libhandy/doc/HdyLeaflet.html">Leaflet</a> which transforms a <i>Sidebar List</i> on desktop into a <i>Stack</i> on mobile.</p>
<figure id="attachment_63650" style="width: 1002px" class="wp-caption alignnone"><img class="wp-image-63650 size-full" src="https://puri.sm/wp-content/uploads/2019/05/adaptive-settings.gif" alt="Adaptive settings" width="1002" height="643" /><figcaption class="wp-caption-text">Experimental branch of GNOME Settings using HdyLeaflet to switch between Sidebar List and Stack navigation</figcaption></figure>
<h4 class="western"><em>Sidebar List</em> and <em>Stack</em> navigation</h4>
<p>For our own read-it-later app, we will need navigation to switch between the different lists (<em>Unread</em>, <em>Archive</em>, <em>Favorites</em>) and between lists and article views.</p>
<p>The former is a small set of views that we want easily accessible, so a view switcher is a good fit. Since we can’t use the <a href="https://source.puri.sm/Librem5/libhandy/issues/64">shiny new adaptive view switcher widget</a> yet, we can use a <a href="https://developer.gnome.org/hig/stable/view-switchers.html.en">plain old view </a><a href="https://developer.gnome.org/hig/stable/view-switchers.html.en">switcher</a> in the header bar (though we can, and should, design the UI with the beautiful new switcher in mind).</p>
<p>For the latter we could either use a stack or a sidebar list (along with the Leaflet widget so it works on mobile). Since we want this app to allow for a focused reading experience, and switching back and forth quickly between articles is not going to happen very often, a Stack is probably the best solution.</p>
<p>This means our main screens will look something like:</p>
<figure id="attachment_63651" style="width: 768px" class="wp-caption alignnone"><img class="wp-image-63651 size-full" src="https://puri.sm/wp-content/uploads/2019/05/sketch-768x567.jpg" alt="Sketch" width="768" height="567" srcset="https://puri.sm/wp-content/uploads/2019/05/sketch-768x567.jpg 768w, https://puri.sm/wp-content/uploads/2019/05/sketch-768x567-300x221.jpg 300w" sizes="(max-width: 768px) 100vw, 768px" /><figcaption class="wp-caption-text">Quick pencil sketch of the layout for the list and article screens</figcaption></figure>
<h4 class="western">Article List Screens</h4>
<p>Now that we have a basic navigation structure, we can design each individual screen in more detail. These three article list screens are basically the same lists, but with different content.</p>
<p>The main purpose of these screens is to provide a nice, legible list of saved articles that entices people to catch up with their reading (list). In order to do this we’re going to go for a comfortable layout – which should include the article’s title, a preview, and some information about each article.</p>
<p>To help users catch up with their saved articles we should also try to make the content as interesting as possible. A plain, reverse-chronological list of saved items can be quite boring, and I’ve noticed I myself often scroll down the list randomly, looking for older articles. A potential way to build this feature into the core experience would be to show the reading list in a randomized order, while also showing the most recently saved articles at the top, as a separate category (see the mockups below).</p>
<figure id="attachment_63652" style="width: 1620px" class="wp-caption alignnone"><img class="wp-image-63652 size-full" src="https://puri.sm/wp-content/uploads/2019/05/article-lists.png" alt="ArticlelLists" width="1620" height="920" srcset="https://puri.sm/wp-content/uploads/2019/05/article-lists.png 1620w, https://puri.sm/wp-content/uploads/2019/05/article-lists-300x170.png 300w, https://puri.sm/wp-content/uploads/2019/05/article-lists-768x436.png 768w, https://puri.sm/wp-content/uploads/2019/05/article-lists-1024x582.png 1024w" sizes="(max-width: 1620px) 100vw, 1620px" /><figcaption class="wp-caption-text">Mockups of <em>Unread</em>, <em>Archive</em> and <em>Favorites</em> screens</figcaption></figure>
<p>In terms of actions, we need to expose S<i>earch</i> and S<i>election</i> modes (for operations on multiple elements) as well as the application’s <a href="https://developer.gnome.org/hig/stable/primary-menus.html.en">primary menu</a>. The primary menu contains global app-level categories such as <em>Help</em>, <em>Preferences</em>, and <em>About</em>.</p>
<p>In the selection mode we need to have the ability to move articles to <em>Favorites</em> and <em>Archive</em> and delete them from our reading list. Since this is not an essential functionality though, we won’t be doing designs for it yet (but if you want to learn more, have a look at the <a href="https://developer.gnome.org/hig/stable/selection-mode.html.en">selection mode page in the GNOME HIG</a> – and the same goes for search, in the <a href="https://developer.gnome.org/hig/stable/search.html.en">relevant HIG page</a>).</p>
<h4 class="western">Article Screen</h4>
<p>An article screen’s job is pretty straightforward: it’s meant to provide a great reading experience for the saved articles. Since many websites kind of suck in this regard, a reader mode (like the ones Epiphany and Firefox have) should be the default view whenever possible. There is however no guarantee that a given article will end up perfectly rendered, and we do need a way to show the website in its native styling, if and whenever necessary.</p>
<p>We also need to move articles into <em>Favorites</em> and <em>Archive</em>, and be able to delete and share them. The most important actions are usually shown directly in the header bar; the remaining ones (or simply the result of not having enough space) will call for a <a href="https://developer.gnome.org/hig/stable/secondary-menus.html.en">secondary menu</a>.</p>
<figure id="attachment_63654" style="width: 780px" class="wp-caption alignnone"><img class="wp-image-63654 size-full" src="https://puri.sm/wp-content/uploads/2019/05/article.png" alt="Article screen" width="780" height="860" srcset="https://puri.sm/wp-content/uploads/2019/05/article.png 780w, https://puri.sm/wp-content/uploads/2019/05/article-272x300.png 272w, https://puri.sm/wp-content/uploads/2019/05/article-768x847.png 768w" sizes="(max-width: 780px) 100vw, 780px" /><figcaption class="wp-caption-text">Mockup of the <em>Article</em> screen</figcaption></figure>
<h4 class="western">Desktop</h4>
<p>We should by now have a more or less clear idea of what our app looks like on mobile; but what will it look like on desktop? Similar to responsive web design, if we design our app for a mobile environment first, it’s usually pretty easy to make it work well on larger screens as well.</p>
<p>As our app has no sidebars or other complicated layout elements, the main change is that the content column width will have to grow with the window until it reaches a <a href="https://practicaltypography.com/line-length.html">maximum width which is comfortable for reading</a>. This can be implemented by wrapping the content area in a <a href="https://honk.sigxcpu.org/projects/libhandy/doc/HdyColumn.html">HdyColumn</a>. The view switcher will also move up to the header bar, and there will be a close button on the right side.</p>
<figure id="attachment_63655" style="width: 1000px" class="wp-caption alignnone"><img class="wp-image-63655 size-full" src="https://puri.sm/wp-content/uploads/2019/05/desktop.png" alt="Desktop mockups" width="1000" height="1270" srcset="https://puri.sm/wp-content/uploads/2019/05/desktop.png 1000w, https://puri.sm/wp-content/uploads/2019/05/desktop-236x300.png 236w, https://puri.sm/wp-content/uploads/2019/05/desktop-768x975.png 768w, https://puri.sm/wp-content/uploads/2019/05/desktop-806x1024.png 806w" sizes="(max-width: 1000px) 100vw, 1000px" /><figcaption class="wp-caption-text">Desktop mockups</figcaption></figure>
<p>We now have the basic structure and most important screens for the application – but that’ far from being everything we need. We need to design login and account settings, empty states, first run experience, errors, search and a number of other things that are beyond the scope of the series… It’s worth noting that mockups tend not to be final, that interfaces almost always change during implementation – as you learn more about use cases, underlying technology and other constraints. Ideally, you’ll also do some informal user-testing with real people, in order to get feedback about what you designed.</p>
<p>If you enjoyed the second part of this tutorial, stay tuned: I’ll be back soon with the third (and final) part. In the meantime, <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/reading-list/src/reading-list.svg">feel free to play with the mockups I made for this tutorial.</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-app-design-tutorial-part-ii/">Librem 5 App Design Tutorial – Part II</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>May Progress Update – Librem 5</title>
		<link>https://puri.sm/posts/may-progress-update-librem-5-hardware/</link>
		<pubDate>Wed, 08 May 2019 13:38:43 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63546</guid>
		<description><![CDATA[<p>Hi again, here&#8217;s your Librem 5 hardware update report for the first half of the month of May: Conferences At JDLL, Adrien gave a talk on &#8220;GNOME on phones&#8221; and helped out at the GNOME booth, where he answered lots of questions about Purism&#8217;s products and animated a first contribution to GNOME workshop along with [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/may-progress-update-librem-5-hardware/">May Progress Update – Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Hi again, here&#8217;s your Librem 5 hardware update report for the first half of the month of May:</h2>
<h2>Conferences</h2>
<p>At JDLL, Adrien gave a talk on &#8220;GNOME on phones&#8221; and helped out at the GNOME booth, where he answered lots of questions about Purism&#8217;s products and animated a first contribution to GNOME workshop along with community member Alexandre Franke.</p>
<h2>Design</h2>
<p>The current design effort is around the <a href="https://wiki.gnome.org/Apps/Geary">Geary email client</a>, where <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/mail/mail-adaptive.png">adaptive designs have begun</a>; some of the <a href="https://gitlab.gnome.org/GNOME/geary/merge_requests/193">symbolic icons in Geary have been improved</a>.</p>
<h2>Software Work</h2>
<h3>Images</h3>
<p>There are always improvements and fixes making their way into the image creation; for example, the librem5-base package needed a <a href="https://source.puri.sm/Librem5/image-builder/issues/34">fix in order to unbreak rendering</a>. To make testing easier, <a href="https://source.puri.sm/Librem5/librem5-base/merge_requests/32">debs built by gitlab-ci are now saved</a> as artifacts. Flashing a devkit is a little easier now that the tool used to flash a new image, uuu, has been updated to make it buildable for PureOS. Also, with <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/40">a recent change</a> to the scripts used in flashing the devkit, we avoid re-downloading the image if one already exists.</p>
<h3>Mesa</h3>
<p>Since graphics are quite important for a phone, we continue to invest in the <a href="https://www.mesa3d.org/">mesa graphics library</a>. A <a href="https://lists.freedesktop.org/archives/mesa-dev/2019-April/217532.html">lod level dump issue</a> and a <a href="https://github.com/etnaviv/libvivhook/pull/3">symlink issue</a> were fixed. A <a href="https://lists.freedesktop.org/archives/mesa-dev/2019-April/217512.html">second version of the GALLIUM_DDEBUG fix</a> was submitted and merged upstream (thanks to Lucas Stach for the review!).</p>
<h3>Compositor + Shell</h3>
<p>We continued experimenting with our own forked compositor by <a href="https://source.puri.sm/Librem5/phoc/merge_requests/7">implementing wlr-output-manager</a>: however, until it is ready for prime time, there is a parallel effort to keep on improving rootston. The main phosh improvement was that the <a href="https://source.puri.sm/Librem5/phosh/merge_requests/177">adwaita-dark theme was applied to the shell</a> by default.</p>
<h3>Calls</h3>
<p>We all know how important it is for a phone to place phone calls, so there is a continuing effort investigating audio over the modem. There are issues with DMA transfers on the SAI interface; digging into the issues included testing various kernel changes. Stay tuned for more to come on this effort.</p>
<h3>Libhandy</h3>
<p>We&#8217;re getting closer to <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/248">bumping the API version of LibHandy to 1</a>! Some new widgets are in the works: HdySqueezer is a cool new widget that is needed for HdyViewSwitcher, which is needed by many apps and HdyPreferencesWindow, which in turn is needed by Web and other apps.</p>
<h3>Messaging</h3>
<p>The SMS plugin is being reworked, and an issue happening when more than one instance of Chatty was opened that has been resolved.</p>
<h3>Linux <strong>5.X</strong> Kernel</h3>
<p>Hooray, the <a href="https://patchwork.freedesktop.org/series/57132/">devkit&#8217;s LCD panel driver has been accepted upstream</a>; thanks to Thierry Reding for applying these, and thanks to the reviewers Fabio Estevam and Sam Ravnborg, too! We are working on getting the librem5-devkit devicetree upstream. There is also an ongoing investigation into why USB stopped working with the 5.1 kernel, and last but not least, an <a href="https://patchwork.kernel.org/patch/10877361/">SDMA fix was accepted upstream</a>.</p>
<h2>Hardware Work</h2>
<p>We continue to work on the Librem 5 board schematic, and are getting ever closer to getting the hardware into production!</p>
<h2>Community Outreach</h2>
<p>The troubleshooting guides on the developer documentation have been split out to be a little more readable.</p>
<p>&nbsp;</p>
<p>A big “Thanks!” to all the external teams that have helped review and merge changes into upstream projects; your time and contribution are much appreciated.</p>
<p>That’s all for now, folks – stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/may-progress-update-librem-5-hardware/">May Progress Update – Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>What&#8217;s In a (User)Name</title>
		<link>https://puri.sm/posts/whats-in-a-username/</link>
		<pubDate>Tue, 07 May 2019 14:02:23 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Communications infrastructure]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63575</guid>
		<description><![CDATA[<p>One account for all things – the power of the Librem One username. At Librem One you have One account to rule them all. One account to remember, One account to share with all; and no privacy to surrender. One of the fundamental design goals for Librem One, outside of privacy, was linking all of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/whats-in-a-username/">What&#8217;s In a (User)Name</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h3 class="western">One account for all things – the power of the Librem One username.</h3>
<p>At Librem One you have One account to rule them all. One account to remember, One account to share with all; and no privacy to surrender.</p>
<p>One of the fundamental design goals for Librem One, outside of privacy, was linking all of our services under a single convenient login. This means that no matter how you want to connect with me, you have everything you need on this personal card:</p>
<p><a href="https://librem.one/"><img class="aligncenter size-full wp-image-63576" src="https://puri.sm/wp-content/uploads/2019/05/todd-weaver-librem-one-personal-card-2019-05-03.png" alt="" width="580" height="298" srcset="https://puri.sm/wp-content/uploads/2019/05/todd-weaver-librem-one-personal-card-2019-05-03.png 580w, https://puri.sm/wp-content/uploads/2019/05/todd-weaver-librem-one-personal-card-2019-05-03-300x154.png 300w" sizes="(max-width: 580px) 100vw, 580px" /></a></p>
<p>Whether you want to follow me on Librem Social; email me on Librem Mail; or message me with text, voice or video on Librem Chat, you can do it all using todd@librem.one.</p>
<h3>Discovering Others in the Community</h3>
<p>Using your email address as <em>the</em> discovery tool across platforms makes it simple and convenient to find and communicate with people. As a remarkable side-benefit, it becomes very simple for people to determine the protocol-specific usernames—be those @todd@librem.one for social, @todd:librem.one for chat, or todd@librem.one for email.</p>
<p>As an example of how this works in practice, let&#8217;s say you have joined a room in Librem Chat—a room about a topic that interests you. You meet other interesting people and make some friends; it&#8217;s now easy to find and follow them on Librem Social, since the usernames are the same on both platforms.</p>
<p>A single login also makes things easy for Librem 5 users: when you first get your phone, if you have a Librem One account you will be able to enter a single login and have all of these services light up, ready to use.</p>
<h3>Hasn&#8217;t This Already Been Done?</h3>
<p>It has, but for (unfortunately) very different reasons. Many tech giants also offer a unified login that gets you access to a bundle of services—but convenience is only one of the motives, and often the most innocent one. You see, they also find a lot of value in being able to link your accounts across platforms, in order to be able to collect and correlate more data about you—as well as lock you into their complete proprietary product suite.</p>
<p>Our approach is different from your traditional unified login, because by using standards and open protocols—Mastodon, Matrix, Email, OpenVPN—that allow people to communicate outside private clubs (and be free from centralized authoritarian control), we can offer a service that has a built-in and thriving community of millions of people. We can also offer a service that allows people to move freely, to change providers, to have control over their digital lives.</p>
<p>By using free software like Tusky, Mastodon, Matrix, RIOT, K9, Dovecot, <a href="https://pureos.net/">PureOS</a>, etc., we participate in a strong ecosystem of millions of developers – who release authored code for others to use, as long as they follow the same licensing of share-alike. By bundling all these standards and protocols into a single account, we are making it<strong> safer and more convenient</strong> for people than the rights-stripping proprietary services from big tech.</p>
<h3>Proprietary Services Make Logins Complicated</h3>
<p>Even though big tech firms offer unified login, their commitment to lock-in, proprietary protocols means you instantly sacrifice convenience once you leave their club. Currently, you may be a member of countless<em> private clubs</em>, designed to exploit and control you, and not even know it. If I ask you what are all the ways I can contact you, you will probably answer with a list containing a username on Facetime, Facebook Messenger, Instagram, Skype, Whatsapp, WeChat, LinkedIn, Twitter, Pinterest&#8230; and a phone number and email, of course. All of these ways to communicate have their own logins and (mostly proprietary) protocols that don&#8217;t work with each other. The last one, the <b>email</b>, stands out as it was created as a standard, to allow interoperability across the world, regardless of what client or service you use; the same design choices of advancing standards made it into Librem One.</p>
<p>So instead of a laundry list of accounts, you can have one single, simple account that offers you all the same convenience of posting, chatting, messaging and sharing. You will be able to do all those things from different applications, but the only account you have to remember is your Librem One account.</p>
<p>Enjoy freedom, sign up now for <a href="https://librem.one/">Librem One</a>!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/whats-in-a-username/">What&#8217;s In a (User)Name</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Introducing The New Librem Mail</title>
		<link>https://puri.sm/posts/introducing-the-new-librem-mail/</link>
		<pubDate>Thu, 02 May 2019 13:51:00 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Librem One]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63538</guid>
		<description><![CDATA[<p>Here you are. You take social good, freedom, and your personal privacy and security seriously. You know Librem Mail is part of Librem One, a suite of privacy-protecting, no-tracking apps and services – a network system that we, at Purism, believe is already starting to change the world for the better. So why, and how, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-the-new-librem-mail/">Introducing The New Librem Mail</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Here you are. You take social good, freedom, and your personal privacy and security seriously. You know Librem Mail is part of <a href="https://librem.one/">Librem One</a>, a suite of privacy-protecting, no-tracking apps and services – a network system that we, at Purism, believe is already starting to change the world for the better.</h2>
<h3>So why, and how, can it change your world for the better? How will it help and protect you, and why is it better than the rest?</h3>
<p>Well, let’s start from the very beginning (always a good place to start): Librem Mail offers you an end-to-end encrypted email account, making sure that all end-to-end encrypted communication is kept private.<br />
<img class="aligncenter size-medium wp-image-63566" src="https://puri.sm/wp-content/uploads/2019/05/librem-mail.png" alt="" srcset="https://puri.sm/wp-content/uploads/2019/05/librem-mail.png 1440w, https://puri.sm/wp-content/uploads/2019/05/librem-mail-300x203.png 300w, https://puri.sm/wp-content/uploads/2019/05/librem-mail-768x519.png 768w, https://puri.sm/wp-content/uploads/2019/05/librem-mail-1024x693.png 1024w" sizes="(max-width: 1440px) 100vw, 1440px" /></p>
<h3>How is it kept private?</h3>
<p>By using OpenPGP, the best-in-class cryptography. And just like every other client Purism offers as part of Librem One, Librem Mail uses free software-based clients (such as Librem Mail on Android, based on K-9 Mail), across all platforms. This ensures that rights (and freedom) of people using it are protected when third party verification of privacy and security protections is confirmed.</p>
<h3>Will it make communicating with your friends more difficult?</h3>
<p>Maybe you’re worried that such a degree of safety will isolate you. But no, it won&#8217;t, we’d never do that: like all other services offered in the Librem One bundle, Librem Mail allows you to communicate with anybody, inside or outside the librem.one domain. Each server-side service that Purism provides as part of Librem One encompasses a philosophy of decentralization, so you can communicate to other people on other systems. We do not lock you in to one (our) technology company.</p>
<h3>Why is it safer than most email offers?</h3>
<p>It’s safer because we don’t keep your data. Email that isn&#8217;t encrypted isn&#8217;t safe, so we made it temporary. Temporary emails expire after 30 days. If you want to keep a temporary email, just send yourself an encrypted copy. We are aware this is a new approach to email safety, that you may need some time to get used to the idea. So we&#8217;ll only start the timer once the campaign ends (temporary emails sent on the day the campaign ends, or before, will be deleted 30 days after the campaign ends).</p>
<p>As the Mail service evolves, we&#8217;ll add the following features:</p>
<ul>
<li>Discoverable keys: sending email to someone else @librem.one but don&#8217;t have their encryption key? The Librem Mail client will pull it in automatically.<br />
This is called &#8220;Blind Trust Before Verification&#8221;.</li>
<li>Encrypt-on-receipt: If you share your public key, we can encrypt your mail on receipt. Or, no more temporary mail.</li>
</ul>
<p>Both of these convenience options put more trust on the service, so they will be on by default, but you can opt-out. We will elaborate when these features are released.</p>
<p>One other reason Librem Mail is safer it that we use free software, so you can know – and verify – you are not being tracked; and also because we utilize standard protocols and self-hosting options (for your business, your friends, even for yourself). Our services are powered by our own PureOS, Purism’s rights respecting operating system. Librem Mail uses Standard SMTP/IMAP/POP MTA, with OpenPGP, which may sound terribly technical if you are not an advanced user&#8230; but don&#8217;t worry, you don’t really need a lot experience to use Librem Mail.</p>
<p>Here’s <a href="https://docs.puri.sm/Librem_One/Android/Email.html">a quick and simple setup </a>on how to configure advanced options (if you <em>are</em> an advanced user, feel free to connect with other applications native to your system).</p>
<p>&nbsp;</p>
<hr />
<p>Purism offers high-quality privacy, security, and freedom-focused computers, phones, and software. Our platform is meant to empower everyone – including privacy-conscious users, entrepreneurs, business people, developers, writers, digital artists, activists, geeks and defenders of freedom all around the world. We believe people should have secure devices an services that protect them rather than exploit them, and we provide everything you need in a convenient product bundle.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-the-new-librem-mail/">Introducing The New Librem Mail</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Opt-IN, No Ads, and No Tracking Solve a Lot of Problems in Society</title>
		<link>https://puri.sm/posts/opt-in-no-ads-and-no-tracking-solve-a-lot-of-problems-in-society/</link>
		<pubDate>Wed, 01 May 2019 23:21:45 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Service Offering]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[User empowerment]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63390</guid>
		<description><![CDATA[<p>There are a lot of issues with social giants and we are hearing about them daily, from Cambridge Analytica manipulating people through social media feeds, through silicon valley social companies censoring people, to algorithms that discriminate you and the content you see based on your friends or posts or likes. It&#8217;s also a common question [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/opt-in-no-ads-and-no-tracking-solve-a-lot-of-problems-in-society/">Opt-IN, No Ads, and No Tracking Solve a Lot of Problems in Society</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>There are a lot of issues with social giants and we are hearing about them daily, from Cambridge Analytica manipulating people through social media feeds, through silicon valley social companies censoring people, to algorithms that discriminate you and the content you see based on your friends or posts or likes.</p>
<p>It&#8217;s also a common question from the press to Silicon Valley social giants &#8220;what are you going to do about certain content on your private platform?&#8221; and those social giants keep incorrectly answering that question with &#8220;we will censor things on our closed platform based on an evolving policy.&#8221; But this is missing the larger more menacing point.</p>
<p>What most people want is rather simple:</p>
<h3>Opt-in</h3>
<p>Most people want to opt-<em>in</em> to what they want to follow, be that a news feed, a celebrity, a friend, or family. Most people do not want to be force-fed a constant stream of manipulated content to catch and keep their attention.</p>
<h3>No Ads</h3>
<p>Most people want an ad-free experience but are willing to accept some contextual advertising or non-creepy advertising from opt-IN data shared. Most people do not want everything they have ever done and said and shared to be secretly recorded permanently in exchange for using a service online.</p>
<h3>No Tracking</h3>
<p>Most people want to retain their privacy and freedom and most people are concerned about their digital footprint. Most people do not want to be tracked all the time from all devices.</p>
<h1>The Pros and Cons of Timelines</h1>
<p>Every social network tends to have a timeline. The original idea behind a timeline makes sense&#8211;aggregate all of the posts from people in your network and present them in a chronological view. Because so many social networks are funded by ads, however, that quickly changes into posts from your friends as well as overt ads and promoted posts pushed to the top of your feed.</p>
<p>This leads to the next complaint about timelines: hiding chronological order. Ad-driven social networks are in a constant struggle to determine what&#8217;s &#8220;relevant&#8221; to you. They do this not just by collecting raw data about you and your social network, but by tracking you and training their own systems based on how you view posts. This is one reason why social networks try to hide chronological sorting and force you to view posts based on relevance. By tracking which posts you view versus which posts you scroll past, they train their own systems and figure out which ads you&#8217;d most like to see.</p>
<p>The ironic result is that your timeline ends up being full of things you don&#8217;t want to see, dictated by a central authority instead of you.</p>
<h2>Decentralized Timelines</h2>
<p>This problem is most prevalent with ad-funded proprietary social networks but it also shows up in decentralized federated social networks like Mastodon. This is a side-effect of what&#8217;s otherwise a beneficial feature: local and federated timelines. Local timelines show you a live feed of posts that are happening on the local social network (say social.librem.one) and federated timelines show a feed across Mastodon networks. This can be great because it shows you people on the network you haven&#8217;t explicitly followed and posts that your social network haven&#8217;t yet promoted so in that steady stream of new posts there&#8217;s a chance you <em>might</em> find something you like.</p>
<p>The downside to local and federated timelines is that there are also a bunch of posts you aren&#8217;t interested in from people you don&#8217;t want to follow. You don&#8217;t opt in to that feed so when it gets content that you particularly find offensive, distasteful, or not aligned with your views there&#8217;s little recourse unless your opinion of undesirable content happens to match those of the central moderators.</p>
<h2>How We Handle Timelines</h2>
<p>There are plenty of social networks that are trying the traditional opt-out approach. We are trying something completely different at Librem Social: <strong>disabling timelines altogether</strong>. That way you <em>only</em> see content you have explicitly opted into (posts from people you follow). We are also working on additional features to give you even more control over how you view and filter content in a decentralized way instead of relying on a central authority to dictate what should and shouldn&#8217;t show up in your feed. In addition to blocking users, Librem Social will offer flagging of content for DMCA copyright violations, spamming, harassment, and illegal activity.</p>
<p>In our view, the advantage of full opt-in control over your feed outweighs the downside of not being able to discover some content you like (signal) in the public feed amongst all the content you don&#8217;t (noise). Popular content can still spread through the network via organic boosts from people you already follow instead of artificial boosts from relevance algorithms or advertisers.</p>
<h1>A Different Approach to Social Media</h1>
<p>Combining no ads, no tracking, and opt-in is the trifecta of what most people want, because it offers a different approach to how social media functions:</p>
<ul>
<li>It offers no timeline or news feed pushing data onto your device and into your brain.</li>
<li>It offers people to build communities for any legal topic with opt-<em>in</em> for users.</li>
<li>It means things you want to follow you follow, things you don&#8217;t want to follow you don&#8217;t.</li>
<li>It means there is no trending timeline to manipulate.</li>
<li>It means there is no need for private platform censorship policies.</li>
<li>It means people are back in control of what they see, share, and block.</li>
<li>It means digital society can operate the same as it does in the physical world.</li>
<li>It means if you want to be part of the butter-side-up club you can and won&#8217;t see anything from the butter-side-down club, and if you don&#8217;t want butter at all there&#8217;s a club for that too.</li>
</ul>
<p>Adding in decentralized (like email) accounts, based on the popular ActivityPub standard, would allow everybody on the Internet to control and follow anybody they&#8217;re interested in without a centralized Silicon Valley company controlling the entire user-base.</p>
<p>This Opt-in, No Ads, No Tracking, Decentralized, No Timeline social platform is not a complicated idea, but it seems like it will take a social-purpose-driven corporation that isn&#8217;t funded by advertising and data collection to do it.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/opt-in-no-ads-and-no-tracking-solve-a-lot-of-problems-in-society/">Opt-IN, No Ads, and No Tracking Solve a Lot of Problems in Society</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>How Purism Works Upstream and Gives Back</title>
		<link>https://puri.sm/posts/how-purism-works-upstream-and-gives-back/</link>
		<pubDate>Wed, 01 May 2019 17:06:57 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Service Offering]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63466</guid>
		<description><![CDATA[<p>One aspect in free software (and its copyleft licensing) is the benefit of releasing software for others to use as long as the same licensing terms are used. Purism has a long history of giving back and working with upstreams and continues to release everything Purism authors under free software licenses in accordance to Purism&#8217;s [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-purism-works-upstream-and-gives-back/">How Purism Works Upstream and Gives Back</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>One aspect in free software (and its copyleft licensing) is the benefit of releasing software for others to use as long as the same licensing terms are used.</p>
<p>Purism has a long history of giving back and working with upstreams and continues to release everything Purism authors under free software licenses in accordance to Purism&#8217;s <a href="https://puri.sm/about/social-purpose/">Social Purpose Corporation Articles of Incorporation</a>.</p>
<p>In light of our Librem One launch, and since we use free software for our clients and services, it shouldn&#8217;t be a surprise that we use free software considering our commitment not just to free software but to open standards. There is so much we want to tell you about Librem One over the coming weeks from various design decisions, policies, and upstream software that we couldn&#8217;t address all at once on launch day. To start, let&#8217;s talk about the free software that we use in Librem One.</p>
<h1>Clients</h1>
<p>It&#8217;s no secret to anyone familiar with free software on mobile that Librem One apps are based off of popular existing free software applications. Most people understand why we opted to use existing, high-quality applications instead of reinventing the wheel by writing them from scratch. What may be less clear, however, is why we opted to release <em>rebranded</em> applications.</p>
<p>Before we talk about why we rebranded, let&#8217;s highlight the upstream projects our versions are based on:</p>
<ul>
<li>Librem Chat Android: <a href="https://github.com/vector-im/riot-android">https://github.com/vector-im/riot-android</a></li>
<li>Librem Chat iOS: <a href="https://github.com/vector-im/riot-ios">https://github.com/vector-im/riot-ios</a></li>
<li>Librem Social Android: <a href="https://github.com/tuskyapp/Tusky">https://github.com/tuskyapp/Tusky</a></li>
<li>Librem Social iOS: <a href="https://github.com/ReticentJohn/Amaroq">https://github.com/ReticentJohn/Amaroq</a></li>
<li>Librem Mail Android: <a href="https://github.com/k9mail/k-9">https://github.com/k9mail/k-9</a></li>
<li>Librem Tunnel iOS: <a href="https://github.com/pia-foss/vpn-ios">https://github.com/pia-foss/vpn-ios</a></li>
<li>Librem Tunnel Android: <a href="https://github.com/schwabe/ics-openvpn">https://github.com/schwabe/ics-openvpn</a></li>
</ul>
<h2>Why Rebranding?</h2>
<p>A major goal with Librem One was to provide people with convenient and easy-to-use alternatives to big tech services that respected their privacy. The key to this was the combination of <em>decentralized</em> services with a <em>centralized</em> brand. With decentralized services that used open standards and ran on free software, users aren&#8217;t locked in to any one provider and can even host services themselves (more on that in a future blog post).</p>
<p>By putting services under a <em>centralized brand</em>, we make these decentralized services just as convenient to use as the big tech alternatives. That way an end-user doesn&#8217;t have to know what Matrix, ActivityPub, or even IMAP are or try to find all of the applications that work with those services on their particular platform. Instead, they just need to know that they want to chat, join social media, or send email.</p>
<h2>Discoverability</h2>
<p>Many of the changes we made to existing clients and our server configurations were to make it easy to connect with others on Librem One. The goal is for you to be able to say &#8220;you can reach me at <em>username@librem.one</em>&#8221; and regardless of the service, your friend should be able to find you. In many cases the clients and servers didn&#8217;t allow this kind of feature out of the box because the apps are focused on a single service, not a collection under one brand.</p>
<h2>Convenience</h2>
<p>Beyond all of that, convenience is important. We wanted people to be able to switch from existing big tech services without having to fill out a bunch of forms with server information. Instead we wanted them to just type in their <em>username@librem.one</em> login and their password and have the client already configured and ready to use, just like they are used to with big tech alternatives. This required some customization in the existing apps so that they defaulted to using Librem One services while still allowing a user who wanted to, to dig into the settings and use any other provider if they wanted.</p>
<p>If you are interested in the changes we&#8217;ve made, you can check them out at their temporary location <a href="https://source.puri.sm/thomas.markiewicz">here</a>.</p>
<h1>Servers</h1>
<p>In addition to clients, we are also hosting free software services for Librem One. We will elaborate on our services and our plans to make it easy to host them yourself in a future post but for those that are curious we are using Postfix and Dovecot for Librem Mail, Matrix for Librem Chat, and Mastodon for Librem Social. We are <a href="https://puri.sm/posts/purism-becomes-pia-first-oem-partner/">partnering with Private Internet Access</a> for Librem Tunnel.</p>
<h1>Our Contributions</h1>
<p>An non-exhaustive unordered list to summarize our thanks to all the people we&#8217;ve been involved with:</p>
<ul>
<li>Purism <a href="https://blogs.gnome.org/jsparber/2018/11/10/purism-fractal-sponsorship/">funded</a> <a href="https://wiki.gnome.org/Apps/Fractal">Fractal</a></li>
<li>Purism <a href="https://matrix.org/blog/2017/08/24/the-librem-5-from-purism-a-matrix-native-smartphone/">partnered with Matrix</a></li>
<li>Purism funded <a href="https://keysafe.branchable.com/">Keysafe</a> from Debian Developer <a href="https://joeyh.name/">Joey Hess</a></li>
<li>Purism partnered with <a href="https://puri.sm/posts/purism-becomes-pia-first-oem-partner/">Private Internet Access</a></li>
<li>Purism partnered with <a href="https://puri.sm/posts/gnome-foundation-partners-with-purism-to-support-its-efforts-to-build-the-librem-5-smartphone/">GNOME Foundation</a> and <a href="https://puri.sm/posts/librem5-kde-partnership-announcement/">KDE</a></li>
<li>Purism contracts with <a href="https://mastodon.social/@Gargron">Eugene Rochko</a> creator of <a href="https://mastodon.social/about">Mastodon</a></li>
<li>Purism <a href="https://www.davidrevoy.com/article341/review-purism-librem13-laptop">donated</a> a Librem 13 laptop to <a href="https://www.davidrevoy.com/">David Revoy</a> of <a href="https://www.peppercarrot.com/">Pepper &amp; Carrot</a></li>
<li>Purism donates to <a href="https://fsf.org/">FSF</a>, <a href="https://sfconservancy.org/">SFC</a>, and many others</li>
<li>Purism sponsors <a href="https://libreplanet.org/">plenty</a> <a href="https://www.socallinuxexpo.org/">of</a> <a href="https://guadec.org/">conferences</a></li>
<li>Purism releases all <a href="https://source.puri.sm/">software, middleware, server-side code</a>, and <a href="https://docs.puri.sm/">documentation</a> under free software licenses.</li>
<li>Purism sponsors the <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1">FSF endorsed</a> fully-free <a href="https://pureos.net/">PureOS</a></li>
<li>Purism partnered with <a href="https://puri.sm/posts/purism-announces-a-partnership-with-gdquest-to-develop-adaptive-game-tutorials/">GDQuest</a></li>
<li>Purism partnered with <a href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">Nitrokey</a></li>
<li>Purism partnered with <a href="https://puri.sm/posts/purism-collaboration-with-cryptography-expert-werner-koch/">Werner Koch</a></li>
<li>Purism partnered with <a href="https://puri.sm/posts/purism-collaborates-with-cryptocurrency-monero-to-enable-mobile-payments/">Monero</a></li>
<li>Purism partnered with <a href="https://puri.sm/posts/purism-partners-with-nextcloud-to-build-and-include-end-to-end-encrypted-storage-products-and-services/">Nextcloud</a></li>
<li>Purism partnered with HEADS developer <a href="https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/">Trammell Hudson</a> to create <a href="https://puri.sm/posts/complete-pureboot-demo-and-more-progress/">PureBoot</a></li>
<li>Purism authored and released <a href="https://source.puri.sm/Librem5/chatty">Chatty</a> for the Librem 5</li>
<li>Purism authored and released <a>libhandy</a> for GNOME on mobile</li>
<li>Purism authored and released <a href="https://source.puri.sm/Librem5/phosh">phosh</a> a GNOME (pho)ne (sh)ell</li>
<li>Purism <a href="https://source.puri.sm/liberty/smilodon">forked and contracted with Mastodon developers</a></li>
<li>Purism authored and released Librem One <a href="https://source.puri.sm/liberty/ldh_middleware">middleware</a>, <a href="https://source.puri.sm/liberty/ldh_client">cli</a>, <a href="https://source.puri.sm/liberty/ldh_developer">dev tools</a>, <a href="https://source.puri.sm/liberty/ldh_operator">ops tools</a></li>
</ul>
<p>While this list is not complete, it highlights the core beliefs behind Purism, its team commitment, and its free software roots. At Purism we will continue to work with, advance, partner, fund, push upstream, and most importantly release all our software under free software licenses.</p>
<p>Our commitment to working upstream is no better highlighted than by our <a href="https://librem.one/">Librem One</a> bundle of ethical services that are supported by our partners <a href="https://matrix.org/">Matrix</a>, <a href="https://www.privateinternetaccess.com/">PIA</a>, and <a href="https://mastodon.social/about">Mastodon</a>.</p>
<p><a href="https://librem.one/">Sign-up Now</a> and support the movement to protect your digital rights online.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-purism-works-upstream-and-gives-back/">How Purism Works Upstream and Gives Back</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Underscoring Our Transparency: First Librem One Bug Report</title>
		<link>https://puri.sm/posts/underscoring-our-transparency-first-librem-one-bug-report/</link>
		<pubDate>Tue, 30 Apr 2019 21:43:02 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63454</guid>
		<description><![CDATA[<p>We are super excited about our Librem One launch, if you can&#8217;t tell, but to make things even more exciting, we also have hit a different milestone with the service: our first security bug! We believe in transparency in general and especially when it comes to security. Security bugs happen in all software and services [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/underscoring-our-transparency-first-librem-one-bug-report/">Underscoring Our Transparency: First Librem One Bug Report</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are super excited about our <a href="https://puri.sm/posts/the-new-librem-one-services/">Librem One launch</a>, if you can&#8217;t tell, but to make things even more exciting, we also have hit a different milestone with the service: our first security bug! We believe in transparency in general and especially when it comes to security. Security bugs happen in all software and services and our stance is the best approach is not just to address security issues as soon as possible but to be up front and alert <em>you</em> to security issues as soon as possible.</p>
<p>One of our keen community members <a href="https://social.librem.one/@rae">rae</a> discovered a severe security vulnerability in the Librem Chat service that allowed them to login to our chat server as any user. This is obviously a serious vulnerability and so we immediately shut down that chat server while we investigated.</p>
<p>It turns out the bug was related to a change that was made in the unreleased &#8220;master&#8221; branch of the matrix-appservice-ldap3 plugin being used by Librem Chat to authenticate users over LDAP. The bug ultimately came down to a mistake in a <a href="https://github.com/matrix-org/matrix-synapse-ldap3/commit/908469c04944f72db6850205988b5c72bb704d0c">single line of code</a> in a function related to LDAP searches:</p>
<p><code>- result = yield self._ldap_simple_bind(<br />
+ result, _ = yield self._ldap_simple_bind(</code></p>
<p>What a difference an underscore makes. See <a href="https://twitter.com/matrixdotorg/status/1123298776725303299">https://twitter.com/matrixdotorg/status/1123298776725303299</a> for the security notice from the Matrix team</p>
<h1>Impact</h1>
<p>First it&#8217;s important to discuss what this bug <em>didn&#8217;t</em> impact. All other Librem One services including Tunnel, Mail, and Social<strong> were <em>not</em> impacted by this bug</strong>. It was an authentication bug specifically with the Librem Chat service.</p>
<p>Fortunately this bug occurred early in the service launch before too many customers were using chat. We shut down chat immediately upon confirming the bug and the overall outage lasted about 30 minutes while we investigated and patched. We have also taken the precautionary step of removing all existing access tokens, which required any clients that were logged in to re-authenticate.</p>
<p>We do not have any indication of any malicious exploitation of the bug, and any attempts to access a user&#8217;s chat encryption keys would have resulted in a prompt on your own chat client to approve the access from a new device. If you <em>did</em> happen to see that prompt on your account, click the &#8220;Ignore&#8221; link in the notification and contact us at Purism support. If an attacker did manage to login to your chat account, they would have been able to send chat messages as you and also see your chat account details, including your current client&#8217;s IP, if they looked at your account privacy settings.</p>
<p>To check whether someone successfully logged in as you, go to your Librem Chat settings and scroll down to the Devices section. You should only see your Mobile device listed, unless you also logged into Librem Chat via a web client or other client. If you see any other device in that list (in particular a riot.im device) and you did not use that device yourself, then select that device and delete it. If you have any questions about this issue, please contact our support team.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/underscoring-our-transparency-first-librem-one-bug-report/">Underscoring Our Transparency: First Librem One Bug Report</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The New Librem One Services</title>
		<link>https://puri.sm/posts/the-new-librem-one-services/</link>
		<pubDate>Mon, 29 Apr 2019 17:01:03 +0000</pubDate>
		<dc:creator><![CDATA[David Seaward]]></dc:creator>
				<category><![CDATA[Librem One]]></category>
		<category><![CDATA[Service Offering]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63213</guid>
		<description><![CDATA[<p>Tired of your digital life being exploited online? Hi. We’d like to present Librem One. Purism isn’t only about designing and producing secure hardware and software, and we have just added a neat bundle of services to our offer: Encrypted chat &#8211; simple end-to-end encrypted chat, VoIP, and video calling. Encrypted mail &#8211; easy to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-new-librem-one-services/">The New Librem One Services</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="librem-one" style="margin-top: 20px;">
<div class="container">
<p><img class="aligncenter librem-one-logo" src="/wp-content/themes/wp-purism/images/librem-one.svg" alt="" /></p>
<h2 style="text-align: center;">Tired of your digital life being exploited online?</h2>
</div>
</div>
<h2>Hi. We’d like to present Librem One.</h2>
<p>Purism isn’t only about designing and producing secure hardware and software, and we have just added a neat bundle of services to our offer:</p>
<div class="librem-one" style="margin-top: 20px;">
<div class="row grid librem-one-features">
<div class="column-3"><img class="aligncenter size-full" src="/wp-content/themes/wp-purism/images/chat.svg" alt="" /></div>
<div class="column-3"><img class="aligncenter size-full" src="/wp-content/themes/wp-purism/images/email.svg" alt="" /></div>
<div class="column-3"><img class="aligncenter size-full" src="/wp-content/themes/wp-purism/images/tunnel.svg" alt="" /></div>
<div class="column-3"><img class="aligncenter size-full" src="/wp-content/themes/wp-purism/images/social.svg" alt="" /></div>
</div>
<hr />
</div>
<p>Encrypted chat &#8211; simple <b>end-to-end encrypted</b> <b>chat</b>, VoIP, and video calling.</p>
<p>Encrypted mail &#8211; easy to use, <b>end-to-end encrypted email.</b></p>
<p>Encrypted VPN &#8211; toggle your connection <b>to a secure</b> <b>VPN</b> tunnel.</p>
<p>Public social &#8211; safe and <b>privacy-respecting</b><b> social media </b>account.</p>
<p><a style="width:35%;display:block;margin: 40px auto;text-align: center;" class="button-primary" href="//librem.one/">Sign up now and get services that respect you</a></p>
<p>Our bundled, all-in-one services are ethical, respectful of your digital rights and concerned about your privacy – something we guess has been on your mind lately – or maybe for quite some time now. It’s in everyone’s mind, these days: we love the convenience of digital, internet-based services, but we worry about what we read and watch in the news. We love communicating, but communication between peers and family is meant to be private. It’s meant to be safe, and yet we are being harvested. We put our loved ones at risk by emailing them, by tagging their name. Interacting with the ones you love is not meant to serve other’s interests or to exploit you in any way.</p>
<p>At Purism, we are a Social Purpose Company. We don’t exploit you (and, by our own <a href="https://puri.sm/about/social-purpose/">philosophy and contract</a>, we <i>can’t</i> exploit you). We don’t offer advertising services to third parties. We don’t track users. We don’t look at, sell, or share anything – we offer a simple subscription model.</p>
<p>Librem One is a subscription service, using open standards and free software, and it is available for $7.99/mo, or $71.91/yr for the four services. Librem One does offer a basic tier, with encrypted chat and public social, for a pick-your-price from free to $5.99/mo. Librem One bundles popular, convenient services into a single, easy-to-use account – with more services are to be added over time.</p>
<p>Librem One. Pure, ethical services for people with principles.</p>
<hr />
<p>Librem One is a growing bundle of ethical services. By creating a network service that advances social good, societal freedom, personal privacy and the best security, Purism is changing the world for the better. If you’d like to know more or support us, we have an <a href="https://librem.one/">ongoing crowdfunding campaign.</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-new-librem-one-services/">The New Librem One Services</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Complete PureBoot Demo and More Progress</title>
		<link>https://puri.sm/posts/complete-pureboot-demo-and-more-progress/</link>
		<pubDate>Mon, 29 Apr 2019 16:10:43 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63353</guid>
		<description><![CDATA[<p>Hi again! Things have been busy on the PureBoot front since our last blog post on overall coreboot progress. – and we can prove it: we now have a video that walks us through the complete PureBoot demo we showed for the first time at SCALE a few weeks ago. The video, as you can [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/complete-pureboot-demo-and-more-progress/">Complete PureBoot Demo and More Progress</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi again! Things have been busy on the <a href="https://puri.sm/posts/pureboot-the-high-security-boot-process/">PureBoot</a> front since <a href="https://puri.sm/posts/coreboot-news-new-script-pre-built-binaries-and-pureboot-on-non-tpm-laptops/">our last blog post on overall coreboot progress</a>. – and we can prove it: we now have a video that walks us through the complete PureBoot demo <a href="https://puri.sm/posts/purism-at-scale-2019-retrospective-on-secure-pureboot/">we showed for the first time at SCALE</a> a few weeks ago.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63353-43" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/02/pureboot-demo.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="//videos.puri.sm/coreboot/pureboot-demo.mp4?_=43" /><source type="video/webm" src="//videos.puri.sm/coreboot/pureboot-demo.webm?_=43" /><a href="//videos.puri.sm/coreboot/pureboot-demo.mp4">//videos.puri.sm/coreboot/pureboot-demo.mp4</a></video></div>
<p>The video, as you can see, starts with powering on the Librem Laptop with a Librem Key inserted. PureBoot then starts by checking the firmware for tampering and authenticating itself to the Librem Key, which blinks green to indicate the system is safe.</p>
<p>Next we select the Default Boot option, and PureBoot scans the /boot directory for any tampering – and if and when it doesn&#8217;t find any, it starts booting the OS as normal.</p>
<p>Once the OS boots, you see a prompt show up on the screen requesting the user&#8217;s GPG PIN, which demonstrates <a href="https://docs.puri.sm/Librem_Key/Getting_Started/User_Manual.html#decrypt-luks-encrypted-drives-with-librem-key">PureBoot unlocking disk encryption using the Librem Key</a> instead of a passphrase. We find this approach to be more convenient for the user than typing in a long passphrase; and being a 2-factor authentication, it&#8217;s more secure too.<br />
Finally we reboot the machine and simulate tampering, by storing a new shared secret in the TPM chip without the Librem Key inserted. Once we do reboot, PureBoot detects and warns us that the Librem Key isn&#8217;t inserted. We could skip this warning and boot anyway, but we insert it and then the Librem Key flashes red to warn us that there was tampering.</p>
<h1>More PureBoot Improvements</h1>
<p>In addition to the demo, we&#8217;ve also made a number of PureBoot improvements since our last blog post:</p>
<h2>Dynamic USB disk detection</h2>
<p>In the past you had to hard-code a specific disk device, in order for PureBoot to use when booting or using a USB disk – which was clunky, and caused some problems to those trying to set up PureBoot for the first time on a system with only an NVMe drive. Now it dynamically detects any USB disks that are present – and if more than one exists, you get a prompt; otherwise it just automatically uses the one it finds.</p>
<h2>Other Improvements</h2>
<p>We&#8217;ve also added a number of cosmetic improvements to the initial boot screens, including removing or changing certain prompts that were proving confusing to some of our beta testers. We&#8217;ve also added an automated &#8220;OEM factory reset&#8221; option to the GPG menu, that will factory reset a Librem Key and then generate a new random GPG key on the device – and add it to PureBoot firmware in an automated way.</p>
<figure id="attachment_63370" style="width: 667px" class="wp-caption alignnone"><img class="size-full wp-image-63370" src="https://puri.sm/wp-content/uploads/2019/04/heads_advanced_settings.png" alt="Heads Advanced Settings Menu" width="667" height="518" srcset="https://puri.sm/wp-content/uploads/2019/04/heads_advanced_settings.png 667w, https://puri.sm/wp-content/uploads/2019/04/heads_advanced_settings-300x233.png 300w" sizes="(max-width: 667px) 100vw, 667px" /><figcaption class="wp-caption-text">The Improved Advanced Settings Menu in Heads</figcaption></figure>
<p>We&#8217;ve also updated the official PureBoot documentation at <a href="https://docs.puri.sm/PureBoot.html">https://docs.puri.sm/PureBoot.html</a> to describe how to use our new coreboot utility to pull down pre-built PureBoot firmware, so you no longer have to compile it yourself.</p>
<h1>What&#8217;s Next</h1>
<p>The introduction of pre-built PureBoot firmware has brought in a new wave of beta testers, which in turn has led to a fresh set of improvements. Each of these changes brings us closer to PureBoot being ready for general availability… we are looking forward to being able to announce PureBoot as a pre-installed, pre-configured option when buying new Librem laptops with a Librem Key very soon, so stay tuned for more Pureboot news!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/complete-pureboot-demo-and-more-progress/">Complete PureBoot Demo and More Progress</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 App Design Tutorial &#8211; Part I</title>
		<link>https://puri.sm/posts/librem-5-app-design-tutorial-part-i/</link>
		<pubDate>Thu, 25 Apr 2019 10:56:30 +0000</pubDate>
		<dc:creator><![CDATA[Tobias Bernard]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63330</guid>
		<description><![CDATA[<p>Are you excited about the Librem 5 and GNOME going mobile, and do you want to start building our own, brand new app for it? Well, the first thing you need is, of course, to design the new app – this can be a bit challenging on its own, especially if you&#8217;re starting out with [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-app-design-tutorial-part-i/">Librem 5 App Design Tutorial &#8211; Part I</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Are you excited about the Librem 5 and GNOME going mobile, and do you want to start building our own, brand new app for it? Well, the first thing you need is, of course, to design the new app – this can be a bit challenging on its own, especially if you&#8217;re starting out with a new platform.</p>
<p>This is the first of a series of blog posts which will walk you through some of the most important UI patterns, and guide you step-by-step during the process of going from idea to mock-up. We will be using a read-it-later app as example. To start with, let’s get some context, and take a look at philosophy and process, goals and relevant art.</p>
<h2 class="western">GNOME Design Philosophy</h2>
<p>It’s always good to familiarize yourself with the design philosophy of a platform before starting to actually design in it. The <a href="https://developer.gnome.org/hig/stable">GNOME Human Interface Guidelines</a> explains this philosophy quite well in the <a href="https://developer.gnome.org/hig/stable/design-principles.html.en">“design principles” page</a>, which you may want to read in its entirety; meanwhile, here are some of its most important points:</p>
<p><strong>Simplicity and focus</strong> Make sure your goals (for the app) are clear from the outset, and focus on those. It’s better to make a separate application to cover an additional use case than cramming too many things into one app (e.g., video podcasts are different enough from audio podcasts to be better off as an app of their own).<br />
<strong>Search and undo</strong> If there are large amounts of content in your app, provide full-text search so things are easy to find. People are likely to make mistakes: make data hard to lose, and <a href="https://alistapart.com/article/neveruseawarning">never use a warning when you mean undo.</a><br />
<strong>Avoiding preferences</strong> Adding an extra option may seem like a good, quick fix, but in most cases it is treating the symptoms rather than the cause. Try to figure out what that cause is instead, fix the problem for everyone; I highly recommend <a href="https://ometer.com/preferences.html">this article by Havoc Pennington</a> on the topic.</p>
<h2>Design Process</h2>
<p>Now that we’re aware of all the right, high-minded ideals, we will consider the design process itself. So, let’s say we want to design a great read-it-later app.<br />
If we follow the GNOME design process, which primarily consists of three steps (plus iterations), we will have to: first, defining goals, and non-goals, for our app; second, collecting relevant art, i.e. examples of similar apps (to borrow ideas from); and finally, making sketches/mockups of detail views and user flow.</p>
<h2>Defining Goals</h2>
<p>We’re about to design a native client app for read-it-later web services (such as Pocket). Services like these allow us to store articles or other web pages we’re interested in, but don’t have the time to read immediately. Using them means we can catch up on all the stuff we saved later, when we have more time. This means our primary goals are going to be:</p>
<p>• Listing saved articles<br />
• Providing a great, focused experience for reading articles in the app<br />
• Helping to catch up with the reading list<br />
• Storing articles offline so they can be read without a network connection</p>
<p>Along with goals, we will also set some non-goals (i.e. things that are out of the scope of this application):</p>
<p>• Social features<br />
• Content discovery</p>
<h2>Relevant Art</h2>
<p>Our next step is to find examples of existing apps that do similar things. It’s good to look at how other people have solved the same problems, what they did well (and what could be improved) before jumping right into designing a new app.</p>
<p>Or: let’s check the competition.</p>
<p><strong>Pocket</strong>, on Android, has way too many features – and a pretty complicated interface. It has many different categories, social features, a discover section, text-to-speech, and much more; most of these features are rarely used and make the app feel quite cluttered. Pocket is also not very good at helping you get through your list of saved pages; it mostly wants you to discover new things to save (and then not read them).</p>
<p>Clearly there are some lessons to be learned here.</p>
<p><img class="size-medium wp-image-63345" src="https://puri.sm/wp-content/uploads/2019/04/pocket.png" alt="Pocket on Android - screenshots" srcset="https://puri.sm/wp-content/uploads/2019/04/pocket.png 1060w, https://puri.sm/wp-content/uploads/2019/04/pocket-300x187.png 300w, https://puri.sm/wp-content/uploads/2019/04/pocket-768x478.png 768w, https://puri.sm/wp-content/uploads/2019/04/pocket-1024x638.png 1024w" sizes="(max-width: 1060px) 100vw, 1060px" /></p>
<p><strong>Instapaper</strong> is an app we’ve never really used, but judging from the screenshots, Instapaper’s UI feels a lot saner and way more focused than Pocket. The rich article previews in the list view and the typography are also quite nice.</p>
<p><img class="size-medium wp-image-63351" src="https://puri.sm/wp-content/uploads/2019/04/instapaper.png" alt="Instapaper on iOS (screenshots from App Store listing)" srcset="https://puri.sm/wp-content/uploads/2019/04/instapaper.png 1060w, https://puri.sm/wp-content/uploads/2019/04/instapaper-300x226.png 300w, https://puri.sm/wp-content/uploads/2019/04/instapaper-768x580.png 768w, https://puri.sm/wp-content/uploads/2019/04/instapaper-1024x773.png 1024w" sizes="(max-width: 1060px) 100vw, 1060px" /></p>
<p><a href="https://www.wallabag.it/"><strong>Wallabag</strong></a> is a self-hosted alternative to both Pocket and Instapaper. The corresponding Android client (also called Wallabag) is not very sophisticated UI-wise, but it is quite a good example of a very simple native client.</p>
<p><img class="size-medium wp-image-63352" src="https://puri.sm/wp-content/uploads/2019/04/wallabag-android.png" alt="Wallabag for Android (screenshots from Google Play listing)" srcset="https://puri.sm/wp-content/uploads/2019/04/wallabag-android.png 740w, https://puri.sm/wp-content/uploads/2019/04/wallabag-android-300x268.png 300w" sizes="(max-width: 740px) 100vw, 740px" /></p>
<p>Structurally, these apps are all quite similar: they feature a main view with a list of articles, plus an article view that displays the articles in a clean, readable format. Depending on what service we are looking at, there are multiple lists for different types of articles – such as Archive, Highlights, Favorites, Notes, etc. To keep things simple, and because we’re targeting Wallabag first and foremost since it’s the only self-hosted service, we’re keeping three categories only: Unread, Archive, and Favorites. This means we need to design four main screens for our application: the three article categories plus a reader view to display the content.</p>
<p>We know our needs, and we may close this part of the design process. You should have, by now, a very clear idea of what you need in order to design an application for the Librem 5, and of the GNOME design philosophy guidelines. Later on, we’ll be guiding you through the rest of the application design process – stay tuned for the second part of this tutorial, to be published soon!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-app-design-tutorial-part-i/">Librem 5 App Design Tutorial &#8211; Part I</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>April Progress Update – Librem 5 Hardware</title>
		<link>https://puri.sm/posts/april-progress-update-librem-5-hardware/</link>
		<pubDate>Tue, 23 Apr 2019 11:24:25 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63262</guid>
		<description><![CDATA[<p>Things are as awesome as usual. Hi again, everyone! A lot has happened during these last few months of work, so get ready for a thorough Librem 5 hardware update report. Conferences Springtime seems to bring both nicer weather and plenty of events, and this year&#8217;s was no exception: Guido and Nicole went to Embedded [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/april-progress-update-librem-5-hardware/">April Progress Update – Librem 5 Hardware</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h3>Things are as awesome as usual.</h3>
<p>Hi again, everyone! A lot has happened during these last few months of work, so get ready for a thorough Librem 5 hardware update report.</p>
<h2>Conferences</h2>
<p>Springtime seems to bring both nicer weather and plenty of events, and this year&#8217;s was no exception: Guido and Nicole went to Embedded World and met some very interesting people, while Tobias went to a GNOME Design Tooling Hackfest and worked on a number of ways to improve the workflow for those making GNOME app icons – including previewing hicolor and symbolic from a single template, auto-generated nightly icons and a new symbolics library app. Other team members attended LibrePlanet and saw <a href="https://puri.sm/posts/purism-at-libreplanet-2019-showcasing-the-librem-5-phone/">a lot of excitement in the community about the devkit</a>.</p>
<h2>Design</h2>
<p>In terms of design, <a href="https://gitlab.gnome.org/Teams/Design/mockup-resources/blob/master/pattern-templates.svg">the GNOME mockup templates were updated</a> to include mobile screens, and thanks to Alexander Mikhaylenko from the community we now have a <a href="https://gitlab.gnome.org/exalm/phone-mockup">more realistic interactive mockup of the gestures for phosh</a>; and GNOME 3.32 was released, containing many interesting things for our Librem 5 phone, such as a new app icon style and some adaptive core apps. There is now an <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/files/files-adaptive-sidebar.png">initial adaptive mockup for Nautilus</a>, and a <a href="https://blogs.gnome.org/tbernard/2019/03/27/designing-for-the-librem-5/">nice tutorial blog post</a> was written to serve as an introduction to designing apps for the Librem 5. See below for a preview of the Librem 5 shell mockups:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63262-44" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/l5shellmockup.mp4?_=44" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/l5-shell-mockup.webm?_=44" /><a href="https://puri.sm/wp-content/uploads/2019/04/l5shellmockup.mp4">https://puri.sm/wp-content/uploads/2019/04/l5shellmockup.mp4</a></video></div>
<h3>Software</h3>
<h2>Images</h2>
<p>We have the new kernel builds integrated with the image-builder scripts, and finished <a href="https://source.puri.sm/Librem5/flash-kernel/">flash-kernel</a> and initrd rollout. The changes have been <a href="https://salsa.debian.org/installer-team/flash-kernel/merge_requests/4">submitted upstream</a>. Bug fixes included <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924113">fixing an issue upstream when attempting to grow the root filesystem on first boot,</a> which has been <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924248">included in Debian buster</a> – and this gives the root file system enough space to install Flatpaks. We also made some <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/21">minor cleanups around the clocks and audio subsystem</a>.</p>
<h2>Mesa</h2>
<p>We have had some issues with stability and texture corruption with the GC7000, and there is an ongoing investigation to resolving this. Two upstream bugs were found and fixed: a <a href="http://lists.freedesktop.org/archives/mesa-dev/2019-March/217382.html">segfault in GALLIUM_TRACE</a> and a <a href="https://lists.freedesktop.org/archives/mesa-dev/2019-April/217422.html">segfault in GALLIUM_DDEBUG</a>.</p>
<h2>Gnome-settings-daemon</h2>
<p>Thanks to Benjamin Berg and his review on the <a href="https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/43">initial wwan plugin</a>, we are now much closer to having this functionality in GNOME Settings.</p>
<h2>Compositor</h2>
<p>We also started experimenting with our own forked compositor, after some additional bug fixes – and even added features – and are just waiting for a few more pieces to fall into place before releasing it, so stay tuned! Concerning upstream wlroots bug fixes, <a href="https://github.com/swaywm/wlroots/pull/1582">we have made some functions static</a>, <a href="https://github.com/swaywm/wlroots/pull/1585">fixed a build issue</a>, <a href="https://ftp-master.debian.org/new/wlroots_0.4.1-1.html" class="broken_link">uploaded wlroots v0.4.1</a> and <a href="https://ftp-master.debian.org/new/wlroots_0.5.0-1.html" class="broken_link">wlroots v0.5.0-1 </a>to Debian experimental, <a href="https://github.com/swaywm/wlroots/pull/1625">added support for supplying the preferred mode to the drm backend</a>, and <a href="https://github.com/swaywm/wlroots/pull/1637">fixed layer shell popups in rootston</a>.</p>
<h2>Voice Calls</h2>
<p>Concerning voice calls, our focus right now is testing call audio. In aid of this, we have been debugging DMA operations in the kernel, in order to discover why the audio buffer isn’t being filled quickly enough during playback through the SGTL5000 audio codec. The SIM7100 modem and the i.MX8&#8217;s SAI interface are also being investigated; while the latter is receiving PCM data, DMA transactions aren’t reading said data.</p>
<h2>Libhandy</h2>
<p>As far as Libhandy is concerned, <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/239">a new expander row property was added</a>, and it is useful to reveal external widgets depending on the state of the row. We are now working on adding a new <a href="https://source.puri.sm/Librem5/libhandy/issues/64">adaptive view switcher</a>, <a href="https://source.puri.sm/Librem5/libhandy/tags/v0.0.9">released version 0.0.9</a> and <a href="https://buildd.debian.org/status/package.php?p=libhandy">uploaded it to Debian</a>. The team has also updated the libhandy version being used in GNOME <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/424">settings</a>, <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/65">contacts</a>, and <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/220">web</a> to v0.0.9 (see below for an example of the prototype of HdyPreferences window). Last but not least, the team <a href="https://source.puri.sm/Librem5/libhandy/issues/93">fixed a regression bug</a>, <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/236">improved compatibility with glade</a> and <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/242">cleaned up style handling</a>.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63262-45" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4?_=45" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/HdyPreferences-window.webm?_=45" /><a href="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4">https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4</a></video></div>
<h2>Text Messaging</h2>
<p>We worked on enhancing the color scheme: from now on, all messages from unknown contacts will be colored red in the “Chats” list messages (but it can be disabled in the settings). A menu entry for adding unknown users to the contacts list and a &#8220;Leave Chat&#8221; entry in the main menu were also added. Chat logs are now preserved after chats are left, and chats remain when “Start Chat” (with the same contact) is opened. The “Delete Chat” behavior was improved – it now removes both the chat history and the chat. We have also worked with the design team to update, and improve, the UI – and, in terms of bug fixes, a severe issue that led to a segfault when the member list was updated was fixed, as was an issue that prevented new chats from being shown in the ‘Chats’ list. See bellow for a preview of the Librem 5 Chatty color scheme:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63262-46" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/chattycolorscheme.mp4?_=46" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/chatty-color-scheme.webm?_=46" /><a href="https://puri.sm/wp-content/uploads/2019/04/chattycolorscheme.mp4">https://puri.sm/wp-content/uploads/2019/04/chattycolorscheme.mp4</a></video></div>
<p>&nbsp;</p>
<h2>Kernel</h2>
<p><strong>Linux 4.18</strong></p>
<p><a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/19">The userspace firmware load helper has been disabled</a> since it is not needed and can be problematic; <a href="https://source.puri.sm/Librem5/linux-emcraft/commit/5df32225181db3133b863f1692640c2357229b64">a magnetometer was added</a> and the <a href="https://source.puri.sm/Librem5/linux-emcraft/commit/a895838ea45724f0d2f5968784ef8f4db683f5a4">power key was enabled</a>.</p>
<p><strong>Linux 5.X</strong></p>
<p>We submitted the <a href="https://patchwork.freedesktop.org/series/57132/">devkit&#8217;s LCD panel driver</a> upstream, found and fixed an issue in the device tree where <a href="https://source.puri.sm/Librem5/linux-next/merge_requests/3">SAI6_RXD0 and SAI6_TXD0 needed to be swapped</a> for the WWAN module, moved the <a href="https://source.puri.sm/Librem5/linux-next/tree/f/5.0/redpine">redpine driver to the 5.0 kernel</a>; we also posted a <a href="https://patchwork.freedesktop.org/series/58817/">patchset to add initial support of the Mixel DPHY</a> and a <a href="https://lists.freedesktop.org/archives/dri-devel/2019-March/209685.html">patchset to add initial support for the NWL MIPI DSI host controller</a>, as found on the i.MX8MQ SoC. A patch to <a href="https://lkml.org/lkml/2019/3/18/1003">enable the updated TMU driver</a> was submitted, and a <a href="https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-testing&amp;id=5a441aade5b381fd2a0a2f83cea5e1b1f57d6afd">VCNL404 light and proximity sensor driver</a> added, as found on the Librem5 devkit. We have also <a href="https://lkml.org/lkml/2019/3/11/1300">submitted the librem5-devkit devicetree upstream</a> – and the proposed <a href="http://openocd.zylin.com/#/c/4501/">change to OpenOCD, in order to add a m4 target</a>, was accepted. Our upstream bug fixes included <a href="https://patchwork.kernel.org/patch/10869563/">correcting some examples in the dt-bindings docs</a>.</p>
<h3>Hardware</h3>
<p>When it comes to hardware, the team has continued working on our schematic of the Librem 5, tested an <a href="https://source.puri.sm/Librem5/linux-next/commit/9517fe1ba0872c1bc7b4fc146265f9b143c65732">antenna patch</a> with a recent build of U-Boot with the 5.0 kernel and generally continued the hardware devkit testing, especially around power and testing a prepaid SIM card showing a phone call is able to be placed. We also fixed a U-Boot issue that <a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/10">changes the charge controller&#8217;s slave address properly be 0x6B</a>, and thanks to Hugo from the community, <a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/7">u-boot has been refactored</a>. The team is now reviewing camera choices.</p>
<h3>Our Community</h3>
<p>Regarding community outreach, there was a mention of the Librem 5 devkit on the <a href="http://kicad-pcb.org/made-with-kicad/page/3/">KiCad page</a>; the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Troubleshooting.html">troubleshooting section related to devkits</a> in the documentation got some additions, and it was reorganized so users can find what they are looking for even quicker. Clayton from the community <a href="https://developer.puri.sm/Librem5/Hardware_Reference.html#headers">added the UART pinout table</a> (which is very useful for debugging) to the documentation, and Bhushan Shah updated the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Install_Plasma_Mobile.html">tutorial on installing Plasma mobile</a> in the documentation (thank you); an <a href="https://developer.puri.sm/Librem5/Apps/Tutorials/Adaptive_UI/index.html">adaptive UI tutorial</a>, a <a href="https://developer.puri.sm/Librem5/Apps/Guides/Permissions/index.html">guide to sandboxing permissions</a>, an <a href="https://developer.puri.sm/Librem5/Apps/Examples/Networking/NetworkState/index.html">example regarding network state</a> and a very a nice <a href="https://developer.puri.sm/Librem5/Apps/Examples/General/Treasure/index.html">example on writing an application</a> were also added to the documentation.<br />
A big “Thanks!” to all the external teams that have helped review and merge changes into upstream projects. Your time and contribution are much appreciated.</p>
<p>That’s all for now, folks – stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/april-progress-update-librem-5-hardware/">April Progress Update – Librem 5 Hardware</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/04/l5-shell-mockup.webm" length="734801" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/HdyPreferences-window.webm" length="1127373" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/chatty-color-scheme.webm" length="1409886" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/l5shellmockup.mp4" length="483551" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4" length="551131" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/chattycolorscheme.mp4" length="1270718" type="video/mp4" />
		</item>
		<item>
		<title>Purism&#8217;s Librem 5 Progress in Videos</title>
		<link>https://puri.sm/posts/purisms-librem-5-progress-in-videos/</link>
		<pubDate>Wed, 17 Apr 2019 15:10:05 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Communications infrastructure]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63071</guid>
		<description><![CDATA[<p>The Purism team is making a remarkable progress to deliver the Librem 5 phone. Nothing shows the progress we have been making quite as clearly as a demonstration of the Librem 5 status from the devkit itself – so let us take you through a handful of (short) videos showcasing the current possibilities and development [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-librem-5-progress-in-videos/">Purism&#8217;s Librem 5 Progress in Videos</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">The Purism team is making a remarkable progress to deliver the Librem 5 phone.</h2>
<p>Nothing shows the progress we have been making quite as clearly as a demonstration of the Librem 5 status from the devkit itself – so let us take you through a handful of (short) videos showcasing the current possibilities and development of our Librem 5 devkit:</p>
<h2>Bootup in under 10 seconds</h2>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63071-47" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/04/Bootup.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-power-up-2019-04-05.mp4?_=47" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-power-up-2019-04-05.webm?_=47" /><a href="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-power-up-2019-04-05.mp4">https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-power-up-2019-04-05.mp4</a></video></div>
<p>In this video we get to witness the devkit’s amazingly fast bootup – less than 10 seconds!</p>
<h2>Incoming call</h2>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63071-48" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/04/Incoming.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-voice-calling-2019-04-05.mp4?_=48" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-voice-calling-2019-04-05.webm?_=48" /><a href="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-voice-calling-2019-04-05.mp4">https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-voice-calling-2019-04-05.mp4</a></video></div>
<p>Here we are, receiving a voice call on the Librem 5 devkit.</p>
<h2>SMS text messaging in chat application</h2>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63071-49" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/04/messaging-1.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-sms-text-messaging-2019-04-05.mp4?_=49" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-sms-text-messaging-2019-04-05.webm?_=49" /><a href="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-sms-text-messaging-2019-04-05.mp4">https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-sms-text-messaging-2019-04-05.mp4</a></video></div>
<p>Using the Librem 5 chat application to send and receive sms text messages (and hello world).</p>
<h2>Web browsing and video playback</h2>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63071-50" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/04/browsing.jpg" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-web-browser-2019-04-05.webm?_=50" /><a href="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-web-browser-2019-04-05.webm">https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-web-browser-2019-04-05.webm</a></video></div>
<p>You can now browse the web, choose a video and watch it play.</p>
<h2>Librem 5 devkit to devkit calling</h2>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63071-51" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/04/calling.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-devkit-to-devkit-call-2019-04-05.mp4?_=51" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-devkit-to-devkit-call-2019-04-05.webm?_=51" /><a href="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-devkit-to-devkit-call-2019-04-05.mp4">https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-devkit-to-devkit-call-2019-04-05.mp4</a></video></div>
<p>And finally, the really awesome one that never fails to amaze: voice calling from devkit to devkit.</p>
<p>That’s it for now, we hope you are as happy about what you’ve just seen as we all are.</p>
<p>&nbsp;</p>
<hr />
<p style="text-align: center;"><a class="button-primary" href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">You can pre-order your Librem 5 phone now</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-librem-5-progress-in-videos/">Purism&#8217;s Librem 5 Progress in Videos</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-power-up-2019-04-05.webm" length="1498988" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-power-up-2019-04-05.mp4" length="668655" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-voice-calling-2019-04-05.webm" length="750333" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-voice-calling-2019-04-05.mp4" length="435222" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-sms-text-messaging-2019-04-05.webm" length="1941888" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-sms-text-messaging-2019-04-05.mp4" length="560951" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-web-browser-2019-04-05.webm" length="4623668" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-devkit-to-devkit-call-2019-04-05.webm" length="7777657" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/purism-librem-5-devkit-to-devkit-call-2019-04-05.mp4" length="4962572" type="video/mp4" />
		</item>
		<item>
		<title>Purism at SCaLE 2019 – Retrospective on Secure PureBoot</title>
		<link>https://puri.sm/posts/purism-at-scale-2019-retrospective-on-secure-pureboot/</link>
		<pubDate>Mon, 15 Apr 2019 15:09:20 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63065</guid>
		<description><![CDATA[<p>In March, Purism took part in the Southern California Linux Expo – SCaLE 2019. Once again, we were so busy we barely had the time to leave our booth: people were very interested in the Librem 5 devkit hardware, in the latest version of the Librem laptops and PureOS, on having the same apps for [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-at-scale-2019-retrospective-on-secure-pureboot/">Purism at SCaLE 2019 – Retrospective on Secure PureBoot</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>In March, Purism took part in the Southern California Linux Expo – SCaLE 2019.</h2>
<p><a href="https://puri.sm/posts/purism-at-libreplanet-2019-showcasing-the-librem-5-phone/">Once again</a>, we were so busy we barely had the time to leave our booth: people were very interested in the Librem 5 devkit hardware, in the latest version of the Librem laptops and PureOS, on having the same apps for the Librem laptops and the Librem 5 phone… so we got to do the full pitch. On a less technical note, our swag was quite a success. People told us they loved our paper notebook and carpenter pencil, and asked questions about the pencils – which, according to Kyle Rankin, Chief Security Officer of Purism, have a section that is “kind of shaped like our logo”, and being carpenter pencils “are designed so you can sharpen them without having to use a proprietary pencil sharpener.” Visitors (and team) loved them for being beautiful, unusual and useful.</p>
<p><img class="aligncenter size-medium wp-image-63225" src="https://puri.sm/wp-content/uploads/2019/04/sri-300x300.png" alt="" width="300" height="300" srcset="https://puri.sm/wp-content/uploads/2019/04/sri-300x300.png 300w, https://puri.sm/wp-content/uploads/2019/04/sri-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/04/sri-768x768.png 768w, https://puri.sm/wp-content/uploads/2019/04/sri-1024x1024.png 1024w, https://puri.sm/wp-content/uploads/2019/04/sri.png 1080w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>Above all, our audience wanted to see the PureBoot demos (apart from an inspirational young attendee, who asked his grandmother to take him to SCaLE specifically so he could meet Todd Weaver, our founder and CEO) – and each time we thought we could take a break, someone else came up and asked about PureBoot. We had constant demonstrations of PureBoot on a Librem 13v4 and Librem Key, and got lots of excitement from the security community and enterprise customers – national <em>and</em> international.</p>
<p>PureBoot, as introduced <a href="https://puri.sm/posts/pureboot-the-high-security-boot-process/">earlier</a>, is a combination of hardware – a trusted platform module (TPM) inside a Librem laptop – with a disabled Management Engine. It boots using a coreboot BIOS and a Heads payload, that verifies it hasn’t been tampered with, using a Librem Key. This combination is the strongest security available in computing devices. Unlike other secured boot processes, this combination also allows you to control and sign with your own keys. We were frequently asked to demonstrate PureBoot for enterprise use cases – specifically, what the best-practices would be for an enterprise to secure their fleet of laptops; these same enterprise best-practices may also be applied to an individual, whether a beginner or a security expert.</p>
<p>During the in-person demonstration, Purism team members showcased for the first time the complete PureBoot solution from start to finish (and we are about to get technical):</p>
<ul>
<li>A Librem 13v3 /boot partition was frozen in time and signed with a user-generated gpg key, on a Librem Key. The happy path is proven by an inserted Librem Key; the Librem laptop is powered on to show the device matches the previous known-good-state – and the LED blinks green.</li>
<li>The system is booted and PureBoot unlocks the encrypted disk, using the Librem Key and the user’s PIN. The Librem Key is then removed, and a malicious attack is simulated by modifying the secrets stored in the TPM.</li>
<li>The Librem Key is inserted, the Librem laptop powered back on, the measurements failed to match – alerting the user that the device was tampered with (since the last known-good-state) by a bright red screen on the Librem laptop, and a constantly blinking red LED on the Librem Key.</li>
<li>The user of the Librem laptop can now decide how to handle the tampered-with laptop: by flipping the Hardware Kill Switch on the WiFi/BT and deciding to boot; by booting from a known-good USB recovery OS and performing forensics on the system; or by working with Purism to return the system to a known-good factory state.</li>
</ul>
<h2>PureBoot Enterprise Best Practices</h2>
<p>The best practices for enterprise using Pureboot were also described to a regular audience at the Purism booth in Pasadena, and here they are, for reference:</p>
<ul>
<li>The IT/Security department uses an airgapped Librem Laptop, and they generate GPG keys for all staff and copy the GPG key per staff, onto an individual’s Librem Key;</li>
<li>They physically label the Librem Key for the staff member, sign the staff member’s Librem laptop with the Librem Key, hand the Librem laptop (and Librem Key) to the staff member, who boots and sets up the Librem laptop like normal; uses the Librem Key for tamper-detection, disk-decryption, mail encryption among other uses, such as anti-interdiction;</li>
<li>If a Librem Key is lost, a new key can be created from the airgapped backup Librem laptop, and handed to the staff member.</li>
<li>If a device was tampered with, the IT/Security department can have any number of policies implemented including: Librem laptop drops to offline mode for document recovery; Librem laptop optionally wipes the disks, or Librem laptop flags the user to bring it to IT/Security.</li>
</ul>
<p>This offers the best in class enterprise control, measuring single-bit detection and tampering on a signed image – while subscribing to the usable computing practice of “boot not brick” of devices in the field.</p>
<p>It was really nice meeting you at SCaLE, and we hope to see you next time.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-at-scale-2019-retrospective-on-secure-pureboot/">Purism at SCaLE 2019 – Retrospective on Secure PureBoot</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Coreboot News: New Script, Pre-built Binaries and PureBoot on Non-TPM Laptops</title>
		<link>https://puri.sm/posts/coreboot-news-new-script-pre-built-binaries-and-pureboot-on-non-tpm-laptops/</link>
		<pubDate>Thu, 11 Apr 2019 14:05:17 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63149</guid>
		<description><![CDATA[<p>Things have been busy in the coreboot department, lately, and we are excited to announce a number of new improvements: Pre-built binaries of our default coreboot BIOS firmware Pre-built binaries of our tamper-evident PureBoot firmware Improved script to automate coreboot builds and flashing from pre-built binaries PureBoot tamper-evident support for non-TPM Librem 13 version 2 and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/coreboot-news-new-script-pre-built-binaries-and-pureboot-on-non-tpm-laptops/">Coreboot News: New Script, Pre-built Binaries and PureBoot on Non-TPM Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Things have been busy in the <a href="https://puri.sm/coreboot/">coreboot</a> department, lately, and we are excited to announce a number of new improvements:</p>
<ul>
<li>Pre-built binaries of our default coreboot BIOS firmware</li>
<li>Pre-built binaries of our tamper-evident <a href="https://puri.sm/posts/pureboot-the-high-security-boot-process/">PureBoot</a> firmware</li>
<li>Improved script to automate coreboot builds and flashing from pre-built binaries</li>
<li>PureBoot tamper-evident support for non-TPM Librem 13 version 2 and Librem 15 version 3 systems</li>
</ul>
<h1>Pre-built Binaries</h1>
<p>In the past, updating to our latest coreboot BIOS images required you to go through an automated, yet time-consuming process, of downloading and compiling coreboot from scratch. While we know that many people prefer building the firmware from source–after all that’s one of the big advantages to using free software –some would rather have the convenience of pre-built binaries, for the same reason they like pre-built binaries for regular OS packages.</p>
<p>This is a way of getting convenience while also knowing the ROM you are loading has already been tested for your particular laptop version. Just like with our regular coreboot BIOS, trying out our beta PureBoot firmware images–that use <a href="https://docs.puri.sm/PureBoot/Heads.html">Heads</a> instead of SeaBIOS–required users to go through a somewhat complicated process of building from source. While we hope to soon offer PureBoot as a pre-install option when you buy a laptop, in the mean time we will be <strong>providing pre-built PureBoot firmware binary images.</strong></p>
<p>Starting today, you can get binary ROM images both for our traditional coreboot <em>and</em> PureBoot in the <a href="https://source.puri.sm/coreboot/releases">https://source.puri.sm/coreboot/releases</a> repository. We&#8217;ve already <a href="https://puri.sm/posts/neutralizing-intel-management-engine-on-librem-laptops/">disabled and neutralized the Intel Management Engine</a> in these pre-built images as well. As we update and make improvements to coreboot, we will keep these images up-to-date—a great reference point if you want to make sure you are running firmware with the latest updates and security improvements.</p>
<h1>Improved Flashing Script</h1>
<p>Providing pre-built images is a good start to making our coreboot images easier to install and update, but we do realize most people don’t want to figure out how to use flashrom on the command line, and we are releasing a new and improved flashing script at <a href="https://source.puri.sm/coreboot/utility">https://source.puri.sm/coreboot/utility</a> so it’s easier to either pull down the latest pre-built coreboot binary, or build it yourself. If you are using the traditional coreboot BIOS, it will even flash the update for you, whether you want to update the traditional SeaBIOS coreboot image or transition over to PureBoot. Current PureBoot users should flash from within the trusted Heads environment itself: the script detects it and provides users with instructions on which ROM file they should copy to a USB disk and flash.</p>
<p>To use the improved script, copy <a href="https://source.puri.sm/coreboot/utility/raw/master/coreboot_util.sh">https://source.puri.sm/coreboot/utility/raw/master/coreboot_util.sh</a> and run it as root. The README for the script lists what dependencies you need, and the script itself will also detect and alert you if you are missing packages it needs:</p>
<pre>mkdir ~/updates
cd ~/updates
wget https://source.puri.sm/coreboot/utility/raw/master/coreboot_util.sh -O coreboot_util.sh
sudo bash ./coreboot_util.sh</pre>
<h1>PureBoot Tamper-evident Support for Legacy non-TPM Laptops</h1>
<p>We make sure our own security, and our improvements aren’t limited to those who buy our latest hardware. This is why we <a href="https://puri.sm/posts/librem-13-coreboot-report-february-25th-2017/">ported coreboot to the Librem 13 version 1</a> and continue to provide coreboot updates to it and other early Librem laptops. One of the things I&#8217;m most excited to announce is that we have <strong>ported PureBoot tamper-evident support</strong> into Skylake-based Librem laptops <strong>without TPM chips</strong>! This means that if you have a Librem 13 version 2 or Librem 15 version 3 without a TPM, you can now <strong>use a Librem Key in place of your TPM chip</strong> and get similar protection against tampering!</p>
<figure id="attachment_63162" style="width: 640px" class="wp-caption alignnone"><img class="size-large wp-image-63162" src="https://puri.sm/wp-content/uploads/2019/04/heads_l13v2_librem_key-1024x575.png" alt="Heads Using a Librem Key" width="640" height="359" srcset="https://puri.sm/wp-content/uploads/2019/04/heads_l13v2_librem_key-1024x575.png 1024w, https://puri.sm/wp-content/uploads/2019/04/heads_l13v2_librem_key-300x169.png 300w, https://puri.sm/wp-content/uploads/2019/04/heads_l13v2_librem_key-768x431.png 768w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption class="wp-caption-text">Heads Using a Librem Key</figcaption></figure>
<h2>How Does This Work Without A TPM?</h2>
<p>When we <a href="https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/">first announced our partnership with Trammell Hudson</a> to port Heads to our laptops, we also started offering TPM chips, first as an optional upgrade for an extra cost and ultimately installed by default for no extra charge. Until now, the TPM chip was needed to store all of the pre-approved firmware measurements securely, as that was the only method Heads supported; once we announced the addition of the <a href="https://puri.sm/products/librem-key/">Librem Key</a> to our product line, we realized that there might be a way for the Librem Key to take the place of the TPM for older Librem laptops.</p>
<p>Traditionally, Heads will send measurements of itself to the TPM, and if it matches the pre-approved measurements you originally set up the TPM will unlock a secret that gets converted into a 6-digit HOTP code and sent to the Librem Key, which has its own copy of the secret and generates its own 6-digit HOTP code. If the code it receives over USB matches the code it generates, it flashes a green LED; otherwise it flashes a red LED to alert you of tampering.</p>
<p>When configured for a system without a TPM, and instead of using a random secret that’s unlocked with the correct firmware measurement, our PureBoot Heads ROM uses the firmware measurement itself—converted to a hash—as the secret. When originally setting it up, the Librem Key is to be configured to store a copy of that secret. Upon boot, Heads uses its own local flashrom to pull down a full copy of the running firmware, hashes it, and converts it into a 6-digit HOTP code. Like before, it sends that HOTP code to the Librem Key and the Librem Key compares it with the code it generates. If they match, green LED, if they don’t, red LED.</p>
<p>This method turns the Librem Key into a kind of external TPM—at least in the sense that the device itself is being sent firmware measurements instead of the TPM, in the form of a hash converted into a 6-digit code. The main practical difference you’ll notice is that the no-TPM solution takes an additional number of seconds at boot, before you will get to the first boot prompt—as it takes time to copy down the full firmware image.</p>
<h1>What&#8217;s Next for Coreboot</h1>
<p>We are working on a number of additional improvements to make coreboot, PureBoot and our coreboot update process even better. Among them is a migration to coreboot 4.9, compiling the PureBoot firmware from source and from within our firmware update script; more automation around the initial PureBoot and Librem Key setup process, and maybe—if there’s sufficient interest—backporting PureBoot to Broadwell-based Librem laptops (13 version 1 and 15 version 2).</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/coreboot-news-new-script-pre-built-binaries-and-pureboot-on-non-tpm-laptops/">Coreboot News: New Script, Pre-built Binaries and PureBoot on Non-TPM Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism at LibrePlanet 2019 &#8211; Showcasing the Librem 5 Phone</title>
		<link>https://puri.sm/posts/purism-at-libreplanet-2019-showcasing-the-librem-5-phone/</link>
		<pubDate>Tue, 09 Apr 2019 16:08:43 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63067</guid>
		<description><![CDATA[<p>This year’s edition of LibrePlanet went on so well, we had people stopping by to ask questions before the conference was open for the day. Purism&#8217;s booth was busy, and people were happy to see us. Nearly everyone we talked to had been following our progress, and everyone was excited to see things in-person. We [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-at-libreplanet-2019-showcasing-the-librem-5-phone/">Purism at LibrePlanet 2019 &#8211; Showcasing the Librem 5 Phone</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This year’s edition of LibrePlanet went on so well, we had people stopping by to ask questions <em>before</em> the conference was open for the day.</p>
<p>Purism&#8217;s booth was busy, and people were happy to see us. Nearly everyone we talked to had been following our progress, and everyone was excited to see things in-person. We showcased the fourth version of Librem laptops, and made regular demonstrations of both PureBoot on a Librem 13v4 and Librem Key. Above all, we drew a lot of excitement around the in-person viewing of the Librem 5 devkit. So much excitement, we really wanted to write about the commotion caused by the Librem 5 development – and specially about the devkit demonstration – not only among the audience but also within our own team members.</p>
<p>The Librem 5 phone may still be months away from delivery, but the Librem 5 devkit is under very rapid development. Showcasing our progress is something we’re very proud of, so at the first day of LibrePlanet we whet the appetite of audience members by showcasing sub ten-second boot times from powered-off state to unlock-screen… and we also showed off the initial application support of calling, settings, chat/sms, and browser.</p>
<p>But it gets better: on the second day we drew audible gasps of astonishment – from people in the audience and staff alike – when we demonstrated a voice call from a phone to the Librem 5 devkit and it rang on cue, alerting of the incoming voice call. To add to the excitement, the Purism staff then powered up a second Librem 5 devkit and opened the chat/sms program and sms (text) – and messaged to and from another staff member over the cellular connection.</p>
<p><img class="aligncenter wp-image-63143 size-medium" src="https://puri.sm/wp-content/uploads/2019/04/libreplanetbooth-300x225.png" alt="Purism's booth (and part of the team) at LibrePlanet 2019" width="300" height="225" srcset="https://puri.sm/wp-content/uploads/2019/04/libreplanetbooth-300x225.png 300w, https://puri.sm/wp-content/uploads/2019/04/libreplanetbooth-768x576.png 768w, https://puri.sm/wp-content/uploads/2019/04/libreplanetbooth-1024x768.png 1024w, https://puri.sm/wp-content/uploads/2019/04/libreplanetbooth.png 1032w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>The Librem 5 as a product highlights the impressively diverse nature of our team’s expertise at Purism – from <a href="https://puri.sm/posts/how-we-designed-the-librem-5-dev-kit-with-100-free-software/">schematics</a> through <a href="https://source.puri.sm/Librem5/linux-emcraft">kernel development</a>, through the creation of <a href="https://developer.puri.sm/Librem5/Software_Reference/Environments/Phosh.html">phosh</a>; from the authorship of <a href="https://developer.puri.sm/Librem5/Apps/GNOME/Gtk+.html?highlight=libhandy" class="broken_link">libhandy</a> to initial adaptive design of core applications such as <a href="https://wiki.gnome.org/Apps/Web/Development">Web</a> to <a href="https://puri.sm/posts/purism-announces-pureos-store/">PureOS Store</a> and house curated applications, all the way to custom in-house design and the development of <a href="https://source.puri.sm/Librem5/calls">Calls</a>, and <a href="https://source.puri.sm/Librem5/chatty">Chat</a>. A good summary to our presence at LibrePlanet, a few weeks ago, is that it ended up being an impressive demonstration of what people expect to get when the Librem 5 begins shipping in Q3 of 2019. And how amazed they will be at what they get.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-at-libreplanet-2019-showcasing-the-librem-5-phone/">Purism at LibrePlanet 2019 &#8211; Showcasing the Librem 5 Phone</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem Laptop RAM and Storage Bump, 32GB max RAM</title>
		<link>https://puri.sm/posts/librem-laptop-ram-and-storage-bump-32gb-max-ram/</link>
		<pubDate>Fri, 05 Apr 2019 15:27:26 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63087</guid>
		<description><![CDATA[<p>Technology is constantly improving, and we do get excited whenever we can add those improvements and upgrades to our products &#8212; especially when we can do so without raising prices. Recently, we announced a version 4 upgrade for our Librem 13 and Librem 15 laptops; today we are happy to announce we have upgraded the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-laptop-ram-and-storage-bump-32gb-max-ram/">Librem Laptop RAM and Storage Bump, 32GB max RAM</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Technology is constantly improving, and we do get excited whenever we can add those improvements and upgrades to our products &#8212; <em>especially when we can do so without raising prices</em>. Recently, we announced a <a href="https://puri.sm/posts/librem-laptops-now-at-version-4/">version 4 upgrade</a> for our <a href="https://puri.sm/products/librem-13/">Librem 13</a> and <a href="https://puri.sm/products/librem-15/">Librem 15</a> laptops; today we are happy to announce we have upgraded the default configuration on both laptops to 8GB RAM and a 250Gb M.2 SATA disk, while<em> keeping the same base price</em> of $1399 and $1599 respectively.</p>
<p>We know that many of our customers have high RAM requirements, whether that&#8217;s due to using a RAM-hungry OS like <a href="https://puri.sm/posts/qubes4-fully-working-on-librem-laptops/">Qubes</a> or to just having too many chat tabs open in your browser. The single SO-DIMM RAM slot in the Librem 13 and Librem 15 meant an upper limit of 16GB RAM on our laptops&#8230; until now. Due to constant advances in RAM density we have been able to validate <strong>32GB SO-DIMMs</strong> in our current product line and starting today will offer 32GB RAM as a premium upgrade to both the Librem 13 and Librem 15. If you&#8217;ve been holding off on your Librem laptop order because of RAM, <a href="https://puri.sm/products/">wait no longer</a>!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-laptop-ram-and-storage-bump-32gb-max-ram/">Librem Laptop RAM and Storage Bump, 32GB max RAM</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Becomes PIA’s First OEM Partner</title>
		<link>https://puri.sm/posts/purism-becomes-pia-first-oem-partner/</link>
		<pubDate>Thu, 04 Apr 2019 15:03:24 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63029</guid>
		<description><![CDATA[<p>PIA’s popular VPN platform will be fully integrated into Purism’s software and hardware offerings for unprecedented security and privacy protection SAN FRANCISCO, Calif., April 4th, 2019 — Purism, the social purpose corporation which designs and produces popular secure hardware, software, and services, is working with Private Internet Access (PIA) as its very first OEM partner [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-becomes-pia-first-oem-partner/">Purism Becomes PIA’s First OEM Partner</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>PIA’s popular VPN platform will be fully integrated into Purism’s software and hardware offerings for unprecedented security and privacy protection</h2>
<p>SAN FRANCISCO, Calif., April 4th, 2019 — Purism, the social purpose corporation which designs and produces popular secure hardware, software, and services, is working with Private Internet Access (PIA) as its very first OEM partner to bring an unprecedented combination of tracking-free and encrypted tools and services to the people.</p>
<p>PIA is, and has been since its inception, renowned for its popular VPN service that refuses to log user data. The company is committed to privacy protection and internet freedom and is a longtime sponsor of internet privacy advocates such as EFF and the Software Freedom Conservancy. By combining its signature VPN capabilities with Purism’s leading secure hardware and software products, the two will create a first-of-its-kind bundle for users to set up a privacy protecting and secure environment out of the box. The addition of PIA as a VPN partner strengthens Purism’s growing roster of partners and services that make its Librem line the most comprehensive privacy and security focused offering on the market. Other existing partnerships include <a href="https://puri.sm/posts/purism-partners-with-nextcloud-to-build-and-include-end-to-end-encrypted-storage-products-and-services/">Nextcloud</a> for secure document management, Matrix for secure chat, <a href="https://puri.sm/posts/purism-collaboration-with-cryptography-expert-werner-koch/">Werner Koch</a> GPG expert, <a href="https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/">Trammell Hudson</a> who supported Purism&#8217;s industry first TPM integration with Heads, and <a href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">Nitrokey’s</a> development of Purism’s Librem Key for physical encryption.</p>
<p>&#8220;PIA is the gold standard of VPNs, and we are thrilled to be working with a company that is so closely aligned with our ethics,&#8221; said Todd Weaver, founder and CEO of Purism. &#8220;PIA has stood behind their commitment to protect user data, whether it&#8217;s taking a political stance to promote broadband privacy with a full page ad in the New York Times or demonstrating in court that they truly do not log their customers&#8217; data. Our partnership with them is a big win for users who don&#8217;t want to sacrifice convenience or freedom in the products they use.&#8221;</p>
<p>&#8220;Purism has been an important player advancing the cause of internet privacy and freedom and are the perfect partner for us to work with on integrating PIA into a broader suite of hardware and software,&#8221; said Ted Kim, CEO of Private Internet Access. &#8220;Combining our privacy protecting VPN capabilities with Purism&#8217;s line of products will provide the ultimate security package to users.&#8221;</p>
<p>Purism plans to include PIA-based VPN by default in the Librem 5 phone, as well as within PureOS for its Librem 13 and Librem 15 laptops. Purism will also collaborate with PIA on a future services bundle.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-becomes-pia-first-oem-partner/">Purism Becomes PIA’s First OEM Partner</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The Future of Computing and Why You Should Care</title>
		<link>https://puri.sm/posts/the-future-of-computing-and-why-you-should-care/</link>
		<pubDate>Tue, 02 Apr 2019 15:49:04 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Promotions]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63034</guid>
		<description><![CDATA[<p>The future of computing and why you should care (transcript follows) Let me set the tone by using a quote from a great person of history: &#8220;The ultimate tragedy is not the oppression and cruelty by the bad people, but the silence over that by the good people.&#8221; ~ Martin Luther King Jr. Let me [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-future-of-computing-and-why-you-should-care/">The Future of Computing and Why You Should Care</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63034-52" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/03/the-future-of-computing-and-why-you-should-care-todd-weaver-thumbnail.jpeg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/03/the-future-of-computing-and-why-you-should-care-2019-03-28.mp4?_=52" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/03/the-future-of-computing-and-why-you-should-care-2019-03-28.webm?_=52" /><a href="https://puri.sm/wp-content/uploads/2019/03/the-future-of-computing-and-why-you-should-care-2019-03-28.mp4">https://puri.sm/wp-content/uploads/2019/03/the-future-of-computing-and-why-you-should-care-2019-03-28.mp4</a></video></div>
<h4>The future of computing and why you should care</h4>
<p>(transcript follows)</p>
<p>Let me set the tone by using a quote from a great person of history:</p>
<blockquote><p>&#8220;The ultimate tragedy is not the oppression and cruelty by the bad people, but the silence over that by the good people.&#8221; ~ Martin Luther King Jr.</p></blockquote>
<p>Let me start by stating: I believe we can change the future of computing for the better. However, currently something is wrong with our digital world; something basic, something is rotten at the core. I want to talk to you about what that is, how it came to be, and why we must change it. And I want you to care&#8230; because:</p>
<blockquote><p>&#8220;A person who won&#8217;t care, has no advantage over one who doesn&#8217;t care.&#8221; ~ Mark Twain</p></blockquote>
<p>This talk comes in three parts:</p>
<h4>Part 1. History</h4>
<p>The history of the mistreatment of our digital rights.</p>
<p>Most Big Tech companies that abuse people are based in the US, therefore I will describe the history from that perspective. Some things you need to understand: Governments write the rules of the game that society plays. There are always rules, and governments influenced by Big Tech are writing those rules. If you are somebody who wants no rules whatsoever, you will quickly realize rules will be written that govern you, without your involvement.</p>
<p>My sage advice to you: Write the rules. Let&#8217;s write the rules that we want to see in an ethical society that respects freedoms and liberties.</p>
<p>Nearly everybody knows that exploitative Big Tech abuse our digital rights, because it&#8217;s at the core of their business. It&#8217;s the root problem. It will not “get better” unless any one of three things happen:</p>
<ol>
<li>Government regulation (that is ethical for society)</li>
<li>Business models change (to something ethical for society)</li>
<li>People switch (to something ethical for society)</li>
</ol>
<p>Big Tech—corporations whose business model exploits humanity for profit—they all suffer from a systemic toxin, that discourages personal freedoms and removes any digital rights we as society demand. Big Tech corporations are already starting the marketing to try to differentiate themselves from it. But marketing alone will not remove the poison within their business model.</p>
<p>Minor disclaimer: You may ask &#8220;But&#8230; You&#8217;re a Company?&#8221; Actually, we&#8217;re a Social Purpose Corporation (SPC). And that is not just a series of buzzwords, it&#8217;s a legal framework of a business that carries with it significant importance. it is the reason we can&#8217;t ever exploit people for profit, it is the reason we are unlike all Big Tech who were formed to strip your digital rights in the name of maximizing shareholder value.</p>
<p>There was a recent article in Inc. magazine about us:</p>
<blockquote><p>“Purism is what is called a &#8216;Social Purpose Corporation,&#8217; which allows a business to prioritize social objectives over fiduciary duties.” ~ Christine Lagorio-Chafkin &#8211; Senior writer Inc.</p></blockquote>
<p>Let me dive deeper into the problem. All corporations, including all Big Tech giants, have a single goal: <b>Maximize Shareholder Value.</b> That&#8217;s it. That&#8217;s the only goal. But it’s not just a goal. Under eBay v. Newman, a lawsuit setting legal precedent stating:</p>
<blockquote><p>The law makes it literally malfeasance for a corporation not to do everything it legally can to maximize its profits.</p></blockquote>
<p>So if given the choice of making $1 by exploiting people online, or opting to treat people ethically, the Corporation must exploit people online for the dollar, or the board of directors and executives could face a lawsuit from any shareholder that claims they did not maximize the value of their shares.</p>
<p>The regulations at the foundation of Big Tech are forcing the exploitation of our digital rights.</p>
<p>Quoting Chancellor William B. Chandler, III who sums up the problem perfectly in his Delaware Court opinion when eBay sued Craigslist for not maximizing its shares:</p>
<blockquote><p>&#8220;Having chosen a for-profit corporate form, the directors are bound by the fiduciary duties to promote the value of the corporation for the benefit of its stockholders.&#8221; ~ Chancellor William B. Chandler, III</p></blockquote>
<p>We have centuries of legal precedent in the physical world, advanced by science and society guiding our moral compass, trespassing laws, freedom of speech, privacy rights, protection against personal harm and abuse. We have nearly no digital rights. Big Tech trespasses on your data, restricts speech, obliterates privacy entirely. Big Tech exploits people, causes harm and inflicts abuse upon our society.</p>
<p>If somebody approached your bedroom window from outside, put a camera up and started recording, you would immediately call the authorities and report the numerous laws broken—a case would be opened, arrests could be made, charges could be pressed, trials could ensue, criminals could go to jail; but in the digital world none of that exists—you are forced to leak far more details than a camera in your bedroom would share, and you are forced to leak that personal data from your phone all the time.</p>
<p>Big Tech exploits you every millisecond of every day.</p>
<p>All future government regulation will be influenced, funded, and lobbied by Big Tech. Could you imagine a future regulation where Big Tech wins to cryptographically sign everything with their keys, under their control on their products? What a nightmare scenario&#8230; Could you imagine your mobile phone under the complete control of Apple or Google?</p>
<p>We need to write the rules based on values we want in society.</p>
<p>AI algorithms from Big Tech have one input variable: $Maximize_Shareholder_Value. That translates directly into</p>
<ol>
<li>Gather everything on all of the society</li>
<li>Keep people digitally captive</li>
<li>Maximize exposure time</li>
<li>Polarize opinion to elicit more profit</li>
</ol>
<p>That is not what AI should be taught. Due to data manipulation, no two people in society are getting the same information; it is impossible to have a sane debate about any polarizing topic because we aren&#8217;t starting with a foundation of shared knowledge. What if the input request to AI algorithms was &#8220;Build an ethical society that respects freedoms and digital rights&#8221;? What would society look like then?</p>
<p>Maximizing shareholder value in a society that has nearly no digital rights, guarantees exploitation of that society. <em>Why</em> did we let this happen? <em>How</em> did we let this happen? I know why. Because&#8230; <b>It&#8217;s convenient to give up control.</b> It is convenient for you to download a proprietary application that exploits you, agree to the legal binding terms of service you didn&#8217;t read, and blissfully believe Big Tech is helping you in the digital world. <b>It&#8217;s inconvenient to stand up for your freedom.</b></p>
<p>It seems we are offered to choose between <b>convenience and control</b> or <b>inconvenience and freedom</b></p>
<p>I believe we can have both <b>convenience AND freedom.</b> We can actually build technology that benefits society faster when they are based on principles we deem ethical.</p>
<p><strong>Society&#8217;s technology genius is not lacking, its moral genius is.</strong> Trust in Big Tech is eroding rapidly. No Big Tech company has core values that help our digital rights. The largest challenge we will face is the marketing budgets of Big Tech, when they claim things like:</p>
<dl>
<dt>&#8220;We protect your privacy&#8221; ~ Big Tech</dt>
<dd>Actually, You exploit personal private data without a persons knowledge</dd>
<dt>&#8220;We use encryption&#8221; ~ Big Tech</dt>
<dd>Actually, It&#8217;s inside proprietary apps that you control</dd>
<dt>&#8220;We are secure&#8221; ~ Big Tech</dt>
<dd>Actually, You hold the master keys controlling society</dd>
<dt>&#8220;You can trust us&#8221; ~ Big Tech</dt>
<dd>Actually, You won&#8217;t let anybody verify anything</dd>
</dl>
<h4>Part 2: The present</h4>
<p>Currently, Big Tech is maximizing shareholder value without values. The products, software, and services offered by Big Tech will continue to mistreat people unless we can establish what digital rights are and change society for the better.</p>
<p>Then we advocate, regulate, and build products that adhere to those digital rights.</p>
<p>Mark Twain famously wrote:</p>
<blockquote><p>&#8220;It is curious that physical courage should be so common in the world and moral courage so rare.&#8221; ~ Mark Twain</p></blockquote>
<p>I believe there are five fundamental digital rights:</p>
<dl>
<dt>1. Right to Change Providers</dt>
<dd>If a person wants to change a service provider, they can easily move to another. (Decentralized Services)</dd>
<dt>2. Right to Protect Personal Data</dt>
<dd>A person owns and controls their own master keys to encrypt all data and communication, nobody else. (User-controlled Encryption)</dd>
<dt>3. Right to Verify</dt>
<dd>Society has the freedom to inspect the source of all software used, and can run it as they wish, for any purpose. (Software Freedom)</dd>
<dt>4. Right to be Forgotten</dt>
<dd>A service provider only stores the minimal personal data necessary to provide the service. Once the data is no longer required, it is deleted. (Minimal Data Retention)</dd>
<dt>5. Right to Access</dt>
<dd>A person must not be discriminated against nor forced to agree to any terms and conditions before accessing a service. (Personal Liberty)</dd>
</dl>
<p>If we can do those things, we can change the future of computing for the better.</p>
<h4>Part 3: The future</h4>
<p>As technology gets closer and closer to our brain, the moral issues of digital rights become clearer and clearer.</p>
<p>It started with computers, where we would leave them and come back to them. Then phones, that we always have on or near us with millisecond leakage of personal data beyond human comprehension. Then wearables, that are tracking very private details. IOT devices are everywhere— I have to stop to remind everybody: &#8220;The S in IOT is for Security&#8221; ~ Anonymous—and finally, surgically implanted.</p>
<p>A question to consider: What Big Tech Company would you purchase your future brain implant from? This <em>is</em> coming.</p>
<p>However, I believe we can change the future of computing for the better. Let&#8217;s stand together and invest, use, and recommend products and services that <em>respect</em> society.</p>
<p>What future will you choose?</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-future-of-computing-and-why-you-should-care/">The Future of Computing and Why You Should Care</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/03/the-future-of-computing-and-why-you-should-care-2019-03-28.webm" length="43212876" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/03/the-future-of-computing-and-why-you-should-care-2019-03-28.mp4" length="34288503" type="video/mp4" />
		</item>
		<item>
		<title>π day</title>
		<link>https://puri.sm/posts/pi-day/</link>
		<pubDate>Thu, 14 Mar 2019 13:05:44 +0000</pubDate>
		<dc:creator><![CDATA[Ines Mendes]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62908</guid>
		<description><![CDATA[<p>Consider doing something round, today. Pi Day is celebrated everywhere on March 14th (3/14), since π is the mathematical symbol for the ratio of the circumference of a circle to its diameter – numerically, approximately 3.14159. But this irrational and transcendental number can go on and on, millions of digits beyond the decimal point, never [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pi-day/">π day</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Consider doing something round, today.</h2>
<p>Pi Day is celebrated everywhere on March 14th (3/14), since π is the mathematical symbol for the ratio of the circumference of a circle to its diameter – numerically, approximately 3.14159.</p>
<p>But this irrational and transcendental number can go on and on, millions of digits beyond the decimal point, never repeating itself, never forming a pattern.</p>
<p>We know we had you at &#8216;irrational and transcendental&#8217;.</p>
<p>So let&#8217;s celebrate. Recite as many of the infinite digits of Pi as you can remember, memorizing is good for the brain anyway. Organize π-reciting contests. Eat pie. Eat pizza, it counts as pie. Eat anything round (and edible, please). Eat cake with friends (it&#8217;s also Einstein&#8217;s birthday, if you need a reason); eat donuts, eat cookies. Walk around in circles, have circular thoughts, throw pies at your colleagues, appreciate the casual relation between the ratio of the circumference of a circle and the English word for pastries filled with sweet goodness.</p>
<p>Or savory. We don&#8217;t want to impose. And have a nice π day.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pi-day/">π day</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Lockdown Mode on the Librem 5: Beyond Hardware Kill Switches</title>
		<link>https://puri.sm/posts/lockdown-mode-on-the-librem-5-beyond-hardware-kill-switches/</link>
		<pubDate>Mon, 11 Mar 2019 15:49:02 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62831</guid>
		<description><![CDATA[<p>When I tell people I work for Purism and I&#8217;m asked what Purism does, the explanation I give to the average person is along the lines of: &#8220;we make privacy and security respecting hardware that runs free software.&#8221; Immediately after that, I almost always point to our hardware kill switches to demonstrate how we take [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/lockdown-mode-on-the-librem-5-beyond-hardware-kill-switches/">Lockdown Mode on the Librem 5: Beyond Hardware Kill Switches</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>When I tell people I work for Purism and I&#8217;m asked what Purism does, the explanation I give to the average person is along the lines of: &#8220;we make privacy and security respecting hardware that runs free software.&#8221; Immediately after that, I almost always point to our <a href="https://puri.sm/learn/hardware-kill-switches/">hardware kill switches</a> to demonstrate how we take a different approach from most other hardware out there. To me it&#8217;s a great example of a simple, easy-to-understand security measure that provides a tangible benefit to everyone.</p>
<p><img class="alignnone size-large wp-image-62613" src="https://puri.sm/wp-content/uploads/2019/02/kill-swhitches-1024x432.jpg" alt="" width="640" height="270" srcset="https://puri.sm/wp-content/uploads/2019/02/kill-swhitches-1024x432.jpg 1024w, https://puri.sm/wp-content/uploads/2019/02/kill-swhitches-300x127.jpg 300w, https://puri.sm/wp-content/uploads/2019/02/kill-swhitches-768x324.jpg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Like with our Librem laptops, our Librem 5 smartphone will also feature kill switches; but unlike the laptops it will have three kill switches, not just two:</p>
<ol>
<li>cameras and microphone</li>
<li>WiFi and Bluetooth</li>
<li>cellular baseband</li>
</ol>
<p>Later in this post I&#8217;m going to describe an exciting new feature for our Librem 5 phone we are calling &#8220;Lockdown Mode&#8221; that extends our normal kill switches to provide even more security and privacy; but first I will explain the existing use, and reasons behind, each kill switch &#8211; as well as talk about some of the privacy and security risks with other sensors on the phone that have led us to implement Lockdown Mode.</p>
<h2>Cameras and Microphone Kill Switch</h2>
<p>The cameras and microphone kill switch is arguably even more important on a phone than on a laptop. While the webcam / microphone kill switch on our laptop can help protect you from malware that might snoop on you through the webcam without your knowing, at least it could only snoop on you while you are around your laptop. Most people tend to carry their phones with them everywhere so the privacy risks are much greater if your microphone and cameras are always on.</p>
<h2>WiFi and Bluetooth Kill Switch</h2>
<p>Like with the camera and microphone, the WiFi and Bluetooth kill switch has even greater significance on a phone than on a laptop. Disabling WiFi and Bluetooth can protect you from external over-the-air attacks if you are in a high-risk area (or a vulnerability comes out for your WiFi or Bluetooth card). Protecting against remote attacks isn&#8217;t the only benefit of this kill switch though, disabling WiFi in particular can also protect you from <em>tracking.</em></p>
<p>Since your phone is in your pocket, your WiFi hardware detects compatible networks nearby as you move around. Even if you don&#8217;t associate with the networks around you, the mere fact that your hardware can see them allows the phone (and apps on it) to know you are <em>near</em> those devices. As you move, your distance to those devices changes, which changes the strength of the signal and helps triangulate where you are for any company like Google that has a database of WiFi access points, along with their location. By removing power from your WiFi hardware, you can ensure that any applications that might try to track your location with WiFi are blocked.</p>
<h2>Cellular Baseband Kill Switch</h2>
<p>The cellular baseband kill switch is unique to the Librem 5 and completely removes power from the cellular modem in the Librem 5. Even if you aren&#8217;t concerned by the risks due to the fact that cellular modems run mystery code and have access to all communications that go over them, you still should be aware of, and concerned by, the tracking and privacy concerns. To route calls and data to your phone, your cellular provider needs to triangulate your position with respect to the towers in your area. As a result, as long as your cellular modem is on, your provider knows where you are. Your phone&#8217;s OS also uses this tracking data to supplement (or in place of) GPS so apps on your phone can also know where you are.</p>
<p>Putting a kill switch in the Librem 5 meant a design unlike many of the existing phones out there that combine the CPU and cellular modem into a single chip. We intentionally split out the baseband onto a replaceable M.2 card. This not only lets you physically remove the baseband altogether, but lets you power it off with a kill switch. If you want to know for sure that your cellphone isn&#8217;t tracking you, you can flip the switch and know for certain that it&#8217;s off.</p>
<h1>So Many Sensors</h1>
<p>One big challenge when protecting your privacy on a phone is that, unlike an average laptop, a phone is full of more sensors and other hardware that could be used for tracking and spying. A lot of security research over the past decade has demonstrated just how much information can be derived by seemingly harmless sensors that are included on a phone.</p>
<h2>GNSS</h2>
<p>GNSS<span class="mx_MTextBody mx_EventTile_content"><span class="mx_EventTile_body markdown-body" dir="auto">, which supports GPS, GLONASS, Galileo and Beidou &#8211; as well as SBAS augmentation services like <span class="mx_EventTile_body" dir="auto">WAAS, EGNOS, GAGAN and MSAS</span></span></span> &#8211; is useful for navigation software, as it provides your accurate coordinates wherever you are on Earth. Despite what some people might think, the GNSS is a <em>passive</em> device. By itself, it can&#8217;t transmit your location to anyone, it can only pick up signals from GNSS satellites and use them to calculate your current position. That said, if your GNSS is on, even if your network is disabled, any software on your system with access to the GNSS can log your location, and transmit that log later.</p>
<h2>IMU</h2>
<p>The IMU chip provides a phone with a compass and accelerometer it can use along with a GNSS to tell what direction you are heading. An accelerometer is also a useful sensor to provide extra phone features such as detecting the orientation of the phone so that it can rotate the screen, provide metadata to the camera, and even detect when you pick it up, put it in your pocket, or flip it over and place it back on the night stand.</p>
<p>There are some privacy and security risks with the accelerometer, however. Security researchers over the years have <a href="https://phys.org/news/2013-10-accelerometer-tracking-potential.html">discovered ways to detect what you are typing on the screen simply by looking at variations in the accelerometer</a>. Also, being able to log the speed and direction of your phone, combined with detecting nearby WiFi access points could (in theory) provide a pretty accurate tracking device even with GNSS disabled.</p>
<h2>Ambient Light and Proximity Sensors</h2>
<p>The ambient light and proximity sensors on a phone provide a number of useful features we use every day. Among them the light sensor helps the phone adjust the backlight brightness based on the available ambient light, which can help with power savings. The proximity sensor helps detect when you place the phone up to your face, so it can lock the screen and prevent you from accidentally triggering touchscreen button presses with your face. These sensors seem pretty harmless, but security researchers have demonstrated how the light sensor can be used to <a href="https://motherboard.vice.com/en_us/article/kb7nwm/smartphone-light-sensor-tacking-privacy">fingerprint a particular user and even to map out the arrangement and size of their home</a>.</p>
<h1>Introducing Lockdown Mode</h1>
<p>So we have three kill switches, yet there are so many other sensors that we might want to turn off. It&#8217;s true that people could disable hardware within the OS and since PureOS is free software and Purism is an <a href="https://puri.sm/about/social-purpose/">ethical company</a>, you have more reason to trust that disabling the hardware with software actually works. That said, the whole idea of the hardware kill switch is to provide you that additional assurance that a piece of hardware is truly off.</p>
<p>While we could add kill switches for every individual piece of hardware, having three kill switches already pushes the limits with respect to space on the phone, the complexity of the hardware and the overall user experience. So if you set the upper limit on kill switches to three, there are a number of different ways you can address the problem with these extra sensors including:</p>
<ul>
<li>Only disable those sensors with software</li>
<li>Group sensors with one or more existing kill switches</li>
<li>Lockdown Mode</li>
</ul>
<p>We have thought through all of these different options, among others, and we decided that it was better to offer the option for extra security to those who really need it. We have selected a solution we are calling Lockdown Mode, that gives people who need this extra level of protection the option to turn all sensors off easily, without imposing extra complexity on an average user.</p>
<h2>How Lockdown Mode Works</h2>
<p>To trigger Lockdown Mode, just switch all three kill switches off. When in Lockdown Mode, in addition to powering off the cameras, microphone, WiFi, Bluetooth and cellular baseband we also <strong>cut power</strong> to GNSS, IMU, and ambient light and proximity sensors. Lockdown Mode leaves you with a perfectly usable portable computer, just with all tracking sensors and other hardware disabled. If you switch any of the hardware kill switches back on, the hardware that corresponds to that switch powers on along with GNSS, IMU, and ambient light and proximity sensors.</p>
<h2>What About Offline Navigation?</h2>
<p>One of the most obvious side effects of Lockdown Mode is the ability to use the GNSS with purely offline maps. Note that you still can do this on the Librem 5 in a few different ways, by flipping any one of the kill switches back on and then disabling the corresponding hardware in software. For instance, if your biggest concern was transmitting your location, you could leave the WiFi / Bluetooth and cellular baseband off, turn on the cameras and microphone and disable those in software instead. Those who need a offline navigation but have such a high level of risk that they can&#8217;t accept the risk of disabling the cameras and microphone in software, could physically remove the cellular baseband hardware from the phone and leave that kill switch on.</p>
<h1>The Future of Lockdown Mode</h1>
<p>There is a lot of potential to extend Lockdown Mode past just disabling hardware into software, and we are exploring some of those options now. For instance, the OS could detect when Lockdown Mode is enabled and automatically lock your screen. Those who are under even greater threats could potentially have Lockdown Mode enable extra defenses inside the OS, disable certain services, or even shut down or wipe the phone (although I&#8217;d suggest you set up some kind of PIN prompt for that last one, in case you trigger all the switches by accident). There are a lot of possibilities for this new feature and I&#8217;m looking forward to seeing how our customers extend it on their own phones.</p>
<hr />
<div class="business">
<div class="row grid">
<div class="column-3">
<h2>Latest Posts</h2>
<ul>
<li><a href="https://puri.sm/posts/womens-day-2019/">Women’s Day 2019</a></li>
<li><a href="https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-state-senate/">Purism’s CEO Todd Weaver Testifies at State Senate</a></li>
<li><a href="https://puri.sm/posts/converging-on-convergence-pureos-is-convergent-welcome-to-the-future/">Converging on Convergence PureOS is Convergent, Welcome to the Future</a></li>
</ul>
</div>
<div class="column-3">
<h2>Related Posts</h2>
<ul>
<li><a href="https://puri.sm/posts/fragments-app-for-the-librem-5/">Fragments App for the Librem 5</a></li>
<li><a href="https://puri.sm/posts/how-we-designed-the-librem-5-dev-kit-with-100-free-software/">How We Designed the Librem 5 Dev Kit with 100% Free Software</a></li>
<li><a href="https://puri.sm/posts/librem5-progress-report-21//">Librem 5 general development report — October 15th, 2018</a></li>
</ul>
</div>
<div class="column-6">
<h2>About Purism</h2>
<p>Purism offers high-quality privacy, security, and freedom-focused computers, phones, and software. Our platform is meant to empower everyone, including privacy-conscious users, entrepreneurs, business people, developers, writers, digital artists, activists, geeks and defenders of freedom all around the world.</p>
<ul>
<li><a href="https://puri.sm/why-purism/">Purism respects your digital life</a></li>
<li><a href="https://puri.sm/about//">Our story</a></li>
</ul>
</div>
</div>
</div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/lockdown-mode-on-the-librem-5-beyond-hardware-kill-switches/">Lockdown Mode on the Librem 5: Beyond Hardware Kill Switches</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Women&#8217;s Day 2019</title>
		<link>https://puri.sm/posts/womens-day-2019/</link>
		<pubDate>Fri, 08 Mar 2019 15:13:28 +0000</pubDate>
		<dc:creator><![CDATA[Ines Mendes]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Gender equality]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62844</guid>
		<description><![CDATA[<p>Think equal, build smart, innovate for change Is this year&#8217;s UN motto for the International Women&#8217;s Day. And we find it quite fitting. It suits our own concerns, our own philosophies. In Purism, we care about rights. Digital rights concern everybody, touch most people&#8217;s lives, and carry a heavy societal weight when it comes to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/womens-day-2019/">Women&#8217;s Day 2019</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Think equal, build smart, innovate for change</h2>
<p>Is this year&#8217;s UN motto for the International Women&#8217;s Day. And we find it quite fitting. It suits our own concerns, our own philosophies.</p>
<p>In Purism, we care about rights. Digital rights concern everybody, touch most people&#8217;s lives, and carry a heavy societal weight when it comes to women. In spite of that, the gender gap in Tech is abyssal – and women are almost nowhere to be seen.</p>
<p>So Happy Women&#8217;s Day.</p>
<p>To say women are under-represented in the IT sector is an understatement; the situation in Free Software development is not much better, although some steps have been taken to improve the gender gap. There is, for example, the <a href="https://www.debian.org/women/">Debian Woman project</a>, with its own mentoring program; or <a href="https://www.outreachy.org/">Outreachy</a>, inviting cis and trans women, trans men and genderqueer people to apply – and, if you have a sense of humor, there&#8217;s also <a href="https://www.gnu.org/software/emacs/manual/html_mono/woman.html">WoMan</a>.</p>
<p>But we all need more, and we need it sustained and sustainable. Women matter. History repeats itself in forgetting those without a voice – and we all lose, collectively. Women in technology were only somewhere between 2% and 5% of all programmers a decade ago; and are only about 10% now. At Purism, as of this writing, our nine-person independent board comprises 33% women – in addition to being racially and geographically diverse; our full team is over 20% women, and once again racially and geographically diverse. Groups that are little-represented urgently need to be able to create, and give feedback on, what is created by other groups. Women and girls must contribute to making real change in tech as well, help shape how it impacts their lives. And it does impact their lives immensely.</p>
<p>Consider, in no particular order and among many others, the work (and legend) of Hypatia of Alexandria; remember Grace Hopper, who found that bug; Ada Lovelace, who got you your first computer program (and the Analytical Engine); Muriel Cooper and the information architecture that led to digital interfaces; Hedy Lamarr, movie star and wireless encryption specialist; Katherine Johnson, for allowing (manned) space exploration; Carol Shaw and Super Breakout, because playing games matters; think about Margaret Rock and the Enigma Machine, Karen Sandler and the <a href="https://en.wikipedia.org/wiki/Software_Freedom_Conservancy">Software Freedom Conservancy</a>.</p>
<p>And our very own Dorota Czaplejewicz, Heather Ellsworth, Nicole Færber, Teresa Hill, Petra Kirchner, Kim Kuan-Louie, yours truly, Andrea Schäfer, Jennifer Stoddart, Helen Vasilevski and Nikki Zinman.</p>
<p>&nbsp;</p>
<hr />
<p>Diversity is an asset, and creates safe workplace environments. If you want a safe workplace environment that respects diversity<a href="https://puri.sm/jobs/">, we are hiring</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/womens-day-2019/">Women&#8217;s Day 2019</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism&#8217;s CEO Todd Weaver Testifies at State Senate</title>
		<link>https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-state-senate/</link>
		<pubDate>Wed, 06 Mar 2019 18:45:29 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62810</guid>
		<description><![CDATA[<p>Thank you Chairwoman Jackson and committee members. I am honored to be here. My name is Todd Weaver, and I think you’ll find both Gabriel and I are quite unusual witnesses from the tech sector here today. This is because we are here as the CEOs of growing technology companies that protect privacy rather than [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-state-senate/">Purism&#8217;s CEO Todd Weaver Testifies at State Senate</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-large wp-image-62814" src="https://puri.sm/wp-content/uploads/2019/03/todd-weaver-purism-ca-senate-privacy-commission-2019-03-05-1024x702.jpeg" alt="Todd Weaver Purism CA State Senate Privacy Commission Hearing 2019-03-05" width="640" height="439" srcset="https://puri.sm/wp-content/uploads/2019/03/todd-weaver-purism-ca-senate-privacy-commission-2019-03-05-1024x702.jpeg 1024w, https://puri.sm/wp-content/uploads/2019/03/todd-weaver-purism-ca-senate-privacy-commission-2019-03-05-300x206.jpeg 300w, https://puri.sm/wp-content/uploads/2019/03/todd-weaver-purism-ca-senate-privacy-commission-2019-03-05-768x526.jpeg 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<hr />
<!--[if lt IE 9]><script>document.createElement('audio');</script><![endif]-->
<audio class="wp-audio-shortcode" id="audio-62810-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/ogg" src="https://puri.sm/wp-content/uploads/2019/03/purism-spc-ca-state-senate-testimony-2019-03-05.ogg?_=1" /><a href="https://puri.sm/wp-content/uploads/2019/03/purism-spc-ca-state-senate-testimony-2019-03-05.ogg">https://puri.sm/wp-content/uploads/2019/03/purism-spc-ca-state-senate-testimony-2019-03-05.ogg</a></audio>
<hr />
<p>Thank you Chairwoman Jackson and committee members. I am honored to be here.</p>
<p>My name is Todd Weaver, and I think you’ll find both Gabriel and I are quite unusual witnesses from the tech sector here today. This is because we are here as the CEOs of growing technology companies that protect privacy rather than exploit it. I am calling for much stronger consumer privacy protections here in California and around the world, not weaker ones.</p>
<p>I believe the default approach in California should be the right to opt <strong>in</strong>, rather than requiring all of us to have to inconveniently opt <strong>out</strong>, of the exploitation of our most personal data across all software, each service and every site we use. As Mr. Mactaggart, whom I&#8217;d like to take a moment to thank for his tireless years of effort on <a href="https://leginfo.legislature.ca.gov/faces/billTextClient.xhtml?bill_id=201720180AB375" target="_blank" rel="nofollow noopener">AB 375</a>, appropriately stated, a do-not-track browser extension backed by law is helpful for protection on websites, but misses on the widely popular applications and services; this is one of many reasons we need to protect personal privacy by default.</p>
<p>I also strongly support holding companies, like mine, accountable in court if we violate a person&#8217;s privacy rights – rights which are guaranteed in the state’s Constitution, but that I believe our laws do not yet fully respect when it comes to the Internet.</p>
<p>I am here to tell you it’s time for California’s extraordinary tech industry to stop harvesting and “sharing” our most personal private data without our meaningful consent and knowledge. You all have the power to make this happen, and I believe the time is long overdue.</p>
<p>Now you have heard some business and tech communities suggesting California’s new privacy law–if not substantially amended (which of course means weakened) before it is allowed to go into effect–is going to cause extraordinary business hardship and confusion. These are of course the same arguments that were made by many of these same companies regarding Europe’s GDPR – but since the GDPR went into effect, these companies have continued just fine, and in most cases have grown profits. That is real evidence that California’s new privacy law is not going to destroy Internet commerce as we know it.</p>
<p>I am here to tell you that AB 375 (or stronger) protections – just like those in the GDPR – are not going to be hard to implement. The key is whether we, companies, are willing to simply begin to honor our customer’s privacy rights by designing our services to be privacy-protecting by default, rather than privacy-exploiting by default.</p>
<p>Is this possible? Yes. I am here to tell you that my growing company was founded on the simple principle that privacy is a right and needs to be the default in all products and services.</p>
<p>Let me be clear: technology advancements can absolutely be rooted in moral values and still lead innovation. Society&#8217;s technology genius is not lacking, its moral genius is. And this is where you come in. Technology innovation that complies with privacy protection is easy. Let me restate: it is easy to operate a successful business, while playing by the rules you set.</p>
<p>I started Purism when I came to realize that my two daughters, like all children, need convenient products and services that protect them, rather than exploit them. As a technologist, I understand painfully well how much the technology sector can exploit my kids with ease. For example, as each of you, critical policy-makers, will come to realize, your smartphones track your exact location and everything done on that device, every millisecond of every day, and record that personal data permanently for retrieval at any point in the future. Not forgetting every search, chat message, photo, video, and every article you read.</p>
<p>Well here’s the bad news: the current unregulated exploitative models in use today ensure everything you do in the digital world leaves exacting, privacy invading, excruciating details about you permanently.</p>
<p>That’s why, in 2014, I started Purism. It is a social purpose company completely founded on privacy-protection principles. Purism is already manufacturing in California, and assembling these laptops right here, including the operating system, applications, and bundled services that will not track you, period. Purism is growing triple-digits year over year; future innovation and job creation around privacy by design is the future that California needs to lead on.</p>
<p>Consumer demand for privacy is real and happening, and needs to be the default.</p>
<p>This year we will be manufacturing a security and privacy-designed phone with bundled services that comply with AB 375, and go even further with opt-in by default for all offered services. Use these phones and your most sensitive details will be under your control and kept completely private. Isn’t that a confidence level we all should have?</p>
<p>This is done by a simple approach: privacy by design. And this is an approach all tech companies can implement if they are truly committed to privacy, beyond just marketing slogans.</p>
<p>As AB 375 seeks to make clear, privacy is a right, and your every location and every communication and every web page and every search stored permanently should not be exploited to use needed services online.</p>
<p>I strongly suggest the time has come for Californians to take back their constitutional right of privacy on the Internet, and urge you to substantially strengthen the privacy protections afforded by AB 375.</p>
<p>For your, and my children&#8217;s sake. Thank you.</p>
<p><img class="aligncenter size-full wp-image-62815" src="https://puri.sm/wp-content/uploads/2019/03/purism-spc-state-senate-committee-privacy-2019-03-05.jpeg" alt="Purism SPC State Senate Hearing Agenda (edited)" width="800" height="645" srcset="https://puri.sm/wp-content/uploads/2019/03/purism-spc-state-senate-committee-privacy-2019-03-05.jpeg 800w, https://puri.sm/wp-content/uploads/2019/03/purism-spc-state-senate-committee-privacy-2019-03-05-300x242.jpeg 300w, https://puri.sm/wp-content/uploads/2019/03/purism-spc-state-senate-committee-privacy-2019-03-05-768x619.jpeg 768w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-state-senate/">Purism&#8217;s CEO Todd Weaver Testifies at State Senate</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/03/purism-spc-ca-state-senate-testimony-2019-03-05.ogg" length="4033379" type="audio/ogg" />
		</item>
		<item>
		<title>Converging on Convergence  PureOS is Convergent, Welcome to the Future</title>
		<link>https://puri.sm/posts/converging-on-convergence-pureos-is-convergent-welcome-to-the-future/</link>
		<pubDate>Wed, 06 Mar 2019 13:00:36 +0000</pubDate>
		<dc:creator><![CDATA[jeremiah foster]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62271</guid>
		<description><![CDATA[<p>Many Devices, One OS The two big mobile OS vendors have been dreaming of convergence between laptop OS and mobile OS for a long time; dreaming of being able to make the same application code execute, and operate, both on mobile phones and laptops – adapting the applications to screen size and input devices. Purism [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/converging-on-convergence-pureos-is-convergent-welcome-to-the-future/">Converging on Convergence &lt;br&gt; PureOS is Convergent, Welcome to the Future</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Many Devices, One OS</h2>
<p>The two big mobile OS vendors have been dreaming of convergence between laptop OS and mobile OS for a long time; dreaming of being able to make the same application code execute, and operate, both on mobile phones and laptops – adapting the applications to screen size and input devices.</p>
<p>Purism is beating the duopoly to that dream, with PureOS: we are now announcing that Purism&#8217;s PureOS is convergent, and has laid the foundation for all future applications to run on both the Librem 5 phone and Librem laptops, from the same PureOS release.</p>
<p><img class="aligncenter size-large wp-image-62779" src="https://puri.sm/wp-content/uploads/2019/03/web-on-devices-1024x576.png" alt="Purism has one convergent operating system, PureOS. Google has two separate ones, ChromeOS and Android; Apple has two separate ones too, macOS and iOS." srcset="https://puri.sm/wp-content/uploads/2019/03/web-on-devices-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2019/03/web-on-devices-300x169.png 300w, https://puri.sm/wp-content/uploads/2019/03/web-on-devices-768x432.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Purism has one convergent operating system, PureOS. Google has two separate ones, ChromeOS and Android; Apple has two separate ones too, macOS and iOS.</p>
<h2>What Is Convergence?</h2>
<p>If you’ve ever had an app on your phone that you wanted on your laptop, you’ve wanted convergence. Convergence is a term used to describe the similar functioning of an app across different platforms. Many companies are eager to have their software be convergent, because it brings a consistent look and feel, as well as the exact same functionality for apps that run on your phone and your computer.</p>
<p>Convergence can be really handy, since it allows you to use the apps you’re already familiar with, as well as the data that you’ve already synced. Convergence also brings plenty of of benefits to developers, such as writing your app once, testing it once and running it everywhere.</p>
<p>Since this is the ideal dream, why don&#8217;t we have convergence already? Why can&#8217;t a person run the exact same app on a phone and laptop today? It turns out that this is really hard to do unless you have complete control of software source code and access to hardware itself. Even then, there is a catch; you need to compile software for both the phone&#8217;s CPU and the laptop CPU which are usually different architectures. This is a complex process that often reveals assumptions made in software development but it shows that to build a truly convergent device you need to design for convergence from the beginning.</p>
<p>Reaching convergence is one more checked item on the list that Purism&#8217;s <a href="https://puri.sm/posts/purism-origin-story/">founder envisioned</a> when he created the company, specifically to:</p>
<p>&#8220;&#8230;manufacture a mobile phone from the schematics on up that would run that same ethical operating system.&#8221;</p>
<h2>How We Got There</h2>
<p>The right path to get us here was starting with the “<a href="https://www.debian.org/">universal operating system</a>&#8221; as the foundation of PureOS, Purism&#8217;s operating system. Running on so many different CPU architectures is a huge benefit, because very often laptops need a power-hungry and fast CPU, while a phone needs a power-aware, battery-saving CPU. These CPUs are, consequently, designed differently for their different uses, and you often have to “port” or cross-compile software for it to work well on both CPUs. By basing PureOS on a solid, foundational operating system – one that has been solving this performance and run-everywhere problem for years – means there is a large set of packaged software that “just works” on many different types of CPUs.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-62271-53" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/02/purism-librem-5-pureos-adaptive-convergence-application-web-browser.webm?_=53" /><a href="https://puri.sm/wp-content/uploads/2019/02/purism-librem-5-pureos-adaptive-convergence-application-web-browser.webm">https://puri.sm/wp-content/uploads/2019/02/purism-librem-5-pureos-adaptive-convergence-application-web-browser.webm</a></video></div>
<blockquote>
<blockquote><p><strong>Purism&#8217;s PureOS showcasing adaptive convergent design in a Web Browser &#8212; notice as the window subtly resizes the buttons in the application&#8217;s header shift to the footer, for a mobile friendly interface.</strong></p></blockquote>
<p><strong> </strong></p></blockquote>
<p>The above example is already built into the <a href="https://gitlab.gnome.org/GNOME/epiphany/blob/master/NEWS#L74" target="_blank" rel="noopener">master branch</a> of <a href="https://wiki.gnome.org/Apps/Web/" target="_blank" rel="noopener">GNOME Web</a> as a class-based modification to the existing code, allowing it to easily adjust and adapt to the screen size and inputs of both mobile and desktop.</p>
<h2>Adaptive Design</h2>
<p>Multiple architectures are not enough to reach convergence however – as most people know by now, there are many important parts in getting true convergence. A good example of the problem in website design space: if you&#8217;ve ever gone to a website on your phone that had tiny text which scrolled off your phone screen, you know that a regular web page, designed for a desktop computer, isn&#8217;t always suitable for your smaller screen phone.</p>
<p>Web designers now have toolboxes to design web pages, which they adjust for mobile or desktop in order to get easier readability and use. A similar, but far more complex practice, is required for software apps and defined by Purism as &#8220;adaptive design&#8221;. Purism is hard at work on creating adaptive <a href="https://www.gnome.org/">GNOME</a> apps – and the community is joining this effort as well – apps that look great, and work great, both on a phone and on a laptop. Combining the work of the free software ecosystem with Purism&#8217;s contributions means we can target convergence for all our Librem hardware line: both the 13&#8243; and 15&#8243; laptops and the 5&#8243; phone. This means we can get the most out of the ecosystem for the community: convergent apps will be easier to maintain, and therefore easier to secure. They will also be easier to build, enabling a vibrant community to build cool stuff that is free software and protects your privacy.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-62271-54" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/03/purism-librem-5-pureos-adaptive-convergence-application-discussions.webm?_=54" /><a href="https://puri.sm/wp-content/uploads/2019/03/purism-librem-5-pureos-adaptive-convergence-application-discussions.webm">https://puri.sm/wp-content/uploads/2019/03/purism-librem-5-pureos-adaptive-convergence-application-discussions.webm</a></video></div>
<blockquote>
<blockquote><p><strong>Purism&#8217;s PureOS showcasing adaptive convergent development in Discussions (Fractal) – a matrix chat program. As the window resizes, the column width dynamically changes to preserve a legible line width, until the sidebar and message view don&#8217;t fit at the same time. At this point the leaflet folds, only the message view is visible, and a back button is added to the header-bar, to allow navigation to the room list.</strong></p></blockquote>
</blockquote>
<h2>Building Convergence Features into Existing Apps</h2>
<p>Developers can tap into convergence through the tools we actively use, contribute to, and develop directly in the ecosystem. We&#8217;ve created libhandy, a mobile and adaptive presentation library for GTK+ and GNOME, which is under active development. Packaged in PureOS and Debian already, you can also use it in flatpaks, simply by including it in your flatpak maniphest in Builder.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-62271-55" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/02/purism-librem-5-pureos-adaptive-convergence-application-builder-passwordsafe.webm?_=55" /><a href="https://puri.sm/wp-content/uploads/2019/02/purism-librem-5-pureos-adaptive-convergence-application-builder-passwordsafe.webm">https://puri.sm/wp-content/uploads/2019/02/purism-librem-5-pureos-adaptive-convergence-application-builder-passwordsafe.webm</a></video></div>
<blockquote>
<blockquote><p><strong>Purism&#8217;s PureOS showcasing adaptive convergent development in Password Safe, an encrypted password storing application.</strong></p></blockquote>
</blockquote>
<p>We are excited to provide convergence well before any of the other mobile OS vendors. Let&#8217;s see how long it takes for them to catch-up. Thank you for your continued support!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/converging-on-convergence-pureos-is-convergent-welcome-to-the-future/">Converging on Convergence &lt;br&gt; PureOS is Convergent, Welcome to the Future</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/02/purism-librem-5-pureos-adaptive-convergence-application-web-browser.webm" length="604963" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/03/purism-librem-5-pureos-adaptive-convergence-application-discussions.webm" length="812984" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/02/purism-librem-5-pureos-adaptive-convergence-application-builder-passwordsafe.webm" length="1178718" type="video/webm" />
		</item>
		<item>
		<title>Fragments App for the Librem 5</title>
		<link>https://puri.sm/posts/fragments-app-for-the-librem-5/</link>
		<pubDate>Wed, 27 Feb 2019 16:56:02 +0000</pubDate>
		<dc:creator><![CDATA[Sriram Ramkrishna]]></dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62582</guid>
		<description><![CDATA[<p>Fragments app, the BitTorrent client In continuing our series of applications that are ready to work with the Librem 5, we would like to announce that Fragments is now fully working! With Fragments, you get to have the ability to use BitTorrent to download large files. At Purism, we like using torrent to efficiently download [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/fragments-app-for-the-librem-5/">Fragments App for the Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="business">
<div class="row grid">
<div class="column-4">
<h2 style="margin: 0;">Fragments app, the BitTorrent client</h2>
</div>
<div class="column-8">
<p>In continuing our series of applications that are ready to work with the Librem 5, we would like to announce that Fragments is now fully working! With Fragments, you get to have the ability to use BitTorrent to download large files. At Purism, we like using torrent to efficiently download PureOS or Debian operating systems, because what&#8217;s more fun than torrenting on the go?</p>
</div>
</div>
<hr />
<div class="row grid">
<div class="column-6"><img class="size-full wp-image-62583 alignnone" src="https://puri.sm/wp-content/uploads/2019/02/l5-front-torrent.png" alt="" /></div>
<div class="column-6" style="text-align: right;"><img class="size-full wp-image-62584 alignnone" src="https://puri.sm/wp-content/uploads/2019/02/l5-front-torrent-2.png" alt="" /></div>
</div>
<hr />
<div class="row grid">
<div class="column-12">
<p style="width: 75%; margin: 20px auto; text-align: center;">Got an app you&#8217;re interested in porting? Find out more at our <a href="https://developer.puri.sm/Librem5/">developer page</a>. Hang out at our Librem 5 community channel and tell us what you&#8217;re working on.</p>
<div><img style="width: 25%; margin: 20px auto; display: block;" src="https://puri.sm/wp-content/uploads/2019/01/coming-soon-2.png" /></div>
</div>
</div>
</div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/fragments-app-for-the-librem-5/">Fragments App for the Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>PureBoot, the High Security Boot Process</title>
		<link>https://puri.sm/posts/pureboot-the-high-security-boot-process/</link>
		<pubDate>Mon, 25 Feb 2019 18:09:53 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Service Offering]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62718</guid>
		<description><![CDATA[<p>Strong security The boot process, in computer hardware, forms the foundation for the security of the rest of the system. Security, in this context, means a &#8220;defense in depth&#8221; approach, where each layer not only provides an additional barrier to attack, but also builds on the strength of the previous one. Attackers do know that [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureboot-the-high-security-boot-process/">PureBoot, the High Security Boot Process</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1 class="western"><b>Strong security</b></h1>
<p>The boot process, in computer hardware, forms the foundation for the security of the rest of the system. Security, in this context, means a &#8220;defense in depth&#8221; approach, where each layer not only provides an additional barrier to attack, but also builds on the strength of the previous one. Attackers do know that if they can compromise the boot process, they can hide malicious software that will not be detected by the rest of the system. Unfortunately, most of the existing approaches to protect the boot process also conveniently (conveniently for the vendor, of course) <strong>remove your control</strong> over your own system. How? By using software signing keys that only let you run the boot software that the vendor approves on your hardware. Your only practical choices, under these systems, are either to run OSes that get approval from the vendor, or to disable boot security altogether.<b> In Purism, w</b><strong><b>e </b></strong><strong>believe that you deserve security without sacrificing control </strong><em>or</em><strong> convenience</strong><strong>:</strong> today we are happy to announce <em><a href="https://docs.puri.sm/PureBoot.html">PureBoot</a>,</em> our collection of software and security measures designed for you to protect the boot process, while still holding all the keys.</p>
<h1 class="western">Why &#8220;PureBoot&#8221;?</h1>
<p>PureBoot comprises a number of different technologies, and together they secure the boot process in a convenient way. Why are we combining all of these different technologies under a single name? Because they all work together to secure the boot process, because it&#8217;s easier to talk about our boot security overall calling it by a single name, instead of by the names of its (currently) six individual components:</p>
<ol>
<li><a href="https://puri.sm/posts/deep-dive-into-intel-me-disablement/">Neutralized and Disabled Intel Management Engine</a></li>
<li>The <a href="https://puri.sm/coreboot/">coreboot</a> free software BIOS replacement</li>
<li>A Trusted Platform Module (TPM) chip</li>
<li><a href="https://docs.puri.sm/PureBoot/Heads.html#heads">Heads</a>, our tamper-evident boot software that loads from within coreboot</li>
<li><a href="https://puri.sm/products/librem-key/">Librem Key</a>, our USB security token</li>
<li>Multi-factor authentication that unlocks disk encryption using the Librem Key</li>
</ol>
<h1 class="western">How PureBoot Protects You</h1>
<p>There are lots of different threats and attacks that focus on the boot process. It&#8217;s easier to understand how PureBoot protects you if you understand what some of the threats are, so this section will describe how some very specific attacks work, and how PureBoot stops them.</p>
<h2>Theft</h2>
<p>One of the most common security threats you face is exposing sensitive data, if and when your laptop is lost or stolen. Disk encryption is a simple, highly efficient way of protecting your data from loss or theft, for it requires a passphrase, without which no one can read the data on your disk. With PureBoot, we ensure that all systems we ship are encrypted by default, with keys you set up on first boot. Many vendors use disk encryption with a passphrase; but we&#8217;ve decided to go a step further, and <strong>unlock the disk with multi-factor authentication</strong>.</p>
<p>Today we&#8217;re happy to announce something we&#8217;ve only hinted at before: <a href="https://docs.puri.sm/PureBoot/LibremKeyLUKS.html">the integration of our Librem Key with LUKS disk encryption</a>. Once set up, you just need to boot with your Librem Key inserted, and when prompted enter the same Librem Key PIN you use for GPG encryption or signing. This means that, in order to unlock your disk, attackers need &#8220;something you have&#8221; (the Librem Key) and &#8220;something you know&#8221; (your Librem Key PIN). If you lose your Librem Key you can always fall back to a recovery mode that prompts you for your old passphrase; you can set a strong fallback passphrase and store it somewhere safe, but use the Librem Key for convenience. For even more security, you can delete the recovery passphrase and only use the multi-factor authentication to unlock your disk.</p>
<p>We are working on adding this solution into upstream projects, so it will be available and pre-installed by default. If you want to try it out today, just <a href="https://docs.puri.sm/PureBoot/LibremKeyLUKS.html">follow the steps in our documentation</a>, and download a script that automates the process of setting up LUKS to use your Librem Key.</p>
<h2>BIOS Malware and Kernel Rootkits</h2>
<p>Once attackers do have access to your system, they will want to keep that access and hide themselves from you. One of the best ways for them to hide – and make sure they still have access between reboots — is compromising your OS&#8217;s kernel software, so that it filters out any requests to the system that might reveal the attacker&#8217;s software. Of course, you could still thwart an attacker by reinstalling or upgrading your operating system, even if you can&#8217;t see any evidence of an attack&#8230; but the attacker may also have compromised your BIOS (the first code the system runs) so that it re-infects your system after every reinstall, successfully hiding themselves even from a live OS — booted from USB. BIOS malware allows attackers to intercept, and capture, your disk encryption password as you type it in.</p>
<p>With PureBoot you only need to insert your Librem Key and turn the computer on to know: if your BIOS has been tampered with, the Librem Key will flash red to warn you. If your computer is safe, the Librem Key flashes green. When you boot into your OS, it will use your own private keys to test whether any boot files (including your kernel, initrd, and other config files) have changed. You can use your Librem Key to re-sign these files at any time, using keys completely under your control.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-62718-56" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/02/pureboot-demo.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="//videos.puri.sm/blog-posts/heads-demo-edit.mp4?_=56" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/09/heads-demo-edit.webm?_=56" /><a href="//videos.puri.sm/blog-posts/heads-demo-edit.mp4">//videos.puri.sm/blog-posts/heads-demo-edit.mp4</a></video></div>
<p>PureBoot starts by loading a free software BIOS, <a href="https://puri.sm/coreboot/">coreboot</a>, so that you can audit your BIOS for security bugs or backdoors. Since attackers generally focus on more mainstream proprietary BIOSes for their malware, this alone will protect you from a number of common attacks.</p>
<p>Of course, coreboot is only the beginning.</p>
<p>The next step happens as coreboot loads the Heads tamper-evident boot loader, and uses the TPM chip. TPM chips have traditionally been used to restrict what code you can run at boot, and/or for Digital Rights Management (DRM); but <strong>we put the TPM in your control</strong>. When Heads is set up for the first time, it stores known-good measurements of all executed boot code into the TPM chip on the system — along with a special secret. You can reset the TPM, set a new TPM passphrase and store new measurements at any time; it doesn&#8217;t require Purism&#8217;s approval.</p>
<p>Heads authenticates itself to you, not the other way around, by turning that shared secret in the TPM into a 6-digit code it then sends to your Librem Key. If the BIOS changes, or if an attacker resets the TPM, the TPM won&#8217;t release the shared secret to Heads, Heads won&#8217;t be able to generate the code that matches what the Librem Key generates, and the <a href="https://puri.sm/posts/the-librem-key-makes-tamper-detection-easy/">Librem Key will flash red to warn you</a>.</p>
<p>PureBoot protects against kernel rootkits using your own GPG keys, the ones stored on your Librem Key. When you first set up Heads, it signs all of the files in your /boot directory with your own GPG keys; whenever you boot your OS, it scans all the files in your /boot directory and <a href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">warns you if anything has changed</a>. It does all this <strong>without locking you out of your system or removing control</strong><strong>:</strong> even in the event of modified files, you always have the possibility of booting into a failsafe mode and get back into your system.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-62718-57" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://videos.puri.sm/coreboot/purism-librem-coreboot-heads-tamper-detection-demo-2018-04-15.webm?_=57" /><a href="https://videos.puri.sm/coreboot/purism-librem-coreboot-heads-tamper-detection-demo-2018-04-15.webm">https://videos.puri.sm/coreboot/purism-librem-coreboot-heads-tamper-detection-demo-2018-04-15.webm</a></video></div>
<p>Up to this point, Heads had only been available to a small group of people, in a private Beta program. This program was a success and led to a number of UI and documentation improvements; we are so pleased to announce that, <strong>starting today, Heads is an open Beta</strong> for anyone who wants to try it out. If you would like to test Heads on your Librem laptop, just <a href="https://docs.puri.sm/PureBoot/Heads/User_Manual.html#heads-beta-installation-instructions">visit our official documentation page</a> for details on how to build, install and set it up.</p>
<h2>Intel Management Engine Risks</h2>
<p>The Intel Management Engine (ME) is a special piece of software from Intel that runs on all modern Intel computers, and is required to initialize the hardware. In some computers, the ME includes Advanced Management Technology (AMT) software, allowing IT to remotely access a computer over the network, see what&#8217;s on the screen and control the hardware. Many security experts are very worried about the ME&#8217;s complete and fundamental access to your computer&#8217;s hardware, because its source code is proprietary and therefore it can&#8217;t be audited for security bugs, or for backdoors that might be planted by the vendor or by a sophisticated adversary. These worries aren&#8217;t completely unfounded: Positive Technologies has found a number of <a href="https://blog.ptsecurity.com/2018/11/what-we-have-learned-about-intel-me.html">concerning security vulnerabilities in the ME</a> over the years.</p>
<p>We now know PureBoot protects against ME vulnerabilities in a number of ways, we start by choosing an ME chip that does not contain AMT features to begin with, and then we disable the ME by setting the &#8220;disable&#8221; bit within the ME. Since we don&#8217;t really want to rely on trusting the ME to disable itself, we also <em>neutralize</em> the ME by <em>erasing</em> most of the code within it, leaving only a minimal set of modules, essentially for initializing the hardware. Additionally, we also protect the system – from attacks that might modify the ME code itself — with our TPM chip, and with Heads tamper-evident boot software. You can read more specifics about our process <a href="https://puri.sm/posts/measuring-the-intel-me-to-create-a-more-secure-computer/">here</a> and <a href="https://puri.sm/posts/deep-dive-into-intel-me-disablement/">here</a>.</p>
<h1>Interdiction</h1>
<p>Ever since the Snowden revelations about how NSA programs to interdict computer hardware during shipment and modify it with backdoors, the security community has been much more focused on attacks along the supply chain. We have already written about our own approaches to <a href="https://puri.sm/posts/protecting-the-digital-supply-chain/">protect the digital supply chain</a>, and have also offered anti-interdiction services to customers who wanted additional assurances that their laptop hasn&#8217;t been tampered with in transit.</p>
<p>In the past, most of our anti-interdiction protection was focused on hardware solutions; but with PureBoot we can add even more sophisticated measures, measures that integrate hardware with software. By using PureBoot&#8217;s protections against BIOS malware and rootkit tampering combined with a Librem Key, we can ship the laptop and Librem Key separately (and, potentially, to separate locations) to frustrate interdiction attacks. <b>Once you receive both your Librem Key and your laptop, you will have at your disposal an extra tool: one that detects any tampering during shipping.</b></p>
<h1>Convenient Boot Security Under Your Control</h1>
<p>Having a secure boot process, you have a stable foundation you can base the rest of your system security on. <b>Having that process under </b><em><b>your</b></em><b> control, you have the assurance that you truly own your system</b>, that you won&#8217;t be locked out of it, or prevented from running any OS you want. We are making this whole process simple and convenient so that you can get stronger security features — without being tempted to disable security that is getting in your way. PureBoot accomplishes all of these goals using free software, that you can audit and change.</p>
<p>We&#8217;ll soon include it in every laptop we ship. We also have something in the works for existing users of Librem laptops and Librem keys to upgrade to PureBoot — and </span>expect to have general availability in the second quarter of 2019.</p>
<p>That&#8217;s all from us, for now. For more information about PureBoot, check out <a href="https://docs.puri.sm/PureBoot.html">our official PureBoot documentation page</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureboot-the-high-security-boot-process/">PureBoot, the High Security Boot Process</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://videos.puri.sm/coreboot/purism-librem-coreboot-heads-tamper-detection-demo-2018-04-15.webm" length="2672930" type="video/webm" />
		</item>
		<item>
		<title>Librem 5 Hardware Update</title>
		<link>https://puri.sm/posts/librem-5-hardware-update-2/</link>
		<pubDate>Fri, 22 Feb 2019 13:33:45 +0000</pubDate>
		<dc:creator><![CDATA[Sriram Ramkrishna]]></dc:creator>
				<category><![CDATA[Customer Satisfaction]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62599</guid>
		<description><![CDATA[<p>Greetings everyone! This is a progress report on the Librem 5 development for the past two weeks. Here is all that happened. Conferences and Communities Quite a few members of the Purism team attended FOSDEM this year. Kyle Rankin gave a keynote, The Cloud is Just Another Sun that dealt with vendor lock-in in the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-hardware-update-2/">Librem 5 Hardware Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Greetings everyone! This is a progress report on the Librem 5 development for the past two weeks. Here is all that happened.</p>
<div class="business">
<div class="row grid">
<div class="column-4">
<strong>Conferences and Communities</strong><br />
Quite a few members of the Purism team attended FOSDEM this year. Kyle Rankin gave a keynote, <a href="https://fosdem.org/2019/schedule/event/cloud_is_another_sun/">The Cloud is Just Another Sun</a> that dealt with vendor lock-in in the cloud; the video is also available on the FOSDEM site. Meanwhile, some of the Librem 5 team organized a community Q&amp;A session under the heading of <a href="https://fosdem.org/2019/schedule/event/bof_free_software_mobile_devices/">Free Software on Mobile Devices</a>. Owners of the Librem 5 Developer Kit got their LCD displays flashed with the commands needed to work around some issues they had been experiencing.</p>
</div>
<div class="column-4">
<strong>Plasma Mobile sprint</strong><br />
Not everyone in the Librem 5 team went to FOSDEM: two team members attended the Plasma Mobile sprint in Berlin. Once there, they helped set up Librem 5 developer kits, talked about user interface design in Plasma Mobile and discussed development issues and progress. The Plasma Mobile team got something up and running real quickly on the developer kit, despite some initial glitches concerning touch input. This has led to a productive discussion on <a href="https://phabricator.kde.org/T10462">ways to support different form factors</a>, one that will hopefully lead to some nice cross-platform ways to support device convergence.</p>
</div>
<div class="column-4">
<strong>Application Development</strong><br />
Recent discussions, both in the Matrix chat rooms and on the forums, have led to two initiatives concerning the subject of phone applications: the first resulted in the compilation of the <a href="https://mglapps.frama.io/">Mobile GNU/Linux</a> apps list, a community-maintained list of applications that are meant to work on mobile devices running GNU/Linux – either because they target small screens, or because they feature adaptive user interfaces. If you can think of any app that should be on the list but ins&#8217;t, please follow the contribution guide at the end of the app list page.</p>
</div>
</div>
<div class="row grid">
<div class="column-8">
<h2> Dev Kits </h2>
<h4 style="font-size: 17px;">Probably the most significant event in last week&#8217;s news is that the LCD screens on development boards will <a href="https://source.puri.sm/Librem5/linux-emcraft/issues/5">now work</a>, if you <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/imx8.html#flashing-emmc">update the software</a> running on them. We knew that the screens worked just fine on the development kits we sent our backers, but we&#8217;re still all very happy to know that any remaining display problems could be fixed in software, not requiring the panels to be replaced. This update took longer to develop than initially hoped, as our kernel hackers had to work around a couple of tricky bugs in the hardware preventing the panel from being set up properly. Our community has already been exploring other features of the development board, so we&#8217;re now looking forward to seeing what they can do with working displays!</h4>
</div>
<div class="column-4">
<p>The second initiative led to the creation of a new Matrix room (community/librem-5-apps) for app development discussions, and it&#8217;s now listed in the <a href="https://developer.puri.sm/Librem5/Contact/Community.html#matrix-chat-rooms">online documentation</a>. It&#8217;s early days, there&#8217;s not that much being discussed at the moment but, with two other channels dedicated to different kinds of Librem 5-related conversations, it&#8217;s good to have a place for app-specific discussions.</p>
</div>
</div>
<hr />
<div class="row grid">
<div class="column-4">
<strong>Hardware</strong><br />
Much has been written about battery charging on the development board. Although the board&#8217;s controller circuit has built-in protection circuitry, we do recommend using batteries that also provide some level of overcurrent protection so that there is redundant protection in place. Batteries used with the development board must meet the specifications we&#8217;ve outlined – see the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/imx8.html#dev-kit-package">developer documentation</a> and the printed text on the board&#8217;s battery holder. Following these guidelines is the safest; if you are unsure about whether the battery you are using meets the specifications, remove the battery when the board is not in use.</p>
<p>Still on the subject of batteries, charging now works with our 5.0 branch of the kernel; but the current status of the battery isn&#8217;t always correctly reported by the operating system. Despite this, the charging circuitry is always working, in order to make sure charging occurs properly. While the 5.0 branch brings this improvement, the 4.1x kernel has support for more of the Librem&#8217;s peripherals; so 5.0 is not quite ready for everyday use just yet.</p>
</div>
<div class="column-4">
<strong>Software</strong><br />
Developers with no access to boards can still get an experience of the current phone environment by <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/emulators.html">using an emulator</a>, thanks to Pan, one of the contributors to the developer documentation. While this gives a flavor of the phone experience, it may be lacking when it comes to prototyping with the types of peripherals that the phone will have. Fortunately, use of peripherals can be simulated to some extent, and a <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/182">recent contribution to the documentation</a> shows just how to do that.</p>
</div>
<div class="column-4">
<strong>Low-Level</strong><br />
Ongoing work on the <a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/5">U-Boot bootloader</a>, the <a href="https://source.puri.sm/Librem5/flash-kernel/merge_requests/1">flash-kernel</a> and <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/31">the tools</a> used to create images for the development board aims to make it easier to resize the storage space available on the board. This will help with the board&#8217;s software development, especially when testing with large Flatpak runtimes. In the kernel itself, we have tied the panel to the backlight so that the two <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/10">turn on and off together</a>, and we <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/12">switched to the mainline touchscreen driver</a> now that a <a href="https://patchwork.kernel.org/patch/10784125/">compatible driver has been identified</a>. The graphics stack has also been receiving some attention, in order to <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/13">make it more stable</a> – with work ongoing in <a href="https://source.puri.sm/guido.gunther/mesa/tree/gc7000-hacks">a branch</a>, and changes being upstreamed at least as far as <a href="https://source.puri.sm/Librem5/mesa/tree/pureos/purple">PureOS</a>.</p>
</div>
</div>
<div class="row grid">
<div class="column-4"><strong><br />
Shell and Apps</strong><br />
We have guaranteed Phosh is now more stable on the development boards, as a result of <a href="https://source.puri.sm/Librem5/phosh/merge_requests/171">removing unused components</a> from the session. In the user interface department, the volume control now does indeed <a href="https://source.puri.sm/Librem5/phosh/merge_requests/169">control the volume</a>. Chatty, on the other hand, has been updated and improved over the last few weeks to include support for Matrix chats, using libpurple to provide this integration. The user interface now also features adaptive elements and dialogs, and includes a brand-new welcome screen.</p>
</div>
<div class="column-4"><strong><br />
Design</strong><br />
The new online account icons got merged https://gitlab.gnome.org/GNOME/gnome-online-accounts/merge_requests/17</p>
</div>
<div class="column-4"><strong><br />
Wi-Fi and Bluetooth</strong><br />
Wi-Fi was working on the developer kits, but many of the users found it to be unreliable; after a long investigation into this issue, a workaround was found and <a href="https://lists.community.puri.sm/pipermail/librem-5-dev/2019-February/000128.html">sent to the Librem 5 Development</a> mailing list. As noted in the message, it will improve some aspects of wireless networking &#8211; although there are a few remaining issues to be aware of.</p>
</div>
</div>
</div>
<p>And that&#8217;s our report! Questions? Come by our matrix channels, we&#8217;ll be happy to see you.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-hardware-update-2/">Librem 5 Hardware Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Massive Progress, Exact CPU Selected &#038; Minor Shipping Adjustment</title>
		<link>https://puri.sm/posts/massive-progress-exact-cpu-selected-minor-shipping-adjustment/</link>
		<pubDate>Thu, 21 Feb 2019 16:04:27 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Benchmarks and testing]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Product or service launch]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62377</guid>
		<description><![CDATA[<p>&#160; We are so close to being finished, and we are so excited about it. Things are progressing so rapidly at Purism, in and around the Librem 5 smartphone, that we want to share the latest updates with you. As we&#8217;ve said before, we want to make a secure mobile communication device; one which offers [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/massive-progress-exact-cpu-selected-minor-shipping-adjustment/">Massive Progress, Exact CPU Selected &#038; Minor Shipping Adjustment</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<div class="business">
<div class="row grid">
<div class="column-4">
<h4>We are so close to being finished, and we are so excited about it.</h4>
</div>
<div class="column-8">
<h3 style="font-size: 17px;">Things are progressing so rapidly at Purism, in and around the Librem 5 smartphone, that we want to share the latest updates with you. As <a href="https://puri.sm/posts/librem5-2018-09-hardware-report/">we&#8217;ve said before</a>, we want to make a secure mobile communication device; one which offers on-par experience to today&#8217;s smartphones, but one that is also ethical. We are around the bend from reaching that goal.</h3>
</div>
</div>
<hr />
<h2>Progress Report</h2>
<p>Progress has been quick and steady, and because we only use components that respect both our ethical values and your personal privacy and freedoms, you can imagine the layers of complexity that go into delivering such a revolutionary mobile phone – from new hardware to a new kernel, from a new operating system to new applications, all of it culminating into the Librem 5 phone.</p>
<p><b>We want you to have the best possible solutions when it comes both to hardware, and to user experience.</b><br />
Being able to show that what we&#8217;re doing corresponds to our exact intentions is very important, for it will allow you to see this progress for yourself–and we do think the video below, running on the Librem 5 dev kit hardware we shipped in December, speaks volumes.</p>
<h2>The Librem 5 devkit running PureOS</h2>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-62377-58" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/02/devkit-demo.webm?_=58" /><a href="https://puri.sm/wp-content/uploads/2019/02/devkit-demo.webm">https://puri.sm/wp-content/uploads/2019/02/devkit-demo.webm</a></video></div>
<p>What you just saw in the video is the prototype of the Librem 5 hardware, and it has nearly identical specs to the ones we are putting into production later this year. And, as you can see, it is running our own PureOS mobile operating system – we&#8217;re proud to show off the fact that the Librem 5 is not built on Android, nor iOS.All the basic functionality is still in pre-release state, and more progress is constantly happening around-the-clock, which means even more apps are making it into the PureOS Store regularly.</p>
<h2>Q3 2019 &#8211; shipping the Librem 5</h2>
<p>But all this leads us to the aforementioned (one quarter) shipping adjustment: <b>the previous Q2 estimate is now confirmed for Q3 product shipping</b>: This accounts for the time it took us to properly benchmark test the newest CPU choices from NXP for the Librem 5, and the question of whether or not to choose the i.MX 8M Quad or the i.MX 8M Mini, mean we have adjusted our delivery plans slightly. <a href="https://puri.sm/posts/librem5-2018-09-hardware-report/">As we previously announced</a>, the i.MX 8M Quad CPU had known errata issues in the silicon itself, and this was the root cause for the delay, detour and need for research about potential alternatives.</p>
<p>On one hand, the i.MX 8M Quad silicon issues meant not only that the temperature of the battery was way too high, but also that it could discharge too quickly. On the other hand, the i.MX 8M Mini is made in an updated silicon process (14nm instead of 28nm) and has reduced features, resulting in a lower power consumption–but it&#8217;s new, and there could be unknown issues and risks. So a lot of research was made, and our development team started evaluating the i.MXM8 Mini to see if it could be used within our requirements–free software only, no binary blobs, mainline based software stacks.</p>
<p>And then the month of February began, and something else unexpectedly happened: NXP released a new software stack for our first CPU choice, the i.MX 8M–and all of the power consumption and heating issues suddenly disappeared!</p>
<h2>CPU and Specs</h2>
<p>So here we are, on track again after a little delay–quite a useful delay, because now we know. We know a lot more about the i.MX 8M Quad CPU we chose, and a little bit more about a possible alternative. We have chosen the i.MX 8M Quad CPU because the power consumption issues can be dealt with in software&#8230; and ultimately that means we don&#8217;t have to change the hardware to solve this issue. Full fabrication will begin for the Librem 5 with the specifications we described before:</p>

<table id="tablepress-38" class="tablepress tablepress-id-38">
<tbody class="row-hover">
<tr class="row-1 odd">
	<td class="column-1">Display</td><td class="column-2">5.5" - 5.7" HD display</td>
</tr>
<tr class="row-2 even">
	<td class="column-1">Processor</td><td class="column-2">iMX8M Quad CPU</td>
</tr>
<tr class="row-3 odd">
	<td class="column-1">Storage</td><td class="column-2">32 GB eMMC internal storage</td>
</tr>
<tr class="row-4 even">
	<td class="column-1">Wireless</td><td class="column-2">802.11abgn 2.4 Ghz / 5Ghz + Bluetooth 4</td>
</tr>
<tr class="row-5 odd">
	<td class="column-1">Baseband</td><td class="column-2">Gemalto PLS8 3G/4G modem w/ single sim on replaceable M.2 card</td>
</tr>
<tr class="row-6 even">
	<td class="column-1">GPS</td><td class="column-2">TESEO LIF3 multiconstellation GNSS receiver</td>
</tr>
<tr class="row-7 odd">
	<td class="column-1">Smartcard</td><td class="column-2">2FF format smart cards</td>
</tr>
<tr class="row-8 even">
	<td class="column-1">Kill Switches</td><td class="column-2">3 - WiFi, Cellular, Microphone/Cameras (all 3 will turn off GPS)</td>
</tr>
<tr class="row-9 odd">
	<td class="column-1">External Storage</td><td class="column-2">microSD storage expansion</td>
</tr>
<tr class="row-10 even">
	<td class="column-1">Accelerometer</td><td class="column-2">9-axis IMU (gyro, accel, magnetometer)</td>
</tr>
<tr class="row-11 odd">
	<td class="column-1">Front Camera</td><td class="column-2">TBD</td>
</tr>
<tr class="row-12 even">
	<td class="column-1">Back Camera</td><td class="column-2">TBD</td>
</tr>
<tr class="row-13 odd">
	<td class="column-1">Vibration Motor</td><td class="column-2">Yes</td>
</tr>
<tr class="row-14 even">
	<td class="column-1">Charging</td><td class="column-2">USB C connector for charging, USB client function, USB host function, power delivery</td>
</tr>
<tr class="row-15 odd">
	<td class="column-1">Battery</td><td class="column-2">User replaceable</td>
</tr>
<tr class="row-16 even">
	<td class="column-1">Speakers</td><td class="column-2">at least one</td>
</tr>
</tbody>
</table>
<!-- #tablepress-38 from cache -->
<h2>Delivering on our Promise</h2>
<p>As you have come to know, Purism will always keep you posted – about the impressive progress we are making, about any issues, major or minor, that come along. And ultimately, this CPU choice has many opportunities – ones that will change the future of computing for the better, for this decision does come with certain advantages in the long term. <strong>The i.MX8M Quad is the most powerful CPU that has both a good operating temperature and a good battery life.</strong> Having chosen the best possible CPU will provide us, and you, with an overall better hardware experience, with better capabilities and a shorter integration path–meaning, the integration with the software platform.</p>
<h2>Rapid Development Continues</h2>
<p>Software development continues to move forward quickly. Amazingly quickly. In the past few months, we&#8217;ve seen astonishing software progress, and we are now able to take advantage of it. Finally, the extra time for Librem 5 hardware fabrication will benefit software advancements that continue without slowdown, such as quality testing, providing a greater number of default apps, and community advancements made on our Librem 5 dev kit.</p>
<h2>Excitement Increases</h2>
<p>We recognize the importance of the Librem 5 phone and all the interest you have around it, you can rest assured. Based on our historic delivery on our promises, we feel more comfortable in advancing towards the delivery of the Librem 5 phone in the third quarter of 2019. We are also immensely grateful for all the support we&#8217;ve been receiving, both on our forums and on social media, and so proud of the progress our team is making; grateful to our community for supporting our efforts as we work diligently to get the Librem 5—and all its societal benefits—into people’s hands. We think that both our team and the community deserve the very best.</p>
</div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/massive-progress-exact-cpu-selected-minor-shipping-adjustment/">Massive Progress, Exact CPU Selected &#038; Minor Shipping Adjustment</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/02/devkit-demo.webm" length="16510049" type="video/webm" />
		</item>
		<item>
		<title>Purism&#8217;s CEO Todd Weaver Testifies at California Congressional Privacy Commission</title>
		<link>https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-california-congressional-privacy-commission/</link>
		<pubDate>Thu, 21 Feb 2019 00:09:34 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62624</guid>
		<description><![CDATA[<p>Thank you Chairman Chau and committee members. My name is Todd Weaver, and I think you’ll find I’m an unusual witness here today, while I may be sitting side-by-side with impressive privacy protection groups, I am here as the CEO of a rapidly growing technology company based in California. I am here calling for much [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-california-congressional-privacy-commission/">Purism&#8217;s CEO Todd Weaver Testifies at California Congressional Privacy Commission</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-ca-congress-privacy-commission-2019-02-20.jpeg"><img src="https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-ca-congress-privacy-commission-2019-02-20-1024x576.jpeg" alt="" width="640" height="360" class="aligncenter size-large wp-image-62627" srcset="https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-ca-congress-privacy-commission-2019-02-20-1024x576.jpeg 1024w, https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-ca-congress-privacy-commission-2019-02-20-300x169.jpeg 300w, https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-ca-congress-privacy-commission-2019-02-20-768x432.jpeg 768w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<hr />
<audio class="wp-audio-shortcode" id="audio-62624-2" preload="none" style="width: 100%;" controls="controls"><source type="audio/ogg" src="https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-spc-california-privacy-commission-testimony-2019-02-20.ogg?_=2" /><a href="https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-spc-california-privacy-commission-testimony-2019-02-20.ogg">https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-spc-california-privacy-commission-testimony-2019-02-20.ogg</a></audio>
<hr />
<p>Thank you Chairman Chau and committee members.</p>
<p>My name is Todd Weaver, and I think you’ll find I’m an unusual witness here today, while I may be sitting side-by-side with impressive privacy protection groups, I am here as the CEO of a rapidly growing technology company based in California.</p>
<p>I am here calling for much stronger consumer privacy protections – starting with giving consumers the power to opt IN rather than opt OUT of sharing their personal data.</p>
<p>I am here to tell you it’s time for California’s extraordinary tech industry to stop harvesting and &#8220;sharing&#8221; our most personal private data without our meaningful consent and knowledge.</p>
<p>I am not here to tell you <a href="https://leginfo.legislature.ca.gov/faces/billTextClient.xhtml?bill_id=201720180AB375" target="_blank" rel="nofollow">AB 375</a> (or stronger) protections are tough to implement, history is filled with wrongdoers complaining that doing right will put them out of business only to comply and thrive later. Incidentally, this same tech industry complained about Europe’s GDPR that certainly did not put them out of business.</p>
<p>I am here to tell you the new law (or stronger) is easy to technically comply with – if we companies simply begin to honor our customer’s privacy rights and design our services to be privacy-protecting rather than privacy-exploiting.</p>
<p>I started Purism, when I came to realize that my two young daughters, like all children, need convenient products and services that protect them, rather than exploit them.</p>
<p>As a technologist, I understand painfully well how much the technology sector can exploit my kids with ease.</p>
<p>That&#8217;s why I started this social purpose company founded on privacy-protection principles. Purism is already manufacturing in California and assembling these laptops shown right here, including the operating system, applications, and bundled services.</p>
<p>We will also this year be manufacturing a privacy-designed phone with bundled services that comply with AB 375 and go even further with opt-in by default for all offered services.</p>
<p>We have been growing by triple digits annually, reflecting the huge built up consumer demand from parents and professionals and enterprises just like you who simply want to keep their and their children’s lives private and secure.</p>
<p>This is done by a simple approach: privacy by design.</p>
<p>As AB 375 seeks to make clear, privacy is a right, and your every location and every communication and every webpage and every search stored permanently should not be exploited to use needed services online.</p>
<p>I strongly suggest the time has come for Californians to take back their constitutional right of privacy on the Internet, and urge you to substantially strengthen the privacy protections afforded by AB 375.</p>
<p>For your and my childrens&#8217; sake, Thank you.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-ceo-todd-weaver-testifies-at-california-congressional-privacy-commission/">Purism&#8217;s CEO Todd Weaver Testifies at California Congressional Privacy Commission</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/02/todd-weaver-purism-spc-california-privacy-commission-testimony-2019-02-20.ogg" length="2168941" type="audio/ogg" />
		</item>
		<item>
		<title>How Purism avoids the FaceTime™ remote camera viewing</title>
		<link>https://puri.sm/posts/how-purism-avoids-the-facetime-remote-camera-viewing/</link>
		<pubDate>Fri, 15 Feb 2019 19:59:56 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62384</guid>
		<description><![CDATA[<p>With the Major iPhone FaceTime bug that lets you hear the audio of the person you are calling… before they pick up, it&#8217;s probably a good time to remind everyone how Purism gives you peace of mind &#8211; because with Purism, your device protects you by default. Hardware Kill Switches. What this means is that [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-purism-avoids-the-facetime-remote-camera-viewing/">How Purism avoids the FaceTime™ remote camera viewing</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>With the <a href="https://9to5mac.com/2019/01/28/facetime-bug-hear-audio/" target="_blank" rel="nofollow noopener"><em>Major iPhone FaceTime bug that lets you hear the audio of the person you are calling… before they pick up</em></a>, it&#8217;s probably a good time to remind everyone how Purism gives you peace of mind &#8211; because with Purism, your device protects you by default.</p>
<p><strong>Hardware Kill Switches.</strong></p>
<p><img class="mx_MImageBody_thumbnail" src="https://talk.puri.sm/_matrix/media/v1/thumbnail/talk.puri.sm/ezqpaudIJJxgsOcmJrrcMibs?width=800&amp;height=600" alt="image.png" /></p>
<p>What this means is that there&#8217;s a physical switch that severs the circuit to your webcam and microphone.</p>
<p>Because you cannot really trust software you cannot verify. And since Apple™&#8217;s FaceTime™ is not Free Software – with its source code released so that anyone can verify their security claims, like the one we use at Purism – how can you trust what cannot be verified?</p>
<p>At Purism, both our <a href="https://puri.sm/products/" target="_blank" rel="nofollow noopener">Librem laptops</a>, and the upcoming <a href="https://puri.sm/products/librem-5/" target="_blank" rel="nofollow noopener">Librem 5 phone</a> include this rather simple switch, that makes it remarkably easy to guarantee that the camera and microphone have no electrical circuit enabled.</p>
<p>See? Powerful simple privacy protection built into all Purism products by default.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-purism-avoids-the-facetime-remote-camera-viewing/">How Purism avoids the FaceTime™ remote camera viewing</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>How to Avoid the Frightful 5 Big Tech Corporations</title>
		<link>https://puri.sm/posts/how-to-avoid-the-frightful-5-big-tech-corporations/</link>
		<pubDate>Tue, 05 Feb 2019 17:12:24 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62337</guid>
		<description><![CDATA[<p>So you&#8217;re wondering&#8230; You&#8217;re starting to question the moral values of Big Tech. You and your friends probably have a growing feeling of creepiness about the tech giants who have — like a poorly-acted villain — told you one thing, and given you another. Society – all of us – was told by these rising [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-to-avoid-the-frightful-5-big-tech-corporations/">How to Avoid the Frightful 5 Big Tech Corporations</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">So you&#8217;re wondering&#8230;</h2>
<p>You&#8217;re starting to question the moral values of Big Tech. You and your friends probably have a growing feeling of creepiness about the tech giants who have — like a poorly-acted villain — told you one thing, and given you another.</p>
<p>Society – all of us – was told by these rising tech giants that &#8220;Everybody&#8217;s doing it, it&#8217;s easy: just do it,&#8221; and even though the masses – again, all of us – were skeptical, also generally thought, &#8220;Okay, I may be the product&#8230; but I<i> am</i> in control.&#8221; <strong><b>Until, of course, you </b></strong><strong><i><b>weren&#8217;t</b></i></strong><strong><b> in control.</b></strong></p>
<p>Big Tech have two business models: one is to exploit your private life for profit, the other to lock you into their products and services. Some even have both. Consequently, nearly everyone <a href="https://gizmodo.com/i-cut-facebook-out-of-my-life-surprisingly-i-missed-i-1830565456" target="_blank" rel="noopener">wants to leave Facebook</a> – it&#8217;s just that nobody wants to leave it for Facebook 2.0. And that highlights the larger, deeper, and more menacing issue in digital society: that <b>your digital civil rights are under constant, relentless attacks from Big-Tech.</b></p>
<h2 class="western">Why is that?</h2>
<p>That&#8217;s because Big Tech have a legally bound requirement to exploit you to maximize profit. They have been structured specifically to lock people up, to make it impossible to leave. <b>Society&#8217;s technology genius is not lacking, its moral genius is.</b></p>
<p>Big Tech is rotten to the core, they&#8217;re maximizing shareholder value without values. And that has to change.</p>
<h2 class="western">Is it changing?</h2>
<p>Counter to every attempt by Big Tech, you still do retain the control to switch away from platforms under their control. Leaving the harmful tech companies is a process of recognizing what is abusive in your relationship with them – and theirs with you; switching to something that aligns with your core values will bring you joy. <b>If everyone used, bought, and shared ethical products, we would all be living in digital utopia.</b></p>
<p>Avoiding Big Tech that harms you is much easier when you know what you actually want.</p>
<h2 class="western">What do <i>you</i> want?</h2>
<p>Like most people, you probably want convenient products that allow you to participate in digital society, products where you are also respected <em>and</em> protected by default. And you probably recognize that the current tech giants will not — and cannot — provide that.</p>
<p><b>I created Purism to solve this giant problem. </b>We are solving it. And with your support, we will advance the digital civil rights movement. One that changes technology for the better.</p>
<h2 class="western">What model can compete against Big Tech?</h2>
<p>The steps it takes are pretty clear: and even though they are difficult, Purism is farther along than you may currently think. <b>We have the momentum to realize our dreams, here is our model:</b></p>
<p>Step #1 is simple: avoid Big Tech in products and services.</p>
<p>Step #2 is to manufacture hardware without <a href="https://www.wired.com/story/eternalblue-leaked-nsa-spy-tool-hacked-world/" target="_blank" rel="noopener">purposeful backdoors</a> that exploit users, and therefore society.</p>
<p>Step #3 is to release all software source code under Free Software licenses, designed to <a href="https://magazine.factor-tech.com/factor_winter_2017/richard_stallman_and_the_vanishing_state_of_privacy" target="_blank" rel="noopener">protect and respect society</a></p>
<p>Step #4: Focus all development on values that better society, ensuring individual <a href="https://puri.st/" target="_blank" rel="noopener">digital civil rights</a> are fully respected.</p>
<p>And finally step #5, to release services that do not exploit, do not lock-in, and <a href="https://2017.ind.ie/ethical-design/" target="_blank" rel="noopener">do not control people</a>.</p>
<p>Doesn&#8217;t that sound like a really good business model in, and for, technology?<br />
<em>&#8220;Maximize Society&#8217;s Values.&#8221; — Todd Weaver, Purism SPC</em><br />
sounds an awful lot better than the current Big Tech model,<br />
<em>&#8220;Harm People for Profit.&#8221; — Big-Tech.</em></p>
<p>This rotten core of locking people into products and booking them into an exploitative platform needs to become a thing of past regret.</p>
<p><b>Social purpose companies mean</b> advancing social good first, returning the power to the people.</p>
<p><b>Decentralized protocols mean</b> decentralized power, returning control to the people.</p>
<p><b>Free Software means</b> freedoms that benefit society, returning control to the people.</p>
<p><b>Secure hardware means</b> private data is kept private, returning control to the people.</p>
<p>And all this means any future product or service that you use or join must be from an organization that does social good, uses decentralized protocols, that advances freedom in software and security in hardware. Can you imagine how awesome society will be if technology does all that?</p>
<p><strong>It&#8217;s within your power to help society</strong> – by avoiding Big Tech, by using products and services that respect your digital civil rights.</p>
<p>Thank you.</p>
<p><i>Learn more about Purism <a href="https://puri.sm/products/">products</a> that do all this.</i></p>
<form class="newsletter-form" action="https://announce.puri.sm/subscribe/announce" method="POST">For more information on what Purism is doing across hardware, software, and our upcoming services, subscribe to our newsletter:<br />
<input name="email" type="email" placeholder="Your email" /><br />
<button name="email-button" type="submit">Subscribe</button></p>
<p class="hint hint--subtle">You will receive an automated e-mail you will need to reply to to confirm your subscription.</p>
</form>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-to-avoid-the-frightful-5-big-tech-corporations/">How to Avoid the Frightful 5 Big Tech Corporations</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism announces a partnership with GDquest to develop adaptive game tutorials</title>
		<link>https://puri.sm/posts/purism-announces-a-partnership-with-gdquest-to-develop-adaptive-game-tutorials/</link>
		<pubDate>Mon, 04 Feb 2019 19:14:45 +0000</pubDate>
		<dc:creator><![CDATA[Ines Mendes]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62342</guid>
		<description><![CDATA[<p>We are happy to announce our forthcoming partnership with GDquest – one that we hope will make the world a happier, more fun place. Libre/indie game designers might like to know that Nathan Lovato – game design expert, founder and game design instructor at GDquest – will be making a series of tutorials, explaining how [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-announces-a-partnership-with-gdquest-to-develop-adaptive-game-tutorials/">Purism announces a partnership with GDquest to develop adaptive game tutorials</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are happy to announce our forthcoming partnership with GDquest – one that we hope will make the world a happier, more fun place.</p>
<p>Libre/indie game designers might like to know that Nathan Lovato – game design expert, founder and game design instructor at GDquest – will be making a series of tutorials, explaining how to make adaptive games with high-quality libre game engine Godot; tutorials showing how games can both be created and released on the Librem 5 smartphone, and later submitted to the PureOS store.</p>
<p>The first of the three video tutorials will focus on how to create a mobile game for GNU/Linux. It will also help conceive and design a 2D mobile game, and tackle design issues that are unique to mobile games – such as having a small screen, dealing with touch controls and any performance and usability issues. By loading <a href="https://source.puri.sm/Purism/flossy-gnu">Flossy Gnu</a> in Godot, the tutorial demonstrates how these performance and usability issues are to be addressed. Specific tips for GNU/Linux in general, and for the Librem 5 in particular, are of course also to be noted and discussed.</p>
<p>&nbsp;</p>
<p style="text-align: center;"><img class="alignnone wp-image-62371" src="https://puri.sm/wp-content/uploads/2019/02/godot_sample.jpeg" alt="" width="331" height="190" /></p>
<p>&nbsp;</p>
<p>The second tutorial will deal with sideloading your newly created game onto your Librem 5, starting by demonstrating how to build &#8220;Flossy Gnu&#8221; on your Librem laptop – or on any other GNU/Linux laptops; how to copy and install it onto your Librem 5 smartphone, play it – and hopefully have plenty of fun with it. It&#8217;ll also suggest how to install a new build when you update your game.</p>
<p>The third and last (but not least) video tutorial will be all about publishing to the PureOS store. It&#8217;ll demonstrate how to publish source code and assets for a reproducible build, and how to submit the game for inclusion in the PureOS store after that.</p>
<p>GDQuest is producing more tutorial videos as part of their <a href="https://www.kickstarter.com/projects/gdquest/create-your-own-games-with-godot-the-free-game-eng">ongoing crowdfunding campaign</a>. There are only a few days left to back the project. Join us in supporting them!</p>
<p>Get in touch with Nathan Lovato at <a href="https://github.com/NathanLovato">GitHub,</a> at <a href="https://www.gdquest.com/">GDquest,</a> or at his pro <a href="https://twitter.com/nathangdquest?lang=en">SNS account</a></p>
<p>Image credit: <a href="https://archive.org/details/M00GNU">MooGNU</a> Copyright 2012 /g/ CC-BY-3.0</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-announces-a-partnership-with-gdquest-to-develop-adaptive-game-tutorials/">Purism announces a partnership with GDquest to develop adaptive game tutorials</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Origin Story</title>
		<link>https://puri.sm/posts/purism-origin-story/</link>
		<pubDate>Thu, 31 Jan 2019 17:37:37 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62375</guid>
		<description><![CDATA[<p>One of the most common questions we get asked is why I started Purism. And given the growing importance of Purism&#8217;s mission amid the barrage of news about how large tech companies are surveilling and exposing their users, it seemed like an opportune time to share our origin story, and why I felt it was [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-origin-story/">Purism Origin Story</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>One of the most common questions we get asked is why I started Purism. And given the growing importance of Purism&#8217;s mission amid the barrage of news about <strong>how large tech companies are surveilling</strong> and exposing their users, it seemed like an opportune time to share our origin story, and why I felt it was important to create this alternative to the status quo.</p>
<p>When my first daughter was born, in 2007, her birth had a profound impact on me. Like many parents, I was instantly catapulted into a stance of protection over my child, and felt the weight of responsibility for this little person&#8217;s life.</p>
<p>My second child was born 20 months later in 2009, only multiplying the impact my decisions would make on our family.</p>
<p>There are so many issues one must consider as a parent. Parenthood is possibly the single most philosophical decision-making journey a person can undergo, so it should come as no surprise that as new parents, my wife and I were researching decisions from diapers to food, housing, clothing, school districts and… technology.</p>
<p>And as I&#8217;ve come to find, that last topic has become the most critical one over the last decade. Like a lot of parents, I set off to research what technology choices could be made for my children as they would grow to adulthood.</p>
<p>But <em>unlike</em> a lot of parents, I am an expert on software, hardware, and what goes on behind the curtain to bring these products to market. And I know it&#8217;s not pretty.</p>
<p>As my children were growing, I could see that within a few years they and their friends would be wanting a mobile phone; they would want to use Internet services to chat, record personal videos and share experiences with friends. Like most parents, I had questions and concerns about the current state of big-tech products and services, about their exploitative business practices.</p>
<p>But, <em>unlike</em> most parents, I knew at that time there was no way to change these companies, no way they would come to embody important moral values like respecting me, my kids, and their friends.</p>
<p>I then thought, so what tech future would I like to see instead? What would that future look like for me, my family, for my kids&#8217; friends? What would that look like for all of society? For example, what would be needed for owning a mobile phone that fully respected our rights to privacy and freedom?</p>
<p>Hmm&#8230;</p>
<p>So deeper and deeper I went, to dissect and answer that question to the fullest possible extent. Let&#8217;s take a simple request that combines a lot of issues into one: &#8220;I&#8217;d like that, when I am chatting with my child, there&#8217;s actually only the two of us in the conversation.&#8221;</p>
<p>This should be so simple – but it is nowhere near the case. At each layer of the existing mobile phones, <em>that</em> conversation is shared with a growing list of participants who have unfettered access to my, and my child&#8217;s, digital life.</p>
<p>The application author [Facebook (and its subsidiaries, Whatsapp, Instagram), Snapchat, et al.], even with unverified encryption in a proprietary app, controls that data. The operating system vendor (Apple or Google) controls that data. The network provider (Sprint, AT&amp;T, Verizon, et al.) controls that data. And, of course, governments also have influence over any of those organizations. And so this is one ugly tech stack of privacy invasion, a gordian knot to unravel simply in order to have a private conversation with my child.</p>
<p>I could certainly elaborate, providing example after example of simple requests that are impossible to accomplish with today&#8217;s mobile phones, but will summarize it in the following list: GPS location data permanently stored and shared, all photos, videos, and message history also stored and shared, browsing searches tracked indefinitely, every interaction with every person ever, never deleted – just to name a few of a mile-long list of issues.</p>
<p>These tech-stacks of exploitation were not really built by accident. They are wired into the business models of every tech company in the space; not a single one advances moral values over their shareholder value. And so I knew there was no way to get to have individual freedom and control from the current phone hardware or from its OS vendor (Apple or Google). <strong>I unfortunately knew there was no way to respect the digital civil rights of society by playing the silicon valley exploitation game.</strong></p>
<p>That to solve all these problems with technology, I would have to start from scratch.</p>
<p>I also knew that starting with a mobile phone (without immense silicon valley investment) would be very difficult, so I had to come up with a plan. I needed to start from the ground-up. I needed to create an ethical computer manufacturing company first, and then expand.</p>
<p>So I set off and wrote a business plan:</p>
<ul>
<li>Start by <a href="https://puri.sm/posts/librem-15-rev1-sold-out-shipped-rev2-begins-testing-phase/" target="_blank" rel="noopener">manufacturing laptops</a>.</li>
<li>Have laptop sales <a href="https://puri.sm/posts/purism-hits-first-price-break-tier-for-librem-13/" target="_blank" rel="noopener">fund growth</a>.</li>
<li>Prove to the world we can <a href="https://puri.sm/posts/purism-ships-librem-13-first-privacy-respecting-notebook-computer/" target="_blank" rel="noopener">deliver on our promise</a>.</li>
<li>Grow the digital civil rights movement by making a convenient laptop that <a href="https://puri.sm/posts/purism-is-combining-hardware-and-software-designed-to-better-protect-your-privacy/" target="_blank" rel="noopener">respected people and didn&#8217;t exploit them</a>.</li>
<li>Author and bundle those laptops with an Operating System and applications that <a href="https://puri.sm/posts/pureos-apparmor-activated-by-default/" target="_blank" rel="noopener">protected people by default</a>.</li>
<li>Getting that OS <a href="https://puri.sm/posts/fsf-endorses-pureos/" target="_blank" rel="noopener">verified and endorsed</a> proving our claim.</li>
<li>Rinse and repeat to <a href="https://puri.sm/posts/librem-laptops-now-at-version-4/" target="_blank" rel="noopener">iterate hardware versions</a>.</li>
<li>Launch a pre-order crowdfunding campaign to <a href="https://puri.sm/posts/purism-launches-librem-5-smartphone-campaign/" target="_blank" rel="noopener">manufacture a mobile phone</a> from the schematics on up that would run that same ethical operating system.</li>
<li>Make sure it has an app store of curated <a href="https://puri.sm/posts/purism-announces-pureos-store/" target="_blank" rel="noopener">rights respecting apps</a>.</li>
<li>Follow that with a subscription of ethical services, so everybody can join in the fun.</li>
<li>Make protecting oneself more convenient than being exploited by big-tech.</li>
<li>Expand.</li>
</ul>
<p>That all was the original plan for Purism in 2014. Let&#8217;s measure the progress: Laptops, check. OS, check. Endorsements, check. Iterate, check. Phone campaign, check. App store, check&#8230; And starting in 2019 – the year of ethical services bundle (coming soon) and of the delivery of the Librem 5 phone.</p>
<p>2019, the year my children will own a mobile phone that protects them.</p>
<p>2019, the year I will have accomplished a major goal I set out to, nearly 5 years ago.</p>
<p>2019, the year we spread technological social good from tens-of-thousands to magnitudes more.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-origin-story/">Purism Origin Story</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Hardware Update</title>
		<link>https://puri.sm/posts/librem-5-hardware-update/</link>
		<pubDate>Fri, 25 Jan 2019 01:17:09 +0000</pubDate>
		<dc:creator><![CDATA[Sriram Ramkrishna]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62312</guid>
		<description><![CDATA[<p>The Librem 5 Developer Kit started arriving in the hands of developers, and focus was shifted towards supporting the growing number of developer requests – we want to make sure that shared advancements are truly shared across the developer community, it exciting to see the rapid progress being made. Much of the work being done [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-hardware-update/">Librem 5 Hardware Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 5 Developer Kit started arriving in the hands of developers, and focus was shifted towards supporting the growing number of developer requests – we want to make sure that shared advancements are truly shared across the developer community, it exciting to see the rapid progress being made. Much of the work being done aims at making the kit work as well as possible for all kinds of developers. And even those working on non-critical issues at the moment are busy enjoying the discovery of all the capabilities of the dev kits.</p>
<p>We are keeping track of issues by tagging them with the <code>devkit</code> tag in GitLab – a summary of which can be found at <a href="https://source.puri.sm/groups/Librem5/-/issues?scope=all&amp;utf8=✓&amp;state=opened&amp;label_name%5B%5D=devkit">this overview</a>.</p>
<p>The release of the dev kit has increased the (already profound) interest in the Librem 5 phone, giving rise to many new questions in the forums – many of which have been answered elsewhere. If you have a question about the dev kit or the phone, the <a href="https://puri.sm/faq/">FAQ</a> is always a good place to start looking for answers; the recently-added <a href="https://puri.sm/faq/what-are-the-phone-specs/">What are the phone specs?</a> should hopefully clear up the current state of specs and understand what we are going to ship later in the year.</p>
<p>Cortex_M4:</p>
<ul>
<li><a href="https://source.puri.sm/Librem5/Cortex_M4/merge_requests/1">Fix makefile and ldscript</a></li>
</ul>
<p>chatty:</p>
<ul>
<li><a href="https://source.puri.sm/Librem5/chatty/merge_requests/34">flatpak: Use ‘disabled’ instead of ‘false’</a></li>
</ul>
<p>developer.puri.sm:</p>
<ul>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/169">Update FAQ to reflect current devkit and phone status</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/167">Tidy up the table within Sphinx and RTD theme limitations</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/157">Add details about power LED status for devkit</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/165">Add another Python dependency for the flashing script</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/166">Use a local copy of the license button</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/163">Fix typo, tidy up language</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/160">Link back to the docs repository, hard-coding the URL in the theme</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/161">Add dependencies for flashing script</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/147">Add section on headphone connection events</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/152">Refactor application development information</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/153">Add a note about the boot mode</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/162">Simplify instructions for image downloading</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/158">Fix typo in Librem5 devkit troubleshooting documentation.</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/156">Resolve “Patch submission should use “default branch” instead of “master””</a></li>
<li><a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/155">Add build dependency information for uuu</a></li>
</ul>
<p>haegtesse:</p>
<ul>
<li><a href="https://source.puri.sm/Librem5/haegtesse/merge_requests/8">README.md: Update instructions on running to not refer to -p</a></li>
</ul>
<p>image-builder:</p>
<ul>
<li><a href="https://source.puri.sm/Librem5/image-builder/merge_requests/82">build-image: Use non-latest kernel when it already exists</a></li>
<li><a href="https://source.puri.sm/Librem5/image-builder/merge_requests/80">build-image: Create meta.yml early</a></li>
</ul>
<p>libhandy:</p>
<ul>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/207">Release libhandy 0.0.7</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/204">combo-row: Rework selected-index property setting and notification</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/203">dialog: Close when pressing the back button</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/201">examples: Make the Dialog section look nicer</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/205">rows: Drop pointers to internals on destruction</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/195">meson: Allow to build as a static library</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/164">Adaptive dialog</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/192">combo-row: Add the selected-index property</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/190">action-row: Chain up the parent dispose method</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/193">action-row: Add the activatable-widget property</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/199">HdyComboRow: hdy<em>combo</em>row<em>get</em>model: Add missing scope annotation</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/198">HdyDialer: Don’t use class method slot for ‘delete’</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/185">Use <code>apt-get build-dep .</code> to install dependencies</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/197">tests: Init libhandy</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/194">example: Make the row with no action non-activatable</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/191">action-row: Add the Since annotation to properties</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/187">action-row: Handle show_all()</a></li>
<li><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/188">HdyComboRow: Don’t use g_autoptr for GEnumClass</a></li>
</ul>
<p>librem5-devkit-tools:</p>
<ul>https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/62</p>
<li><a href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/21">Readme: Fix file name for uuu flash script.</a></li>
</ul>
<p>linux-emcraft:</p>
<ul>
<li><a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/6">librem5-evk: Use a percent scaled brightness</a></li>
<li><a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/4">Panel cleanups</a></li>
<li><a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/5">ext2: Enable posix ACLs</a></li>
</ul>
<p>phosh:</p>
<ul>
<li><a href="https://source.puri.sm/Librem5/phosh/merge_requests/167">session: Remove incorrect error parameter in DBus call</a></li>
<li><a href="https://source.puri.sm/Librem5/phosh/merge_requests/166">rootston.ini: Scale rootston on DSI-1 output</a></li>
<li><a href="https://source.puri.sm/Librem5/phosh/merge_requests/164">Fix URLs and copyright holder</a></li>
<li><a href="https://source.puri.sm/Librem5/phosh/merge_requests/163">gitignore tag files</a></li>
</ul>
<p>uboot-imx:</p>
<ul>
<li style="list-style-type: none">
<ul>
<li><a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/3">Use partition with bootable flag as mmcpart</a></li>
<li><a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/1">imx8m_som.h : make the kernel verbose rather than quiet</a></li>
</ul>
</li>
</ul>
<p>ModemManager:</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><a href="https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/62">base-call: Fix in-call URC regex to match handler logic</a></li>
<li><a href="https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/63">base-call: Increase incoming call timeout to ten seconds </a></li>
</ul>
</li>
</ul>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-hardware-update/">Librem 5 Hardware Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Music Player Lollypop added to PureOS Store for Librem 5 Phone and Laptops</title>
		<link>https://puri.sm/posts/music-player-lollypop-added-to-pureos-store-for-librem-5-phone-and-laptops/</link>
		<pubDate>Thu, 24 Jan 2019 23:13:14 +0000</pubDate>
		<dc:creator><![CDATA[jeremiah foster]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62001</guid>
		<description><![CDATA[<p>Let us introduce you to our very first application: A Music Player Last week, you might have noticed we announced the creation of an application ecosystem – a rich, secure and free ecosystem of desktop and mobile apps for our Librem products. More details will be revealed as soon as we come to some key [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/music-player-lollypop-added-to-pureos-store-for-librem-5-phone-and-laptops/">Music Player Lollypop added to PureOS Store for Librem 5 Phone and Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><strong>Let us introduce you to our very first application: A Music Player<br />
</strong></p>
<p>Last week, you might have noticed we announced <a href="https://puri.sm/posts/purism-announces-pureos-store">the creation of an application ecosystem</a> – a rich, secure and free ecosystem of desktop and mobile apps for our Librem products. More details will be revealed as soon as we come to some key decisions regarding how it should be built; but for now, everything will revolve around Flatpak, which we believe is the best technology for what we want to achieve today. We are eager to partner with the Flatpak community, and hope to rapidly build an app store centered around our core values – Free Software and Reproducible Builds.</p>
<p>This post is the first in a series which will announce applications that have either been ported to the Librem 5 at various stages or will work on the Librem 5. It&#8217;s also meant to inspire you to write applications for Librem devices on PureOS Store – and help us build great store apps for everyone to use.</p>
<p><strong>And then there&#8217;s Lollypop</strong> – with the <a href="https://wiki.gnome.org/Apps/Lollypop">Lollypop</a> music player, you can listen to music on your Librem 5 phone, on Librem laptops, or in any device running PureOS. You can enjoy your music, read the lyrics, trigger the party mode; connect to Last.fm, Libre.fm or ListenBrainz. You will, of course, find it in Purism&#8217;s PureOS Store &#8211; coming soon.</p>
<p><img class="alignnone size-full wp-image-62285" src="https://puri.sm/wp-content/uploads/2019/01/lollypop-on-devices-dark-2.png" alt="" width="1280" height="720" /></p>
<div style="text-align: center;">
<h2>To know more about Lollypop, <a href="https://wiki.gnome.org/Apps/Lollypop">visit the website.</a></h2>
<p><img style="vertical-align: middle; margin-right: 25px;" src="https://puri.sm/wp-content/uploads/2019/01/lollypop-icon.png" alt="" width="128" height="128" /><img style="vertical-align: middle;" src="https://puri.sm/wp-content/uploads/2019/01/coming-soon-2.png" alt="" width="458" height="167" /></p>
</div>
<p style="text-align: center;">Help us build a great store app that everyone can use – develop an app for Librem devices on PureOS Store. Find out more at our <a href="https://developer.puri.sm/Librem5/">developer page</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/music-player-lollypop-added-to-pureos-store-for-librem-5-phone-and-laptops/">Music Player Lollypop added to PureOS Store for Librem 5 Phone and Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism announces PureOS Store</title>
		<link>https://puri.sm/posts/purism-announces-pureos-store/</link>
		<pubDate>Thu, 17 Jan 2019 22:06:33 +0000</pubDate>
		<dc:creator><![CDATA[jeremiah foster]]></dc:creator>
				<category><![CDATA[Service Offering]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=62073</guid>
		<description><![CDATA[<p>Purism is pleased to announce PureOS Store, a secure alternative to proprietary app stores that respects your privacy and freedom. While there is much to do before we go live, we are well into building the infrastructure and refining the policy. PureOS Store will be a vibrant hub for both mobile and desktop apps. We [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-announces-pureos-store/">Purism announces PureOS Store</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-62094" src="https://puri.sm/wp-content/uploads/2019/01/pureos-store3.jpg" alt="" width="1280" height="700" srcset="https://puri.sm/wp-content/uploads/2019/01/pureos-store3.jpg 1280w, https://puri.sm/wp-content/uploads/2019/01/pureos-store3-300x164.jpg 300w, https://puri.sm/wp-content/uploads/2019/01/pureos-store3-768x420.jpg 768w, https://puri.sm/wp-content/uploads/2019/01/pureos-store3-1024x560.jpg 1024w" sizes="(max-width: 1280px) 100vw, 1280px" />Purism is pleased to announce PureOS Store, a secure alternative to proprietary app stores that respects your privacy and freedom. While there is much to do before we go live, we are well into building the infrastructure and refining the policy. PureOS Store will be a vibrant hub for both mobile and desktop apps.</p>
<p>We envision PureOS Store as the primary community interface for app developers to contribute to the wider ecosystem, without having to understand the underlying technology like packaging or the mechanism of pushing apps upstream. We want to incentivize developers to create software that meets community values with the ultimate goal of incorporation into PureOS itself.</p>
<p>Apps in the PureOS Store will be evaluated on an ascending scale, with maturity ranging from development and beta levels to a fully-endorsed and default app in PureOS. Correlating &#8220;badges&#8221; will be utilized to quickly and clearly display the status of a given app, while also reflecting on the software&#8217;s freedom, privacy, security, and ethical design.</p>
<figure id="attachment_62085" style="width: 300px" class="wp-caption aligncenter"><img class="size-medium wp-image-62085" src="https://puri.sm/wp-content/uploads/2019/01/pureos-badges-300x155.png" alt="PureOS Store Badges" width="300" height="155" srcset="https://puri.sm/wp-content/uploads/2019/01/pureos-badges-300x155.png 300w, https://puri.sm/wp-content/uploads/2019/01/pureos-badges.png 620w" sizes="(max-width: 300px) 100vw, 300px" /><figcaption class="wp-caption-text">PureOS Store Badge Concept</figcaption></figure>
<p>This will not only facilitate trust in the ecosystem, but will empower users to make informed choices about apps before installing them.</p>
<p>In this way, anyone using Librem hardware or PureOS can understand that the software they rely upon is developed, packaged, and distributed in a socially-conscious manner. The values of PureOS Store reflect the values at Purism and, in fact, those we all would like to see in society.</p>
<p>In addition, we believe PureOS Store can facilitate the distribution of software across Librem devices that run PureOS, from laptops to mobile. We hope to develop real convergence — apps that &#8220;just work&#8221; regardless of which device they&#8217;re running on. Distributions like Debian that run on multiple silicon architectures have always held the promise of convergence, but most efforts at achieving this goal have fallen short. Purism is in the unique position of producing a Free and Open-Source Software (FOSS) laptop and smartphone, enabling an entire ecosystem based upon PureOS and our social values.</p>
<p>Stay tuned for more announcements as we get closer to launch.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-announces-pureos-store/">Purism announces PureOS Store</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Supports Software Freedom Conservancy</title>
		<link>https://puri.sm/posts/purism-supports-software-freedom-conservancy/</link>
		<pubDate>Tue, 15 Jan 2019 16:42:31 +0000</pubDate>
		<dc:creator><![CDATA[Sriram Ramkrishna]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Promotions]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61995</guid>
		<description><![CDATA[<p>We live in a dangerous world where privacy and security are more important than ever. In order for software to be trusted, the source code must be available to verify — a simple trust and verify model. Purism is proud to release all of our source code under Free Software licenses that not only empower users [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-supports-software-freedom-conservancy/">Purism Supports Software Freedom Conservancy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-62040" src="https://puri.sm/wp-content/uploads/2019/01/purism-conservancy.png" alt="" width="1280" height="720" /></p>
<p>We live in a dangerous world where privacy and security are more important than ever. In order for software to be trusted, the source code must be available to verify — a simple trust <strong>and</strong> verify model. Purism is proud to release all of our source code under Free Software licenses that not only empower users but are vital to protect their privacy and security. We favor licenses with strong <a href="https://www.gnu.org/copyleft/copyleft.html" target="_blank" rel="nofollow noopener">copyleft</a> like the GNU General Public License version 3, and will release software under the GPLv3 or an <a href="https://www.gnu.org/licenses/license-list.html#SoftwareLicenses" target="_blank" rel="nofollow noopener">FSF-approved license</a> we inherit. Our code can be studied, verified, and shared, whether you use our Librem line of products or not.</p>
<p>Software Freedom Conservancy is a vital and important part of the Free Software ecosystem that we at Purism and billions of people worldwide rely upon. Without organizations that protect and enforce the terms expressed in software licenses, our digital rights are at risk. Conservancy continues to play a central role in legal battles to safeguard these freedoms.</p>
<p>License enforcement is only part of the story, and Conservancy assists its <a href="https://sfconservancy.org/projects/current/" target="_blank" rel="nofollow noopener">member projects</a> by handling all matters other than software development and documentation, so the developers can focus on what they do best: improving the software for the public good. Many of these member projects play a critical role in the advancement of privacy and security, such as the Reproducible Builds project and <a href="https://puri.sm/coreboot/" target="_blank" rel="nofollow noopener">coreboot</a>, one of the standout security features of Purism&#8217;s Librem laptops and upcoming smartphone.</p>
<p>Purism is delighted to contribute $1,000 USD to support Software Freedom Conservancy. <strong>Their funding drive ends today</strong> and we urge everyone who utilizes Free Software as part of their daily workflow or toolchain to donate to Conservancy and help them reach their fundraising goals.</p>
<p><a class="button-primary" href="https://sfconservancy.org/supporter/" target="_blank" rel="nofollow noopener">Donate Today!</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-supports-software-freedom-conservancy/">Purism Supports Software Freedom Conservancy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem laptops now at Version 4</title>
		<link>https://puri.sm/posts/librem-laptops-now-at-version-4/</link>
		<pubDate>Mon, 14 Jan 2019 13:53:24 +0000</pubDate>
		<dc:creator><![CDATA[Omar Aboulhosn]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Product or service launch]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61948</guid>
		<description><![CDATA[<p>We are excited to announce Version 4 of our Librem laptops! Our Librem 13 and Librem 15 will now be upgraded with a 7th Gen Intel Core i7-7500U Processor with integrated HD Graphics that still works with coreboot. In addition, the Librem 15 display will be upgraded to 4K resolution. Upgraded models are available now [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-laptops-now-at-version-4/">Librem laptops now at Version 4</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are excited to announce Version 4 of our Librem laptops! Our Librem 13 and Librem 15 will now be upgraded with a 7th Gen Intel Core i7-7500U Processor with integrated HD Graphics that still works with <a href="/coreboot/">coreboot</a>. In addition, the Librem 15 display will be upgraded to 4K resolution. Upgraded models are available now for purchase whether you pick <a href="/products/librem-13/">Librem 13: the road warrior</a> or <a href="/products/librem-15/">Librem 15: the desktop replacement.</a></p>
<h2>7th Gen Intel Core CPU</h2>
<p>More speed is always good. The base frequency will increase 200Mhz, jumping to 2.7 GHz and with Intel&#8217;s Turbo boost, this new CPU max speed will increase from 3.1 GHz to 3.5 GHz. Even with the speed increases, the Thermal Design Power (TDP) will still remain at 15 Watts allowing us to run cool and keep battery life optimal. All of this while still working with <a href="/coreboot/">coreboot</a>, the fast and secure open source BIOS.</p>
<h2>HD Graphics 620 GPU</h2>
<p>The new 7th Gen Intel Core Processor brings with it upgraded integrated graphics, the Intel HD Graphics 620. This has the same core clock speed as the previous 520, but with 8 more texture mapping units giving the 620 a faster texture fill rate. Shader performance is generally more relevant here and with 192 Shader processing units compared to the previous 24, the HD Graphics 620 will deliver a smoother and more efficient experience with up to 4K video playback.</p>
<h2>4K video playback, 4K Display</h2>
<p>The Librem 15 screen upgrades from HD to Ultra HD, with a 4K display! With the 15.6 inch screen now supporting a higher resolution (3840 x 2160), there will be more pixels per inch (PPI). More pixels per inch translate to a sharper display. Better for both work and play.</p>
<h2>New Hardware, Same Price</h2>
<p>These hardware updates, including the 4k display on the Librem 15 all come without increasing the base price. The <a href="https://shop.puri.sm/shop/librem-13/">Librem 13 still starts at $1399</a> and the <a href="https://shop.puri.sm/shop/librem-15/">Librem 15 at $1599</a>. Don&#8217;t forget that we also <a href="/posts/splitit-payments-financing-introduction/">offer interest-free financing</a> so you can split that cost over six or twelve monthly payments.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-laptops-now-at-version-4/">Librem laptops now at Version 4</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>How We Designed the Librem 5 Dev Kit with 100% Free Software</title>
		<link>https://puri.sm/posts/how-we-designed-the-librem-5-dev-kit-with-100-free-software/</link>
		<pubDate>Thu, 10 Jan 2019 01:06:44 +0000</pubDate>
		<dc:creator><![CDATA[Eric Kuzmenko]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61868</guid>
		<description><![CDATA[<p>Today we’re going to cover the journey of designing the Librem 5 Developer Kit and how we used 100% Free Software in its development. Our dev kit’s design is released under the terms of the GNU GPLv3+, its hardware Git repository can be found here: https://source.puri.sm/Librem5/dvk-mx8m-bsb KiCad as The Obvious EDA of Choice Before the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-we-designed-the-librem-5-dev-kit-with-100-free-software/">How We Designed the Librem 5 Dev Kit with 100% Free Software</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Today we’re going to cover the journey of designing the Librem 5 Developer Kit and how we used 100% Free Software in its development.</p>
<p>Our dev kit’s design is released under the terms of the GNU GPLv3+, its hardware Git repository can be found here: <a href="https://source.puri.sm/Librem5/dvk-mx8m-bsb">https://source.puri.sm/Librem5/dvk-mx8m-bsb</a></p>
<h1>KiCad as The Obvious EDA of Choice</h1>
<p>Before the development of the dev kit began, it was not completely clear which path we would take to produce the design, specifically, which <a href="https://en.wikipedia.org/wiki/Electronic_design_automation">Electronic Design Automation (EDA)</a> tool would be used. Initially, the idea was to modify <a href="https://www.imx6rex.com/open-rex/">FEDEVEL’s i.MX 6QP OpenRex</a> board, which would have satisfied the dev kit’s basic requirements, but we quickly met two major issues: it used the archaic i.MX 6QP, and even worse was that it was designed in the proprietary EDA suite Altium. Luckily, I had prior experience designing electronics using the EDA tool KiCad, so Purism had the opportunity to create a dev kit design which used 100% Free Software. <a href="http://kicad-pcb.org/">KiCad</a> was also an obvious choice not only due to its freedom respecting license (GNU GPLv3+), but also because it is a very capable electronics design suite that even outperforms several pricey proprietary tools out there.</p>
<h1>Selecting Components Which Met The Requirements</h1>
<p>The first step when designing our dev kit involved searching for components which met the requirements that we defined in our campaign. In addition to meeting the specs outlined in the campaign, while searching for components, we decided to add quite a few extra bells and whistles; including:</p>
<ul>
<li>a charge controller (BQ25896)</li>
<li>18650 battery holder for an optional li-ion battery</li>
<li>USB-C</li>
<li>mini-HDMI</li>
<li>SD card controller &amp; micro-SD slot (since the i.MX 8M only has two uSDHC controllers)</li>
<li>ethernet/RJ45</li>
<li>audio codec</li>
<li>earpiece speaker</li>
<li>microphone</li>
<li>CTIA/AHJ 4-pole 3.5mm headphone jack (with selection between on-board and external mic)</li>
<li>GPG smart card reader &amp; slot</li>
<li>haptic/vibration motor</li>
<li>user/software-controllable LED</li>
<li>volume &amp; power buttons</li>
<li>hardware kill switches &amp; boot-mode switch</li>
<li>16Mb SPI NOR flash</li>
<li>a real-time clock (RTC)</li>
</ul>
<p>We also added the to-be-expected through-holes for a UART debug header which is unpopulated by default (serial over USB works on the default image shipped with your dev kit). Hint: If you are not comfortable with a soldering iron then you may be able to use a press-fit header on these through-holes, search for the part-number Autosplice 23-1063. We included an SMD 2&#215;5 JTAG footprint on the board and verified its functionality during our prototype phase; if this is something you’re interested in playing around with then have a look for the part-number GRPB052VWQS-RC.</p>
<p>For the WWAN/baseband modem and the Wi-Fi + BT we knew we needed to go with some sort of modules, surface-mount or otherwise. Early on, Nicole had the brilliant idea of using mPCIe and M.2 modules so as to make the dev kits modular and future-proof. We eventually nailed it down to the mPCIe SIMCom SIM7100A/E baseband modem module and the M.2 RedPine RS9116 Wi-Fi+BT module.</p>
<h1>Beginning the Schematic Drawing</h1>
<p>Initially, when the research phase was effectively over and we had to begin bringing our ideas into life, the i.MX 8M Quad had just recently become available on the market. In order to get a head-start in the development, add some extra modularity and future-proofness, we decided to go with a <a href="https://en.wikipedia.org/wiki/System_on_module">System-On-Module (SOM)</a>, which includes the SoC, SDRAM, eMMC, and PMIC. However, even in the early stages of our development when we began drawing the schematics, there were SOMs we were interested in that still didn’t get to their first production run. At around mid-April we established a natural relationship with EmCraft who were just getting into their first big SOM production run and were close to releasing its Hardware Architecture spec sheet. We determined that EmCraft’s SOM and their general resources were exactly what we needed. Once the specific SOM we were going to use was nailed down we were able to really begin cranking through the design.</p>
<p>The process of defining the specific components to be used on the dev kits was done concurrently with drawing the schematics. The entirety of our design was done using Git as our revision control system.</p>
<figure id="attachment_61870" style="width: 1157px" class="wp-caption alignnone"><img class="wp-image-61870 size-full" src="https://puri.sm/wp-content/uploads/2019/01/figure1.png" alt="" width="1157" height="812" srcset="https://puri.sm/wp-content/uploads/2019/01/figure1.png 1157w, https://puri.sm/wp-content/uploads/2019/01/figure1-300x211.png 300w, https://puri.sm/wp-content/uploads/2019/01/figure1-768x539.png 768w, https://puri.sm/wp-content/uploads/2019/01/figure1-1024x719.png 1024w" sizes="(max-width: 1157px) 100vw, 1157px" /><figcaption class="wp-caption-text">Figure 1: An early revision of the dev kit&#8217;s schematics from May 2nd (Git commit hash 023915d5)</figcaption></figure>
<p>After the schematic drawing was completed, we then exported our <a href="https://en.wikipedia.org/wiki/Netlist">netlist</a> file, getting us that much closer to the physical implementation of the dev kit.</p>
<h1>HP_DET Simulation</h1>
<p>In addition to using KiCad for the design of the dev kit, we also used a free software tool called <a style="outline: 1px dotted currentcolor; outline-offset: 0px;" href="https://ra3xdh.github.io/">Qucs-S</a> and the free software SPICE-compatible simulation kernel called <a href="https://xyce.sandia.gov/">Xyce</a> to simulate our headphone detect circuit, which included a zener diode used to protect the respective GPIO from too high or too low of input voltage from the audio codec’s HP DAC output. The combination of Qucs-S and Xyce allowed us to use the <a href="https://www.onsemi.com/PowerSolutions/supportDoc.do?type=models&amp;rpn=MMSZ4688">MMSZ4688T1G diode’s SPICE model</a> in a circuit that best represented the physical conditions of nothing being inserted into the 3.5mm jack but the HP DAC output being active.</p>
<figure id="attachment_61871" style="width: 1227px" class="wp-caption alignnone"><img class="wp-image-61871 size-full" src="https://puri.sm/wp-content/uploads/2019/01/figure2.png" alt="" width="1227" height="454" srcset="https://puri.sm/wp-content/uploads/2019/01/figure2.png 1227w, https://puri.sm/wp-content/uploads/2019/01/figure2-300x111.png 300w, https://puri.sm/wp-content/uploads/2019/01/figure2-768x284.png 768w, https://puri.sm/wp-content/uploads/2019/01/figure2-1024x379.png 1024w" sizes="(max-width: 1227px) 100vw, 1227px" /><figcaption class="wp-caption-text">Figure 2: Qucs-S + Xyce simulation of the HP_DET circuit</figcaption></figure>
<p>This simulation, as well as the simple DC case where the 3.5mm jack’s internal switch is open and only the 1MΩ pull-up to 3V3_P, the optional internal pull-up, and the zerner are present allowed us to prove that this protection method would work.</p>
<h1>Creating Footprints</h1>
<p>Around mid-June, when the <a href="https://en.wikipedia.org/wiki/Bill_of_materials">Bill-Of-Materials (BOM)</a> was complete and we began placing orders for the components, we were generating footprints for everything (chips, connectors, modules, etc). The process of creating these footprints involved going through each IC’s recommended land pattern as defined in their datasheet and quadruple checking to make sure everything was correct.</p>
<figure id="attachment_61873" style="width: 1920px" class="wp-caption alignnone"><img class="size-full wp-image-61873" src="https://puri.sm/wp-content/uploads/2019/01/figure3.png" alt="" width="1920" height="1016" srcset="https://puri.sm/wp-content/uploads/2019/01/figure3.png 1920w, https://puri.sm/wp-content/uploads/2019/01/figure3-300x159.png 300w, https://puri.sm/wp-content/uploads/2019/01/figure3-768x406.png 768w, https://puri.sm/wp-content/uploads/2019/01/figure3-1024x542.png 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /><figcaption class="wp-caption-text">Figure 3: BQ25896 charge controller’s footprint (U301 on the dev kit board, found underneath the SOM)</figcaption></figure>
<p>Using KiCad’s amazing 3D viewer, we were able to give nearly every component a 3D model so as to help establish a tangible visualizer for the progress being made.</p>
<figure id="attachment_61874" style="width: 800px" class="wp-caption alignnone"><img class="size-full wp-image-61874" src="https://puri.sm/wp-content/uploads/2019/01/figure4.png" alt="" width="800" height="800" srcset="https://puri.sm/wp-content/uploads/2019/01/figure4.png 800w, https://puri.sm/wp-content/uploads/2019/01/figure4-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/01/figure4-300x300.png 300w, https://puri.sm/wp-content/uploads/2019/01/figure4-768x768.png 768w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-caption-text">Figure 4: BQ25896 charge controller’s 3D view</figcaption></figure>
<h1>Beginning Floorplanning, Routing, and Updating KiCad</h1>
<p>Early on, a rough <a href="https://en.wikipedia.org/wiki/Floorplan_(microelectronics)">floorplan</a> was made to help us establish how much board area was needed (90x180mm) and where the various larger components would go (connectors, receptacles, card slots, mPCIe &amp; M.2 sockets, modules, etc). After really getting into the layout, some things continued to move around but were quickly pinned down on their specific locations.</p>
<p>In late-June we began routing, starting with the USB-C receptacle (commit a1bfc689). This marked the beginning of our layout process.</p>
<figure id="attachment_61875" style="width: 688px" class="wp-caption alignnone"><img class="size-full wp-image-61875" src="https://puri.sm/wp-content/uploads/2019/01/figure5.png" alt="" width="688" height="632" srcset="https://puri.sm/wp-content/uploads/2019/01/figure5.png 688w, https://puri.sm/wp-content/uploads/2019/01/figure5-300x276.png 300w" sizes="(max-width: 688px) 100vw, 688px" /><figcaption class="wp-caption-text">Figure 5: First commit with routing involved</figcaption></figure>
<figure id="attachment_61913" style="width: 733px" class="wp-caption alignnone"><img class="wp-image-61913 size-full" src="https://puri.sm/wp-content/uploads/2019/01/figure6-1.png" alt="" width="733" height="670" srcset="https://puri.sm/wp-content/uploads/2019/01/figure6-1.png 733w, https://puri.sm/wp-content/uploads/2019/01/figure6-1-300x274.png 300w" sizes="(max-width: 733px) 100vw, 733px" /><figcaption class="wp-caption-text">Figure 6: What the USB-C routing eventually became</figcaption></figure>
<figure id="attachment_61877" style="width: 1495px" class="wp-caption alignnone"><img class="size-full wp-image-61877" src="https://puri.sm/wp-content/uploads/2019/01/figure7.png" alt="" width="1495" height="694" srcset="https://puri.sm/wp-content/uploads/2019/01/figure7.png 1495w, https://puri.sm/wp-content/uploads/2019/01/figure7-300x139.png 300w, https://puri.sm/wp-content/uploads/2019/01/figure7-768x357.png 768w, https://puri.sm/wp-content/uploads/2019/01/figure7-1024x475.png 1024w" sizes="(max-width: 1495px) 100vw, 1495px" /><figcaption class="wp-caption-text">Figure 7: Early rats nest before component placement &amp; routing</figcaption></figure>
<p>The routing process involved a delicate balance between working as quickly as possible while making sure everything done properly without error, including carefully routing controlled-impedance tracks and sensitive analog lines.</p>
<p>Initially we were unsure how many layers were needed and whether we needed components on both sides of the board. We knew that EmCraft’s i.MX 8M baseboard used 8-layers and had components on both sides, but we were pretty confident that we could at least cut down on the number of layers. We quickly realized that since we were going to have some components on the “back” of our board (display side), including the display connectors, proximity/ambient light sensor, user LED, speaker, and microphone, there would certainly be components on both sides of the board. Having components on both sides made the layout process somewhat easier since this freed up some space for where we could place the SPI NOR flash, smart card reader, RTC, 2.8V LDO, various ICs, passives, and other components. As for the number of layers, we decided to cut it down to 6-layers and would only add 2 additional layers if we were to hit a gridlock and not be able to route some nets; luckily this never happened and we were able to stick with just 6.</p>
<p>We opted to use a common stack-up which provides the best balance between ease of routing and reduces unintentional radiated emissions. The dielectric substrate that was used was NAN YA’s NP-180TL copper clad laminate, which has a relative permittivity of ~4.11 at our average operating frequency of ~1.7GHz. Our RF feedline calculations for the board’s microstrip and coplanar waveguide (CPW) feedlines using this stackup can be found in the Git repo.</p>
<figure id="attachment_61881" style="width: 634px" class="wp-caption alignnone"><img class="size-full wp-image-61881" src="https://puri.sm/wp-content/uploads/2019/01/figure8.png" alt="" width="634" height="447" srcset="https://puri.sm/wp-content/uploads/2019/01/figure8.png 634w, https://puri.sm/wp-content/uploads/2019/01/figure8-300x212.png 300w" sizes="(max-width: 634px) 100vw, 634px" /><figcaption class="wp-caption-text">Figure 8: Dev kit stack-up</figcaption></figure>
<p>Before we began implementing the dev kit in KiCad we were not too sure if we wanted to use the nightly builds or stick with the somewhat older 4.0.7 stable release. Even though the nightly builds had several desirable features, we decided to go with the stable release so as to not have to frequently update KiCad and risk being on different versions. After getting a small dent into our layout, KiCad 5.0.0 was released! On July 16th we managed to update our dev kit project to KiCad 5.0.0 (specifically commits 4f70b865 and a4e3de8a) without much hiccup. Luckily, this update coincided with our switch from most passive components being 0603 to being 0402, since KiCad’s new passive footprints are a bit different than the old default ones, the pads having rounded corners which is more effective for lead-free solder.</p>
<p>After the updating the project to 5.0.0 we were able to focus heavily on getting through the layout and were able to get the unrouted net count down to 0 within a month (August 14th, specifically commit 9b4dd2e0).</p>
<figure id="attachment_61885" style="width: 815px" class="wp-caption alignnone"><img class="size-full wp-image-61885" src="https://puri.sm/wp-content/uploads/2019/01/figure9.png" alt="" width="815" height="623" srcset="https://puri.sm/wp-content/uploads/2019/01/figure9.png 815w, https://puri.sm/wp-content/uploads/2019/01/figure9-300x229.png 300w, https://puri.sm/wp-content/uploads/2019/01/figure9-768x587.png 768w" sizes="(max-width: 815px) 100vw, 815px" /><figcaption class="wp-caption-text">Figure 9: DRC on August 14th commit 9b4dd2e0 showing no unrouted nets and everything passing</figcaption></figure>
<p>When all nets were routed and the Design Rules Check (DRC) was passing, we were able to go back and tidy everything up for the next week or so.</p>
<p>Our most useful resources when laying out the board were the ICs’ layout reference found in either their datasheet or their evaluation board and Toradex’s Layout Design Guide which can be found here: <a href="https://docs.toradex.com/102492-layout-design-guide.pdf">https://docs.toradex.com/102492-layout-design-guide.pdf</a></p>
<figure id="attachment_61886" style="width: 1500px" class="wp-caption alignnone"><img class="size-full wp-image-61886" src="https://puri.sm/wp-content/uploads/2019/01/figure10.png" alt="" width="1500" height="2995" srcset="https://puri.sm/wp-content/uploads/2019/01/figure10.png 1500w, https://puri.sm/wp-content/uploads/2019/01/figure10-150x300.png 150w, https://puri.sm/wp-content/uploads/2019/01/figure10-768x1533.png 768w, https://puri.sm/wp-content/uploads/2019/01/figure10-513x1024.png 513w" sizes="(max-width: 1500px) 100vw, 1500px" /><figcaption class="wp-caption-text">Figure 10: The final state of the layout (copper filled zones hidden)</figcaption></figure>
<h1>Exporting Manufacturing Files and Sending Them Off For Fabrication</h1>
<p>After the layout was considered complete, we had to export all of the necessary manufacturing files used to fabricate and assemble the boards. Exporting the <a href="https://en.wikipedia.org/wiki/Gerber_format">Gerber files</a> was straightforward since KiCad makes this step quite easy. However, our assembly house requested that we also provide a fabrication and assembly drawing which took more involvement to produce.</p>
<p>We mostly used gEDA’s Gerbv to preview our design’s exported Gerber files. A neat web tool that uses Gerbv and ImageMagick as its renderer is Gerblook, here’s a static link to our dev kits in Gerblook: <a href="http://gerblook.org/pcb/rTgd4Aqusxr7XQLSdKa9V3">http://gerblook.org/pcb/rTgd4Aqusxr7XQLSdKa9V3</a></p>
<figure id="attachment_61887" style="width: 430px" class="wp-caption alignnone"><img class="size-full wp-image-61887" src="https://puri.sm/wp-content/uploads/2019/01/figure11.png" alt="" width="430" height="848" srcset="https://puri.sm/wp-content/uploads/2019/01/figure11.png 430w, https://puri.sm/wp-content/uploads/2019/01/figure11-152x300.png 152w" sizes="(max-width: 430px) 100vw, 430px" /><figcaption class="wp-caption-text">Figure 11: Dev kit’s Gerbers as viewed in Gerbv</figcaption></figure>
<p>In order to generate a proper assembly drawing, we made use of KiCad’s F.Fab/B.Fab layers to show the locations, outlines, polarity, and reference designators of all components on the board. By using each of the footprints’ F/B.Fab layers we were able to generate the final drawing by printing F.Fab and B.Fab onto separate PDFs and combining them afterwards.</p>
<figure id="attachment_61888" style="width: 500px" class="wp-caption alignnone"><img class="size-full wp-image-61888" src="https://puri.sm/wp-content/uploads/2019/01/figure12.png" alt="" width="500" height="994" srcset="https://puri.sm/wp-content/uploads/2019/01/figure12.png 500w, https://puri.sm/wp-content/uploads/2019/01/figure12-151x300.png 151w" sizes="(max-width: 500px) 100vw, 500px" /><figcaption class="wp-caption-text">Figure 12: SOM side of the assembly drawing</figcaption></figure>
<p>The fabrication drawing was even more involved. To produce this, we needed to export the fabrication notes found on the Cmts.User layer along with the board’s outline as one DXF file and then export all of the drill marks as another DXF file. After these two files are generated, they are then combined and adjusted inside a footprint drawing. Then, once we have this special “footprint” that combines the two DXF files, we hide just about everything in the layout and import this special “fab” footprint (without saving this temporary layout). At this point, everything we need is found on the Dwgs.User layer; so we are able to print this along with the frame reference onto a final fabrication drawing PDF.</p>
<figure id="attachment_61889" style="width: 490px" class="wp-caption alignnone"><img class="size-full wp-image-61889" src="https://puri.sm/wp-content/uploads/2019/01/figure13.png" alt="" width="490" height="967" srcset="https://puri.sm/wp-content/uploads/2019/01/figure13.png 490w, https://puri.sm/wp-content/uploads/2019/01/figure13-152x300.png 152w" sizes="(max-width: 490px) 100vw, 490px" /><figcaption class="wp-caption-text">Figure 13: Drill markings in the fabrication drawing</figcaption></figure>
<p>Each of these files and documents are used along with the IPC-D-356 netlist (which allows the fabrication house to do a <a href="https://en.wikipedia.org/wiki/Flying_probe">flying probe test</a> on the boards to make sure there are no short/open circuits), a component placement list CSV file (for the assembly house to know where and what orientation all components are placed), and finally a manually-edited GenCAD file (which is used by the assembly house to program their solder paste machines for our board).</p>
<h1>Testing Prototypes</h1>
<p>After all of the final manufacturing files were delivered to the fabrication and assembly firms, we answered any questions they may have had during the process, and tweaked anything that may need to be adjusted based on their feedback. At around late August, the files were sent off and we were anxiously waiting for our design to hit the fabrication floor in Shenzhen. Unfortunately, as outlined in an <a href="https://puri.sm/posts/librem5-2018-11-hardware-report/">earlier blog post</a>, several unforeseen circumstances such as severe weather and most of China observing Golden Week, we saw significant delays in the production of our prototypes. Due to these delays we decided to switch to a domestic factory for the fabrication of our prototypes, which managed to get the boards to us two weeks faster than the ones being made overseas.</p>
<figure id="attachment_61890" style="width: 640px" class="wp-caption alignnone"><img class="wp-image-61890 size-large" src="https://puri.sm/wp-content/uploads/2019/01/figure14-1024x1002.png" alt="" width="640" height="626" srcset="https://puri.sm/wp-content/uploads/2019/01/figure14-1024x1002.png 1024w, https://puri.sm/wp-content/uploads/2019/01/figure14-300x294.png 300w, https://puri.sm/wp-content/uploads/2019/01/figure14-768x752.png 768w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption class="wp-caption-text">Figure 14: Prototype v0.1.2 dev kit panel (before assembly)</figcaption></figure>
<p>After the small batch of prototypes were assembled they were quickly shipped to team members for debugging and software development. Luckily, due to constant review of the design from several parties as well as persistent scrutinization, there were very few errors found in the prototype’s hardware design (three relatively minor layout/netlist adjustments and one mechanical fix). For the following two months the prototypes were used to help bring the software to a more polished state.</p>
<h1>Final Production and Shipping</h1>
<p>At around early-to-mid November, after making the minor adjustments needed to the hardware design, and once we were at a comfortable state where nearly every hardware subsystem was <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Known_Issues.html">validated</a>, we went through the process of re-exporting and delivering the manufacturing files to our hand-picked fabrication and assembly house for the final build. At this point, a few of us at Purism used December 10th-22nd as a dedicated time to help with the assembly, testing, packing, and shipping of the final units which went out to backers (many of which were delivered before Christmas!).</p>
<figure id="attachment_61894" style="width: 895px" class="wp-caption alignnone"><img class="size-full wp-image-61894" src="https://puri.sm/wp-content/uploads/2019/01/figure16.png" alt="" width="895" height="881" srcset="https://puri.sm/wp-content/uploads/2019/01/figure16.png 895w, https://puri.sm/wp-content/uploads/2019/01/figure16-300x295.png 300w, https://puri.sm/wp-content/uploads/2019/01/figure16-768x756.png 768w" sizes="(max-width: 895px) 100vw, 895px" /><figcaption class="wp-caption-text">Figure 15: Final v1.0.0 dev kit panel (before assembly)</figcaption></figure>
<p><img class="alignnone wp-image-61928 size-full" src="https://puri.sm/wp-content/uploads/2019/01/devkit-figure16a.png" alt="" width="441" height="876" srcset="https://puri.sm/wp-content/uploads/2019/01/devkit-figure16a.png 441w, https://puri.sm/wp-content/uploads/2019/01/devkit-figure16a-151x300.png 151w" sizes="(max-width: 441px) 100vw, 441px" /> <img class="alignnone wp-image-61896 size-full" src="https://puri.sm/wp-content/uploads/2019/01/figure17b.png" alt="" width="462" height="846" srcset="https://puri.sm/wp-content/uploads/2019/01/figure17b.png 462w, https://puri.sm/wp-content/uploads/2019/01/figure17b-164x300.png 164w" sizes="(max-width: 462px) 100vw, 462px" /></p>
<p>Figure 16: Fully assembled dev kit compared to the 3D view (display side)</p>
<p><img class="alignnone wp-image-61929 size-full" src="https://puri.sm/wp-content/uploads/2019/01/devkit-figure17a.png" alt="" width="441" height="876" srcset="https://puri.sm/wp-content/uploads/2019/01/devkit-figure17a.png 441w, https://puri.sm/wp-content/uploads/2019/01/devkit-figure17a-151x300.png 151w" sizes="(max-width: 441px) 100vw, 441px" /> <img class="alignnone wp-image-61899 size-full" src="https://puri.sm/wp-content/uploads/2019/01/figure18b.png" alt="" width="434" height="890" srcset="https://puri.sm/wp-content/uploads/2019/01/figure18b.png 434w, https://puri.sm/wp-content/uploads/2019/01/figure18b-146x300.png 146w" sizes="(max-width: 434px) 100vw, 434px" /></p>
<p>Figure 17: Fully assembled dev kit compared to the 3D view (SOM side)</p>
<p>The entire process was quite an intense time crunch but it was well worth it, especially after we see what the community is able to produce with our efforts. Some have even already begun designing 3D printed cases for the dev kit. We look forward to seeing what cool software and uses you come up with for these awesome boards! Feel free to share all of the cool stuff you develop for the dev kit by emailing us at <a href="mailto:feedback@puri.sm">feedback@puri.sm</a>, if it’s super awesome we may just have to share it on a future blog post.</p>
<p>Now our efforts are focused getting the Librem 5 phone out the door. So until next time, stay inventive!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-we-designed-the-librem-5-dev-kit-with-100-free-software/">How We Designed the Librem 5 Dev Kit with 100% Free Software</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>End of Year Librem 5 Update</title>
		<link>https://puri.sm/posts/end-of-year-librem-5-update/</link>
		<pubDate>Wed, 09 Jan 2019 08:00:12 +0000</pubDate>
		<dc:creator><![CDATA[Sriram Ramkrishna]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61879</guid>
		<description><![CDATA[<p>End of the Year Report &#8211; Librem 5 &#8211; Things are awesome Hello everyone! We have accomplished so much in the last 3 months and need to share, so prepare yourself for a dense update on the Librem 5 phone, PureOS, and software applications. As you know, we have a number of important components in [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/end-of-year-librem-5-update/">End of Year Librem 5 Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1><strong>End of the Year Report &#8211; Librem 5 &#8211; Things are awesome<br />
</strong></h1>
<p>Hello everyone! We have accomplished so much in the last 3 months and need to share, so prepare yourself for a dense update on the Librem 5 phone, PureOS, and software applications.</p>
<p>As you know, we have a number of important components in the Librem 5 that we will try outline.</p>
<h2><strong>Calls</strong></h2>
<p>Let&#8217;s start off with the Calls application.  The calls application is what allows us to place phone calls and what makes the phone a<br />
phone.  In these past few months, we&#8217;ve been making this application work wonderfully.  Below is a demo of the calls application receiving a phone call.  So the basic support for the calls application is complete and we&#8217;re working making a great design.  We&#8217;ve successfully implemented important basic features like ring tones.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-61879-59" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/01/calls_ring.mp4?_=59" /><a href="https://puri.sm/wp-content/uploads/2019/01/calls_ring.mp4">https://puri.sm/wp-content/uploads/2019/01/calls_ring.mp4</a></video></div>
<p>If you&#8217;re interested in following the work, we&#8217;ve included the merge<br />
requests for calls below and important issues that were created:</p>
<p><em>Merge Requests</em></p>
<p><a href="https://source.puri.sm/Librem5/calls/merge_requests/5">https://source.puri.sm/Librem5/calls/merge_requests/5</a> &#8211; flatpak: enable access to dconf config<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/20">https://source.puri.sm/Librem5/calls/merge_requests/20</a> &#8211; new-call: set input hints and purpose of SearchEntry<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/25">https://source.puri.sm/Librem5/calls/merge_requests/25</a> &#8211; mm-provider: clarify warning a bit<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/23">https://source.puri.sm/Librem5/calls/merge_requests/23</a> &#8211; history-box: add empty view<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/19">https://source.puri.sm/Librem5/calls/merge_requests/19</a> &#8211; add i18n support<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/4">https://source.puri.sm/Librem5/calls/merge_requests/4</a> &#8211; add test for origin and calls<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/21">https://source.puri.sm/Librem5/calls/merge_requests/21</a> &#8211; add calls-application class<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/18">https://source.puri.sm/Librem5/calls/merge_requests/18</a> &#8211; add a call window and header bars<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/26">https://source.puri.sm/Librem5/calls/merge_requests/26</a> &#8211; display dialer on startup<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/28">https://source.puri.sm/Librem5/calls/merge_requests/28</a> &#8211; post ui change cleanups<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/18">https://source.puri.sm/Librem5/calls/merge_requests/18</a> &#8211; add call window and header bars<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/27">https://source.puri.sm/Librem5/calls/merge_requests/27</a> &#8211; flatpak support<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/29">https://source.puri.sm/Librem5/calls/merge_requests/29</a> &#8211; fixed memory leak<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/32">https://source.puri.sm/Librem5/calls/merge_requests/32</a> &#8211; pay attention to the addition and removal of a modem<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/33">https://source.puri.sm/Librem5/calls/merge_requests/33</a> &#8211; flatpak: Don&#8217;t build the libhandy Glade catalog<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/34">https://source.puri.sm/Librem5/calls/merge_requests/34</a> &#8211; cleaned up ringtone ringer<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/35">https://source.puri.sm/Librem5/calls/merge_requests/35</a> &#8211; providers in calls are now plugins<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/36">https://source.puri.sm/Librem5/calls/merge_requests/36</a> &#8211; updated calls icons<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/37">https://source.puri.sm/Librem5/calls/merge_requests/37</a> &#8211; flatpak building<br />
<a href="https://source.puri.sm/Librem5/calls/merge_requests/38">https://source.puri.sm/Librem5/calls/merge_requests/38</a> &#8211; changes to support impending call history changes</p>
<p><em>Issue Requests</em></p>
<p><a href="https://source.puri.sm/Librem5/calls/issues/18">https://source.puri.sm/Librem5/calls/issues/18</a> &#8211; memory leak in find_call_holder<br />
<a href="https://source.puri.sm/Librem5/calls/issues/19">https://source.puri.sm/Librem5/calls/issues/19</a> &#8211; memory leak in set_focus<br />
<a href="https://source.puri.sm/Librem5/calls/issues/20">https://source.puri.sm/Librem5/calls/issues/20</a> &#8211; memory leak in calls_call_window_add_call<br />
<a href="https://source.puri.sm/Librem5/calls/issues/36" class="broken_link">https://source.puri.sm/Librem5/calls/issues/36 </a>&#8211; transferred TODO list to gitlab issues<br />
<a href="https://source.puri.sm/Librem5/calls/issues/7#note_11069">https://source.puri.sm/Librem5/calls/issues/7#note_11069</a> &#8211; investigation into evolution data server/sqlite<br />
<a href="https://source.puri.sm/Librem5/calls/issues/22">https://source.puri.sm/Librem5/calls/issues/22</a> &#8211; DTMF fails with error Rejected send message</p>
<h2><strong>Hægtesse</strong></h2>
<p>Hægtesse is a daemon to transfer audio data between a modem and PulseAudio.  It currently only supports the SIMCom SIM7100 modem but may be useful for other modems.  The purpose of Hægtesse is to monitor the modem and when a call is initial to configure PulseAudio automatically for a phone call.  This is a necessary component for phone calls.</p>
<p><em>Issues</em></p>
<p><a href="https://source.puri.sm/Librem5/haegtesse/issues/1">https://source.puri.sm/Librem5/haegtesse/issues/1</a> &#8211; fills log when /dev/tty4 is not present</p>
<p><em>Merge Requests</em></p>
<p><a href="https://source.puri.sm/Librem5/haegtesse/merge_requests/3">https://source.puri.sm/Librem5/haegtesse/merge_requests/3</a> &#8211; Hægtesse listen to udev for the appearance of the audio TTY<br />
<a href="https://source.puri.sm/Librem5/haegtesse/merge_requests/4">https://source.puri.sm/Librem5/haegtesse/merge_requests/4</a> &#8211; Add full GPLv3 text<br />
<a href="https://source.puri.sm/Librem5/haegtesse/merge_requests/5">https://source.puri.sm/Librem5/haegtesse/merge_requests/5</a> &#8211; Build with gitlab-ci<br />
<a href="https://source.puri.sm/Librem5/haegtesse/merge_requests/7">https://source.puri.sm/Librem5/haegtesse/merge_requests/7</a> &#8211; fix build on PureOS</p>
<h2><strong>Libhandy</strong></h2>
<p>Libhandy is a library that extends GTK+ to be used on mobile profiles.  With libhandy, you can port any GTK3 or higher app that you have into a mobile profile.  If you have an application written in GTK3, reach out and we&#8217;d be happy to help you port it to libhandy.  To find out more about libhandy go here:<br />
https://source.puri.sm/Librem5/libhandy/wikis/home for our roadmap.</p>
<p>Here is an example of GNOME Web (epiphany) ported libhandy</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-61879-60" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/01/libhandy-and-gnome-web.webm?_=60" /><a href="https://puri.sm/wp-content/uploads/2019/01/libhandy-and-gnome-web.webm">https://puri.sm/wp-content/uploads/2019/01/libhandy-and-gnome-web.webm</a></video></div>
<p>Documentation and example code.</p>
<p>Libhandy has had made significant advancements these months with several releases made.</p>
<p>Libhandy is currently being used to port many core GNOME apps to the librem5</p>
<p><em>Merge requests:</em></p>
<p><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/137">https://source.puri.sm/Librem5/libhandy/merge_requests/137</a> &#8211; HdyDialer: Apply &#8216;keypad&#8217; style class<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/145">https://source.puri.sm/Librem5/libhandy/merge_requests/145</a> &#8211; Don&#8217;t invoke signal handlers on finalized HeaderGroups<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/147">https://source.puri.sm/Librem5/libhandy/merge_requests/147</a> &#8211; add i18n support<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/146">https://source.puri.sm/Librem5/libhandy/merge_requests/146</a> &#8211; doc fix<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/145">https://source.puri.sm/Librem5/libhandy/merge_requests/145</a> &#8211; HdyHeaderGroup signal disconnections<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/146">https://source.puri.sm/Librem5/libhandy/merge_requests/146</a> &#8211; few documentation fixes<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/147">https://source.puri.sm/Librem5/libhandy/merge_requests/147</a> &#8211; enabling l10n<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/148">https://source.puri.sm/Librem5/libhandy/merge_requests/148</a> &#8211; g_auto* documentation<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/150">https://source.puri.sm/Librem5/libhandy/merge_requests/150</a> &#8211; drop Jenkinsfile<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/151">https://source.puri.sm/Librem5/libhandy/merge_requests/151</a> &#8211; Syntax highlight HACKING<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/152">https://source.puri.sm/Librem5/libhandy/merge_requests/152</a> &#8211; Init public GObject types in hdy_init()<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/153">https://source.puri.sm/Librem5/libhandy/merge_requests/153</a> &#8211; fixes to MacOS Build<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/154">https://source.puri.sm/Librem5/libhandy/merge_requests/154</a> &#8211; Add measure() methods<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/155">https://source.puri.sm/Librem5/libhandy/merge_requests/155</a> &#8211; drop direct access to event fields<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/156">https://source.puri.sm/Librem5/libhandy/merge_requests/156</a> &#8211; renaming margins for GTK4 support<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/157">https://source.puri.sm/Librem5/libhandy/merge_requests/157</a> &#8211; make HdyDialer a descendant of GtkBin<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/159">https://source.puri.sm/Librem5/libhandy/merge_requests/159</a> &#8211; fix a mention of a HdyLeaflet in the docs<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/162">https://source.puri.sm/Librem5/libhandy/merge_requests/162</a> &#8211; unstability acknowledgement documentation improvements<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/165">https://source.puri.sm/Librem5/libhandy/merge_requests/165</a> &#8211; normalize and document private header guards<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/166">https://source.puri.sm/Librem5/libhandy/merge_requests/166</a> &#8211; adding hdysearchbar<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/167">https://source.puri.sm/Librem5/libhandy/merge_requests/167</a> &#8211; remove useless libhandy options from example flatpak<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/168">https://source.puri.sm/Librem5/libhandy/merge_requests/168</a> &#8211; document more coding style<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/169">https://source.puri.sm/Librem5/libhandy/merge_requests/169</a> &#8211; reproducible build of libhandy<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/172">https://source.puri.sm/Librem5/libhandy/merge_requests/172</a> &#8211; hdy_init() docs improvements<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/173">https://source.puri.sm/Librem5/libhandy/merge_requests/173</a> &#8211; add transfer none to hdy_init()<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/174">https://source.puri.sm/Librem5/libhandy/merge_requests/174</a> &#8211;  fix HdyHeaderGroup references<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/175">https://source.puri.sm/Librem5/libhandy/merge_requests/175</a> &#8211; example: put the content in a scrolled window<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/176">https://source.puri.sm/Librem5/libhandy/merge_requests/176</a> &#8211; add many row widgets<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/177">https://source.puri.sm/Librem5/libhandy/merge_requests/177</a> &#8211; leaflet: clear the children list on disposal<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/178">https://source.puri.sm/Librem5/libhandy/merge_requests/178</a> &#8211; build: set the shared object install directory<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/179">https://source.puri.sm/Librem5/libhandy/merge_requests/179</a> &#8211; update meson.build for MinGW compatibility<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/180">https://source.puri.sm/Librem5/libhandy/merge_requests/180</a> &#8211; build: dont&#8217; use -fstack-protector-strong on mingw64<br />
<a href="https://source.puri.sm/Librem5/libhandy/merge_requests/181">https://source.puri.sm/Librem5/libhandy/merge_requests/181</a> &#8211; update docs skeleton</p>
<p><em>Issues</em>:<br />
<a href="https://source.puri.sm/Librem5/libhandy/issues/57">https://source.puri.sm/Librem5/libhandy/issues/57</a> &#8211; HdyTitleBar broken with <code>.devel</code> window in org.gnome.Sdk//master<br />
<a href="https://source.puri.sm/Librem5/libhandy/issues/52">https://source.puri.sm/Librem5/libhandy/issues/52</a> &#8211; issues compiling on OSX</p>
<h2><strong>Librem5-devkit-tools</strong></h2>
<p>Librem5 devkit tools are the set of tools to enable the devkit that was recently shipped out to crowdfunding supporters.</p>
<p>&#8211; <a href="https://source.puri.sm/Librem5/librem5-devkit-tools">https://source.puri.sm/Librem5/librem5-devkit-tools</a></p>
<h2><strong>Virtboard</strong></h2>
<p>Virtboard is our virtual keyboard used on the Librem 5.  Work has been on-going in enabling the virtual keyboard mostly focusing on making this input working under wayland.  The UX experience is still on-going.  Feedback is of course encouraged.</p>
<p><em>Merge requests</em><br />
&#8211; <a href="https://source.puri.sm/Librem5/virtboard/merge_requests/20">https://source.puri.sm/Librem5/virtboard/merge_requests/20</a> Unbreak virtboard crashing when using GCCs stack protector<br />
&#8211; <a href="https://source.puri.sm/Librem5/virtboard/merge_requests/21">https://source.puri.sm/Librem5/virtboard/merge_requests/21</a> Update input-method protocol<br />
&#8211; <a href="https://source.puri.sm/Librem5/virtboard/merge_requests/22">https://source.puri.sm/Librem5/virtboard/merge_requests/22</a> make virtboard fully hidden<br />
&#8211; <a href="https://source.puri.sm/Librem5/virtboard/merge_requests/23">https://source.puri.sm/Librem5/virtboard/merge_requests/23</a> virtboard translations<br />
&#8211; <a href="https://source.puri.sm/Librem5/virtboard/merge_requests/24">https://source.puri.sm/Librem5/virtboard/merge_requests/24</a> convert to glib mainloop<br />
&#8211; <a href="https://source.puri.sm/Librem5/virtboard/merge_requests/25">https://source.puri.sm/Librem5/virtboard/merge_requests/25</a> added multiple layouts</p>
<h2><strong>Chatty</strong></h2>
<p>Chatty is our combination SMS and encrypted communication app.  Chatty currently works with SMS and with the help of libpurple we can also have E2E encrypted communication as promised before.</p>
<p>We currently can successfully send SMS between phones.  Below is a demo of the chatty doing some emoticons.  You might recall last post we showed chatty doing real SMS.  The UX experience is still on-going and continues to evolve.  Follow along in this issue &#8211;</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-61879-61" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/01/chatty-emoji.webm?_=61" /><a href="https://puri.sm/wp-content/uploads/2019/01/chatty-emoji.webm">https://puri.sm/wp-content/uploads/2019/01/chatty-emoji.webm</a></video></div>
<p><img class="alignnone wp-image-61893 size-large" src="https://puri.sm/wp-content/uploads/2019/01/chatty_ui-712x1024.png" alt="" width="640" height="920" srcset="https://puri.sm/wp-content/uploads/2019/01/chatty_ui-712x1024.png 712w, https://puri.sm/wp-content/uploads/2019/01/chatty_ui-209x300.png 209w, https://puri.sm/wp-content/uploads/2019/01/chatty_ui-768x1105.png 768w, https://puri.sm/wp-content/uploads/2019/01/chatty_ui.png 1390w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<figure id="attachment_61892" style="width: 298px" class="wp-caption alignnone"><img class="wp-image-61892 size-medium" src="https://puri.sm/wp-content/uploads/2019/01/chatty-ui-298x300.png" alt="Chatty's proposed Icon" width="298" height="300" srcset="https://puri.sm/wp-content/uploads/2019/01/chatty-ui-298x300.png 298w, https://puri.sm/wp-content/uploads/2019/01/chatty-ui-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/01/chatty-ui.png 373w" sizes="(max-width: 298px) 100vw, 298px" /><figcaption class="wp-caption-text">Chatty&#8217;s proposed Icon</figcaption></figure>
<p>https://source.puri.sm/Librem5/chatty/issues/52 for how the UX is coming along.</p>
<p><em>M</em>erge<em> requests</em></p>
<p>&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/1">https://source.puri.sm/Librem5/chatty/merge_requests/1</a> Add some basic gitlab-ci<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/2">https://source.puri.sm/Librem5/chatty/merge_requests/2</a> fixing the Flatpak manifest<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/3">https://source.puri.sm/Librem5/chatty/merge_requests/3 </a>porting the window to Glade<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/4">https://source.puri.sm/Librem5/chatty/merge_requests/4</a> Remove arm special casing<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/5">https://source.puri.sm/Librem5/chatty/merge_requests/5</a> don&#8217;t access inexistent header bar<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/6">https://source.puri.sm/Librem5/chatty/merge_requests/6</a> Use glib&#8217;s logging<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/7">https://source.puri.sm/Librem5/chatty/merge_requests/7</a> Don&#8217;t ignore compiler warnings<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/9">https://source.puri.sm/Librem5/chatty/merge_requests/9</a> Fix build with a default set of warnings enabled<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/10">https://source.puri.sm/Librem5/chatty/merge_requests/10</a> Enable and fix more compile warnings<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/13">https://source.puri.sm/Librem5/chatty/merge_requests/13</a> Fix crash during message parsing<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/14">https://source.puri.sm/Librem5/chatty/merge_requests/14</a> Make text in chat bubble copyable<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/15">https://source.puri.sm/Librem5/chatty/merge_requests/15</a> Fix new messages not being displayed<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/16">https://source.puri.sm/Librem5/chatty/merge_requests/16</a> Prepare chatty for translations<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/17">https://source.puri.sm/Librem5/chatty/merge_requests/17</a> Fix time format display<br />
&#8211; <a href="https://source.puri.sm/Librem5/purple-mm-sms/merge_requests/1">https://source.puri.sm/Librem5/purple-mm-sms/merge_requests/1</a> Add Debian packaging<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/21">https://source.puri.sm/Librem5/chatty/merge_requests/21</a> &#8211; add Debian packaging<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/merge_requests/29">https://source.puri.sm/Librem5/chatty/merge_requests/29</a> &#8211; don&#8217;t use network when verifying appdata files<br />
&#8211; <a href="https://source.puri.sm/Librem5/purism-chatty/issues/5">https://source.puri.sm/Librem5/purism-chatty/issues/5</a> Suggested closing the old project<br />
&#8211; <a href="https://source.puri.sm/Librem5/chatty/issues/52">https://source.puri.sm/Librem5/chatty/issues/52 </a>&#8211; improve chatty UI</p>
<h2><strong>Design</strong></h2>
<p>Most of our design is being done in GNOME upstream except of course for the UX experience in the Librem 5 specific component.  Purism believes deeply in working in the upstream and we work closely with GNOME&#8217;s designers.  Below are a number of design mockups that were conceived for various GNOME apps to work with libhandy.</p>
<figure id="attachment_61882" style="width: 640px" class="wp-caption alignleft"><img class="wp-image-61882 size-large" src="https://puri.sm/wp-content/uploads/2019/01/adaptive-view-switcher-modes-1024x597.png" alt="" width="640" height="373" srcset="https://puri.sm/wp-content/uploads/2019/01/adaptive-view-switcher-modes-1024x597.png 1024w, https://puri.sm/wp-content/uploads/2019/01/adaptive-view-switcher-modes-300x175.png 300w, https://puri.sm/wp-content/uploads/2019/01/adaptive-view-switcher-modes-768x448.png 768w, https://puri.sm/wp-content/uploads/2019/01/adaptive-view-switcher-modes.png 1200w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption class="wp-caption-text">Adaptive View Switcher Design mockups</figcaption></figure>
<p>&nbsp;</p>
<figure id="attachment_61884" style="width: 640px" class="wp-caption alignnone"><img class="wp-image-61884 size-large" src="https://puri.sm/wp-content/uploads/2019/01/todo-1012x1024.png" alt="GNOME TODO Mobile Mockup" width="640" height="648" srcset="https://puri.sm/wp-content/uploads/2019/01/todo-1012x1024.png 1012w, https://puri.sm/wp-content/uploads/2019/01/todo-296x300.png 296w, https://puri.sm/wp-content/uploads/2019/01/todo-768x777.png 768w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption class="wp-caption-text">GNOME TODO mobile mockup</figcaption></figure>
<p>&nbsp;</p>
<figure id="attachment_61883" style="width: 640px" class="wp-caption alignnone"><img class="wp-image-61883 size-large" src="https://puri.sm/wp-content/uploads/2019/01/notes-1024x875.png" alt="GNOME Notes Mockup" width="640" height="547" srcset="https://puri.sm/wp-content/uploads/2019/01/notes-1024x875.png 1024w, https://puri.sm/wp-content/uploads/2019/01/notes-300x256.png 300w, https://puri.sm/wp-content/uploads/2019/01/notes-768x656.png 768w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption class="wp-caption-text">GNOME Notes Mockup</figcaption></figure>
<p>&#8211; <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/todo/todo.png">https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/todo/todo.png</a> Adaptive Mockups for GNOME TODO<br />
&#8211; <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/notes/notes.png">https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/notes/notes.png</a> &#8211; Adaptive Mockups for GNOME Notes<br />
&#8211; <a href="https://gitlab.gnome.org/Teams/Design/os-mockups/blob/master/view-switcher/adaptive-view-switcher-modes.png">https://gitlab.gnome.org/Teams/Design/os-mockups/blob/master/view-switcher/adaptive-view-switcher-modes.png</a> &#8211; proposal for adaptive view switching modes (commited to implement by Adrien)<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/Initiatives/issues/2">https://gitlab.gnome.org/GNOME/Initiatives/issues/2</a> &#8211; new app icons for GNOME</p>
<p>In addition, a lot of work has gone in to designing parts of GNOME like the control center to work in a mobile context.</p>
<h2><strong>WLroots</strong></h2>
<p>WLroot is the Wayland implementation for the Librem5 and which phosh our UX shell runs on.  Mostly working on getting libinput working.  We did some investigations on using rust bindings, but turned out that it was more work with very little advantage.</p>
<p><em>Merge requests:</em><br />
&#8211; <a href="https://packages.debian.org/source/experimental/wlroots">https://packages.debian.org/source/experimental/wlroots </a>&#8211; update debian packaging<br />
&#8211; <a href="https://source.puri.sm/Librem5/wlroots/merge_requests/35">https://source.puri.sm/Librem5/wlroots/merge_requests/35 </a>&#8211; input-method and text-input support to the Librem5<br />
&#8211; <a href="https://source.puri.sm/Librem5/wlroots/merge_requests/40">https://source.puri.sm/Librem5/wlroots/merge_requests/40</a> &#8211; wlroots update</p>
<p><em>Issues:</em></p>
<p>&#8211; <a href="https://source.puri.sm/Librem5/wlroots/issues/6">https://source.puri.sm/Librem5/wlroots/issues/6</a> &#8211; rootston freezes on ssh log out<br />
&#8211; <a href="https://source.puri.sm/Librem5/wlroots/issues/18">https://source.puri.sm/Librem5/wlroots/issues/18</a> &#8211; rootston often freezes</p>
<h2><strong>Phosh</strong></h2>
<p>Phosh is the actual visual look and feel of the Librem 5.  The most significant work here is being able to detect idle and dim the screen automatically when not on battery power.  Some work on the lock shield was also done and various UX fixes and features.<br />
For more information see the merge requests before.</p>
<p><em>Merge requests</em></p>
<p>&#8211; <a href="https://source.puri.sm/Librem5/phosh/merge_requests/143">https://source.puri.sm/Librem5/phosh/merge_requests/143</a> Update translations from zanata<br />
&#8211; <a href="https://source.puri.sm/Librem5/phosh/merge_requests/153">https://source.puri.sm/Librem5/phosh/merge_requests/153 </a>&#8211; Drop hard coded weston-terminal from favorites<br />
&#8211; <a href="https://source.puri.sm/Librem5/phosh/merge_requests/154">https://source.puri.sm/Librem5/phosh/merge_requests/154</a> &#8211; Add a poweroff button to the settings menu<br />
&#8211; <a href="https://source.puri.sm/Librem5/phosh/merge_requests/158">https://source.puri.sm/Librem5/phosh/merge_requests/158</a> &#8211; use actual values for transform instead of looking at rotation property<br />
&#8211; <a href="https://source.puri.sm/Librem5/phosh/merge_requests/159">https://source.puri.sm/Librem5/phosh/merge_requests/159</a> &#8211; make sure setting buttons stay circular</p>
<p><em>Issues</em></p>
<p>&#8211; <a href="https://source.puri.sm/Librem5/phosh/issues/52">https://source.puri.sm/Librem5/phosh/issues/52</a>  &#8211; look into full screen blank support on lock</p>
<h2><strong>Upstream Work</strong></h2>
<p>Purism knows it stands on the shoulders of giants.  We would not be be successful without our upstream partners.  We make sure that our technical debt is as small as possible, preferring to work in upstream as much as a matter of course.  Below is a list of the work we have done in the various upstreams that we depend on.  This is not an exhaustive list of projects since we do other upstream work for our laptops as well.</p>
<p>We are very proud of our upstream work and being part of these upstream projects.</p>
<p>&#8211; <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910640">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910640</a> &#8211; Debian&#8217;s libgtk-4-dev Needs to depend on libvulkan-dev<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/200">https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/200</a> &#8211; Kept pushing making the WiFi panel adaptive<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/243">https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/243</a> &#8211; Moving the app menu<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/41">https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/41</a> &#8211; contact deselection on creation fix<br />
&#8211;<a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/42"> https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/42</a> &#8211; using HdyHeaderGroup<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/43">https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/43 </a>&#8211; using HdyTitleBar<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1399">https://gitlab.gnome.org/GNOME/gtk/issues/1399</a> &#8211; Suggested to not show dashed border in keyboard-navigable selected elements when no keyboard is available<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/Initiatives/wikis/GNOME-apps-mobile">https://gitlab.gnome.org/GNOME/Initiatives/wikis/GNOME-apps-mobile </a>&#8211; Helped Javier set up the initiative<br />
&#8211; <a href="https://github.com/swaywm/wlroots/pull/1316">https://github.com/swaywm/wlroots/pull/1316</a> &#8211; don&#8217;t let the wlr_output handle the fullscreen view in case</p>
<p>&#8211; <a href="https://github.com/swaywm/wlroots/pull/1203">https://github.com/swaywm/wlroots/pull/1203</a> &#8211; Support input method and text input<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/384">https://gitlab.gnome.org/GNOME/gtk/merge_requests/384</a>  &#8211; reviewed fix for text input protocol<br />
&#8211; <a href="https://github.com/haecker-felix/Fragments/pull/41">https://github.com/haecker-felix/Fragments/pull/41</a> &#8211; fixed a text flickering<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gitg/merge_requests/21">https://gitlab.gnome.org/GNOME/gitg/merge_requests/21</a> &#8211; GtkActionBar for the commit tool bar<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gitg/merge_requests/22">https://gitlab.gnome.org/GNOME/gitg/merge_requests/22</a> &#8211; fixing the diff options sliding direction<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/glade/issues/339">https://gitlab.gnome.org/GNOME/glade/issues/339</a> &#8211; Suggested to not destroy existing property bindings<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/glade/issues/340">https://gitlab.gnome.org/GNOME/glade/issues/340</a> &#8211; Suggested to support property bindings<br />
&#8211; <a href="https://github.com/swaywm/wlroots/pull/1316">https://github.com/swaywm/wlroots/pull/1316</a> &#8211; Fix bug with full screen views and overlays (otherwise it will cause trouble with full screen video/pdf vs the lock screen<br />
&#8211; <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911146">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911146 &#8211; xwayland spurious crashes</a><br />
&#8211; <a href="https://github.com/swaywm/wlr-protocols/pull/27">https://github.com/swaywm/wlr-protocols/pull/27</a> &#8211; securing wayland protocols<br />
&#8211; <a href="https://gitlab.gnome.org/Community/Purism/gnome-software/tree/wip/aplazas/narrow">https://gitlab.gnome.org/Community/Purism/gnome-software/tree/wip/aplazas/narrow</a> &#8211; start of adaptive<br />
&#8211; <a href="https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/92">https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/92</a> &#8211; supplementary call operations<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1447">https://gitlab.gnome.org/GNOME/gtk/issues/1447</a> &#8211; tried to solve input method complications in gnome-shell<br />
&#8211; <a href="https://gitlab.gnome.org/Community/Purism/gnome-clocks/tree/librem5">https://gitlab.gnome.org/Community/Purism/gnome-clocks/tree/librem5</a> &#8211; librem 5 clock application<br />
&#8211; <a href="https://bytesgnomeschozo.blogspot.com/2018/11/gnome-at-capitole-du-libre-2018.html">https://bytesgnomeschozo.blogspot.com/2018/11/gnome-at-capitole-du-libre-2018.html</a> &#8211; blog post on Capitole du libre conference<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/425">https://gitlab.gnome.org/GNOME/gtk/merge_requests/425</a> &#8211; transient window notification fix to 3.24<br />
&#8211; <a href="https://gitlab.gnome.org/World/lollypop/merge_requests/1319">https://gitlab.gnome.org/World/lollypop/merge_requests/1319</a> &#8211; flatpak build fix for lollypop<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/56">https://gitlab.gnome.org/GNOME/epiphany/merge_requests/56</a> &#8211; make title bar more adaptive<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/59">https://gitlab.gnome.org/GNOME/epiphany/merge_requests/59 </a>&#8211; make search bar adaptive<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/312">https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/312</a> &#8211; 4 adaptive panels for GNOME settings<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/313">https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/313</a> &#8211; make shell more adaptive<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/200">https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/200</a> &#8211; Wifi panel adaptive<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-characters/issues/46">https://gitlab.gnome.org/GNOME/gnome-characters/issues/46</a> &#8211; icon mismatch<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/317">https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/317 </a>&#8211; implement new network connection editor design<br />
&#8211; <a href="https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/59">https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/59 </a>&#8211; policy: call method name should be SendDtmf rather than SendTone<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/libgnome-volume-control/merge_requests/3">https://gitlab.gnome.org/GNOME/libgnome-volume-control/merge_requests/3</a> &#8211; make debug less verbose<br />
&#8211; <a href="https://source.puri.sm/Librem5/wlroots/merge_requests/40">https://source.puri.sm/Librem5/wlroots/merge_requests/40</a> &#8211; WIP: Update 0.2<br />
&#8211; <a href="https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/43">https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/43 </a>&#8211; rework wwan plugin after upstream feedback</p>
<h2><strong>Documentation</strong></h2>
<p>This effort can never survive without documentation.  In that regard, welcome David Boddie to the Librem 5 team working on documentation for the Librem 5.  The whole team, while focusing on their development, are equally aware of the role of documentation and have worked diligently in making sure that people create applications for the Librem 5.  With two members working exclusively on documentation and developer experience, we hope to make writing applications for the Librem 5 as easy as it can be.  Feedback in improving our documentation would be most welcome!</p>
<p>A lot of focus was made on creating documentation on how to create Librem 5 applications with sample code.</p>
<p><em>Issues</em></p>
<p>&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/issues/28">https://source.puri.sm/Librem5/developer.puri.sm/issues/28</a> &#8211; Upate GNOME Builder section</p>
<p><em>Merge requests</em></p>
<p>&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/55">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/55</a> &#8211; GTK+ limit the documentation to libhandy 0.0.3<br />
&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/60">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/60</a> &#8211; update qemu<br />
&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/61">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/61</a> &#8211; update email lists to be lists.community.puri.sm<br />
&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/63">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/63</a> &#8211; add stack picture and more intro<br />
&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/68">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/68</a> &#8211; GTK+: add links to the GTK+ and libhandy docs<br />
&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/71">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/71</a> &#8211; GTK+: Note to adjust label&#8217;s xalign when ellipsized<br />
&#8211; <a href="https://source.puri.sm/david.boddie/python-gobject-gtk3-examples">https://source.puri.sm/david.boddie/python-gobject-gtk3-examples</a> &#8211; collection of simple PyGObject examples<br />
&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/84">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/84</a> &#8211; document phosh&#8217;s supported DBus APIs<br />
&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/85">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/85</a> &#8211; document some trivial phosh apis<br />
&#8211; <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/82">https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/82</a> &#8211; added small descriptions of KDE-related technologies</p>
<h2><strong>Phone hardware/Dev Kit</strong></h2>
<p>The recent shipping of the Librem 5 dev kit represents countless hours of work with an aggressive schedule.  Nicole, Eric, and Petra, along with dedicated operations staff, worked continuously for a week to package all the dev kits to be shipped out to our dev kit backers.</p>
<p>When it comes to software and hardware freedom, we not only do the talk, we do the walk.  Everything in the dev kit, is licensed under the GNU GPL v3+.  We have released the schematics for the dev kit and all source files.  We encourage you to participate and bring your talents and join us!</p>
<p>By now everyone who ordered a dev kit would have received it and are working on the hardware to get it fully enabled from the LCD panel to user-controlled LEDs.  We will be sharing more photos and videos of the dev kits in action as more and more community members advance the software around them.</p>
<p>In the meanwhile, our matrix channel has become a hot bed of activity as people prod and poke their dev kits, asking questions and following along with the devleopment of the phone.</p>
<p>As for the phone, we have confirmed the BOM (Bill of Materials) and the sourcing of parts, we are only finalizing the I.MX 8M or 8M Mini by benchmark testing. Once we have approved the design (also planned in January) we can create the necessary molds and stamps.</p>
<p>January is going to be really busy for Purism as we split time between the dev kit advancements and then pivoting to the Librem 5 phone hardware, but we welcome the excitement around what we&#8217;re doing.  We will have a retrospective post on the dev kit tomorow (2019-01-09), so stay tuned for that!</p>
<p>Short Summary of the work:<br />
&#8211; Moved to Kernel 4.18.11<br />
&#8211; Reworked device tree for dev kit<br />
&#8211; add texture support on GC7000   https://source.puri.sm/guido.gunther/mesa/tree/gc7000-bo-relocs,   https://source.puri.sm/guido.gunther/mesa/tree/gc7000-bo-relocs<br />
&#8211; PureOS now building on our build server using Laniakea build system<br />
&#8211; a mechanical issue was discovered with the M.2 module not sitting flush against the board so a taller M.2 connector was used on the final dev kit design<br />
&#8211; RedPine fixing the W_DISABLE# issue, they will use a bodge wire for our 340 dev kit units so that the HKS works as anticipated<br />
&#8211; Fixed various issues in the nwl-dsl (mipi) driver<br />
&#8211; picture of working HDMI &#8211; <a href="https://talk.puri.sm/_matrix/media/v1/download/talk.puri.sm/SSvCOnFIIdtgeXqmrMrjZkje">https://talk.puri.sm/_matrix/media/v1/download/talk.puri.sm/SSvCOnFIIdtgeXqmrMrjZkje</a><br />
&#8211; Fixup several bugs in the imx8ms mipi dsi layer<br />
<a href="https://source.puri.sm/Librem5/linux-emcraft/commit/2a10a1eaee8860f0f79b513497039ca21a5ded76">https://source.puri.sm/Librem5/linux-emcraft/commit/2a10a1eaee8860f0f79b513497039ca21a5ded76</a><br />
<a href="https://source.puri.sm/Librem5/linux-emcraft/commit/34bfd44c92bd32b4cd8c88a7943ced00c699a398">https://source.puri.sm/Librem5/linux-emcraft/commit/34bfd44c92bd32b4cd8c88a7943ced00c699a398</a><br />
<a href="https://source.puri.sm/Librem5/linux-emcraft/commit/937cb53b89c26ba3011ea05f6ae14b1134036a6c">https://source.puri.sm/Librem5/linux-emcraft/commit/937cb53b89c26ba3011ea05f6ae14b1134036a6c</a></p>
<p>&#8211; Initial (WIP) LCD panel driver<br />
<a href="https://source.puri.sm/guido.gunther/linux-imx8/commit/919a834a865824eeeeb9b98bc4932ae46a614fba">https://source.puri.sm/guido.gunther/linux-imx8/commit/919a834a865824eeeeb9b98bc4932ae46a614fba</a><br />
+ Look at haptic sensor. Driven by the kernel&#8217;s joystick force feedback<br />
interface (and therefore exposed to userspace as an input<br />
device). We&#8217;ll need write a tiny driver for that.</p>
<h2><strong>Purism in the Public</strong></h2>
<p>Purism employees are not hermits and you can find them at various conferences.  Here are some of the things our employees have done.</p>
<p>&#8211; Dorota: Gave a talk based on Rust+Wayland research, dutifully credited Purism (video incoming&#8230; at some point): <a href="http://rust.cologne/2018/10/10/at-cisco.html" class="broken_link">http://rust.cologne/2018/10/10/at-cisco.html</a></p>
<p>&#8211; Adrien and Francois were at Capitole du Libre, running the GNOME booth there.</p>
<p><strong>FOSDEM</strong> &#8211; A number of us will be at FOSDEM doing talks and hanging out.  More information on what our plans are for FOSDEM in another post.</p>
<h2>Closing</h2>
<p>That&#8217;s all for now!  Stay tuned on these pages for new applications, the retrospective on the dev kit, and other features!  Things are rolling fast!  Thank you to our fans for making 2018 a wonderful year and looking forward to 2019!  It&#8217;s going to be awesome!  Thank you for a great year!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/end-of-year-librem-5-update/">End of Year Librem 5 Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/01/calls_ring.mp4" length="4770442" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/01/libhandy-and-gnome-web.webm" length="1407325" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/01/chatty-emoji.webm" length="775181" type="video/webm" />
		</item>
		<item>
		<title>Privacy &#038; Security Reading List</title>
		<link>https://puri.sm/posts/holiday-reading-list/</link>
		<pubDate>Sun, 23 Dec 2018 21:19:02 +0000</pubDate>
		<dc:creator><![CDATA[Sean O'Brien]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61807</guid>
		<description><![CDATA[<p>If you&#8217;re traveling this weekend, nestled in front of the fire, or just trying to offset the effect of sugar-coated holiday specials, we&#8217;ve got a reading list for you. These picks were recommended by team members at Purism and reflect our dedication to digital privacy, security, and freedom. With daily headlines about Big Tech scandals [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/holiday-reading-list/">Privacy &#038; Security Reading List</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;re traveling this weekend, nestled in front of the fire, or just trying to offset the effect of sugar-coated holiday specials, we&#8217;ve got a reading list for you. These picks were recommended by team members at Purism and reflect our dedication to digital privacy, security, and freedom. With daily headlines about <a href="https://diginomica.com/2018/12/21/2018-the-year-big-tech-lost-its-innocence/" target="_blank" rel="noopener">Big Tech scandals</a> like Facebook&#8217;s <a href="https://www.nytimes.com/2018/12/19/business/dealbook/facebook-data-scandal.html" target="_blank" rel="noopener">clandestine data-sharing</a>, there&#8217;s no better time to read up on these topics.</p>
<p>The choices below are listed in no particular order and, wherever possible, we link to author websites and privacy-respecting sources.</p>
<p>Reading about surveillance capitalism may not warm your heart, but it could put a fire in your belly and encourage you to <a href="https://puri.sm/posts/2018-holiday-season-bundle-sale/">#DemandFreedom in 2019</a>.</p>
<h6><strong><a href="https://www.eff.org/the-end-of-trust" target="_blank" rel="noopener"><em>The End of Trust</em></a></strong> – McSweeney’s Issue 54 (Nov. 2018)</h6>
<p>Compiled by the team at the Electronic Frontier Foundation (EFF) for McSweeney&#8217;s, this collection features writing by luminaries like Cory Doctorow, Gabriella Coleman, Edward Snowden, Bruce Schneier, and many more. Among the gems within is a conversation between artist Trevor Paglen and journalist Julia Angwin, with Paglen having this to say about the intersection of freedom and privacy:</p>
<p><em>&#8220;I think I had the sense of growing up within structures that didn’t work for me and feeling like there was a deep injustice around that. Feeling like the world was set up to move you down certain paths and to enforce certain behaviors and norms [didn’t] work for me, and realizing that the value of this word formerly known as </em>privacy<em>, otherwise known as </em>liberty<em>, plays not only at the scale of the individual, but also as a kind of public resource that allows for the possibility of, on one hand, experimentation, but then, on the other hand, things like civil liberties and self-representation.&#8221;</em></p>
<h6><a href="https://www.schneier.com/books/click_here/" target="_blank" rel="noopener"><strong><em>Click Here to Kill Everybody: Security and Survival in a Hyper-connected World</em></strong></a> – Bruce Schneier, W. W. Norton &amp; Company (Sep. 2018)</h6>
<p>Schneier&#8217;s latest book is a sobering account of the pitfalls of modern technology. It covers a lot of ground, such as the huge gap between security and implementation in Internet-of-Things devices. The author has a gift for raising questions that cause the reader to rethink the underlying technology behind seemingly-simple tech, like network-connected baby monitors:</p>
<p><em>&#8220;They&#8217;re surveillance devices by design, and can pick up a lot more than a baby&#8217;s cries. Of course, I had a lot of security questions. How is the audio and video transmission secured? What&#8217;s the encryption algorithm? How are encryption keys generated, and who has copies of them? If data is stored on the cloud, how long is it stored and how is it secured? How does the smartphone app, if the monitor uses one, authenticate to the cloud server?&#8221;</em></p>
<h6><em><strong><a href="https://www.americanspies.com/" target="_blank" rel="noopener">American Spies: Modern Surveillance, Why You Should Care, and What to Do About It</a></strong> </em>– Jennifer Stisa Granick, Cambridge University Press (Jan. 2017)</h6>
<p>Granick gives the reader a real sense of just how big, and just how pervasive, U.S. intelligence programs really are. The author doesn&#8217;t stop with government programs, however, and calls out Big Tech for its major role in population surveillance:</p>
<p><em>&#8220;Spying is thriving not only because of technology, but also because of modern business models. Much of the modern privacy problem is the result of people giving up their data – knowingly or otherwise – to obtain cool new products and services.&#8221;</em></p>
<h6><a href="https://en.wikipedia.org/wiki/Nothing_to_Hide_(book)" target="_blank" rel="noopener"><strong><em>Nothing to Hide: The False Tradeoff between Privacy and Security</em></strong></a> – Daniel J. Solove, Yale University Press (Jan. 2013)</h6>
<p>This is a now-classic rumination on the deeply important role of privacy in autonomy and freedom. It quickly demolishes the &#8220;nothing to hide argument&#8221;, a constant refrain in today&#8217;s privacy debates, and continues to shed light on social and legal dimensions of surveillance. Here, Solove highlights contradictory perceptions of audio and video snooping:</p>
<p><em>&#8220;The electronic-surveillance statutes strongly protect against the government&#8217;s eavesdropping on your conversations but don&#8217;t protect against the government&#8217;s watching you. This distinction doesn&#8217;t make a lot of sense. Video surveillance involves similar threats to privacy as audio surveillance. As one court noted: &#8216;Television surveillance is identical in its indiscriminate character to wiretapping and bugging. It is even more invasive of privacy&#8230; but it is not more indiscriminate: the microphone is as &#8216;dumb&#8217; as the television camera; both devices pick up anything within their electronic reach, however irrelevant to the investigation.'&#8221;</em></p>
<h6><a href="http://juliaangwin.com/dragnet-nation-available-now/" target="_blank" rel="noopener"><strong><em>Dragnet Nation: A Quest for Privacy, Security, and Freedom in a World of Relentless Surveillance</em></strong></a> – Julia Angwin, Times Books (Feb. 2014)</h6>
<p>Angwin is no stranger to the many facets of surveillance capitalism, and this book is just as prescient now as it was five years ago. In that time, the author&#8217;s concerns have been validated, with the pace of Big Tech&#8217;s blunders only escalating. Angwin keeps the human element in constant view, giving vital context to headlines about privacy and data catastrophes:</p>
<p><em>&#8220;Skeptics say: &#8216;What&#8217;s wrong with all of our data being collected by unseen watchers? Who is being harmed?&#8217; Admittedly, it can be difficult to demonstrate personal harm from a data breach. If Sharon or Bilal is denied a job or insurance, they may never know which piece of data caused the denial. People placed on the no-fly list are never informed about the data that contributed to the decision. But, on a larger scale, the answer is simple: troves of personal data can and will be abused.&#8221;</em></p>
<h6><a href="https://shop.fsf.org/books-docs/free-software-free-society-selected-essays-richard-m-stallman-3rd-edition" target="_blank" rel="noopener"><strong><em>Free Software, Free Society, 3rd Edition</em></strong></a> – Richard M. Stallman, Free Software Foundation (Oct. 2015)</h6>
<p>Stallman&#8217;s status as an icon in the Free/Libre world is often the focus of press. Bootstrapping GNU and the Free Software movement was no small feat, but there is too little focus on Stallman&#8217;s writing. The author&#8217;s philosophy is grounded in practical concerns and explained with a clear and mindful tone that few writers possess. This most recent edition of Stallman&#8217;s collected essays describes just how important liberty is in the contemporary digital context:</p>
<p><em>&#8220;If &#8216;cloud computing&#8217; has a meaning, it is not a way of doing computing, but rather a way of thinking about computing: a devil-may-care approach which says, &#8216;Don’t ask questions. Don’t worry about who controls your computing or who holds your data. Don’t check for a hook hidden inside our service before you swallow it. Trust companies without hesitation.&#8217; In other words, &#8216;Be a sucker.&#8217;”</em></p>
<h6><strong><a href="https://cltc.berkeley.edu/defendingpvos/" target="_blank" rel="noopener"><em>Defending Politically Vulnerable Organizations Online</em></a></strong> – Sean Brooks, Center for Long-Term Cybersecurity (July 2018)</h6>
<p>In this report from the Center for Long-Term Cybersecurity (CLTC), Brooks provides a broad overview of the cybersecurity landscape. This is a great introduction for industry professionals and consumers alike, though it focuses on civil organizations that are often targeted for political reasons. The report&#8217;s citations are a valuable resource in their own right, providing context as well as technological solutions. The author is quick to point out lackluster investment in cybersecurity in both the public and private spheres, describing the vicious cycle this creates:</p>
<p><em>&#8220;The broad asymmetry between attackers and defenders online is unsurprising; politically vulnerable organizations lack resources and are therefore particularly under-protected. This problem is not unique to politically vulnerable organizations. Many public and private organizations have underinvested in cybersecurity and have become soft targets for criminals and other bad actors. Online attackers have continued to develop their offensive capabilities, exacerbating the mismatch.&#8221;</em></p>
<h6><em><strong><a href="https://en.wikipedia.org/wiki/Bad_Blood%3A_Secrets_and_Lies_in_a_Silicon_Valley_Startup" target="_blank" rel="noopener">Bad Blood: Secrets and Lies in a Silicon Valley Startup</a></strong></em> – John Carreyrou, Penguin Random House (May 2018)</h6>
<p>This story of the rise and fall of biotech startup Theranos is a page-turner, described here with all the detail of investigative journalism. Carreyrou&#8217;s most interesting passages are those where the author describes the culture of Silicon Valley, where fraudulent CEO Elizabeth Holmes was desperately trying to fill the mold of her Big Tech heroes:</p>
<p><em>&#8220;For a young entrepreneur building a business in the heart of Silicon Valley, it was hard to escape the shadow of Steve Jobs. By 2007, Apple&#8217;s founder had cemented his legend in the technology world and in American society at large&#8230; to anyone who spent time with Elizabeth, it was clear that she worshipped Jobs and Apple.&#8221;</em></p>
<h6><em><strong><a href="http://www.ellsberg.net/doomsday/" target="_blank" rel="noopener">The Doomsday Machine: Confessions of a Nuclear War Planner</a></strong></em> – Daniel Ellsberg, Bloomsbury USA (Dec. 2017)</h6>
<p>Decades after the legendary whistleblower disclosed the Pentagon Papers to the American public, Ellsberg&#8217;s warnings will still ring alarm bells and shock the reader. Through first-hand accounts, the author chronicles the nuclear program of the 1960&#8217;s and the dangers of the present day, describing the contrasting roles of secrecy and transparency, as well as their relationship to trust:</p>
<p><em>&#8220;Like discussion of covert operations and assassination plots, nuclear war plans and threats are taboo for public discussion by the small minority of officials and consultants who know anything about them. In addition to their own sense of identity as trustworthy keepers of these most-sensitive secrets, there is a strong careerist aspect to their silence.&#8221;</em></p>
<h6><em><a href="https://gabriellacoleman.org/category/academic-writing/" target="_blank" rel="noopener"><strong>The Participatory Condition in the Digital Age</strong></a></em> – Electronic Mediations Book 51 (Nov. 2016)</h6>
<p>This collection of articles spans the gamut from street protests to online &#8220;hacktivism&#8221; to Free and Open-Source collaboration. The editors expertly summarize the transdisciplinary tone of the volume in an introductions that&#8217;s worth contemplating in its own right. Among other issues, Gabriella Coleman describes Kate Crawford&#8217;s work on the power and scale of spying:</p>
<p><em>&#8220;Ubiquitous surveillance facilitated by [i<span class="module__title__link">nformation and communications technology or </span>ICTs] – what Crawford designates as &#8216;algorithmic listening&#8217; – and the gathering of personal data currently operated by web-based corporations (commercial surveillance) and governments (the NSA program, for example) are not simply matters of privacy but also of scale and lack of accountability.&#8221;<br />
</em></p>
<h6><em><strong><a href="http://shop.oreilly.com/product/0636920020103.do" target="_blank" rel="noopener">Privacy and Big Data: The Players, Regulators, and Stakeholders</a></strong></em> – Terence Craig &amp; Mary Ludloff, O&#8217;Reilly Media (Sep. 2011)</h6>
<p>Published at a time when &#8220;Big Data&#8221; was more of a buzzword than a factor of everyday life, this book is a quick and easy introduction to the perils of the data economy. The lessons would seem dated if they weren&#8217;t still applicable, and there&#8217;s perhaps nothing more prescient than the fact that data can not only be sold by Big Tech to business partners, it can be given away:</p>
<p><em>&#8220;While the IP stakeholders have been busy redefining &#8220;privacy&#8221; for their own ends, Google, Yahoo, Facebook, and others have been equally busy making billions of dollars collecting your data and using it for targeted advertising. Of course, any company or organization that collects data can offer it for sale or free.&#8221;<br />
</em></p>
<h6><em><a href="https://cyrusfarivar.com/blog/2018-book-tour/" target="_blank" rel="noopener"><strong>Habeas Data: Privacy vs. the Rise of Surveillance Tech</strong></a> </em>– Cyrus Farivar, Melville House (May 2018)</h6>
<p>Farivar exposes the role of common, household tech in the global surveillance apparatus, diving into the court cases and legal precedent that shapes the scope and limits of privacy and security. Above all, the author steeps his analysis in history, with quotes from legal heavyweights like Louis Brandeis, here discussing wiretaps in a famous dissenting opinion:</p>
<p><em>&#8220;&#8216;The progress of science in furnishing the Government with means of espionage is not likely to stop with wiretapping,&#8217; Brandeis wrote. &#8216;Ways may someday be developed by which the Government, without removing papers from secret drawers, can reproduce them in court, and by which it will be enabled to expose to a jury the most intimate occurences of the home.'&#8221;</em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/holiday-reading-list/">Privacy &#038; Security Reading List</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 dev kits are shipping!</title>
		<link>https://puri.sm/posts/2018-devkits-are-shipping/</link>
		<pubDate>Tue, 18 Dec 2018 22:09:19 +0000</pubDate>
		<dc:creator><![CDATA[Sriram Ramkrishna]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Product or service launch]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61781</guid>
		<description><![CDATA[<p>The Librem 5 dev kit&#8217;s hardware is done and shipping! We are beyond excited for our backers to receive their dev kits before year-end. Our entire PureOS Librem 5 development team will getting the same dev kits, upgrading the generic i.MX 6 boards (which most of the demos you have seen have been based on) [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-devkits-are-shipping/">Librem 5 dev kits are shipping!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 5 dev kit&#8217;s hardware is done and shipping! We are beyond excited for our backers to receive their dev kits before year-end. Our entire PureOS Librem 5 development team will getting the same dev kits, upgrading the generic i.MX 6 boards (which most of the demos you have seen have been based on) to the Purism i.MX 8M based dev kit.</p>
<p>We aim from this point forward to have a community assisted development environment. There is still a lot of work required to make the dev kit truly functional for Librem 5 development, so we need your assistance. The frenetic pace of development continues and it&#8217;s astonishing how much we&#8217;ve accomplished in the two months since we&#8217;ve put the hardware together. But the path is still long and arduous.</p>
<p>Our backers who are receiving the dev kits will also have access to a Matrix channel for dev kit owners. This channel will be staffed by our engineering team who will be on hand to answer questions, work with the community on merge requests, and be available for those who are using the dev kits. But by no means is this an exclusive channel and all of you are welcome to join in as well! Please join our <a href="https://im.puri.sm/#/room/#librem-5-devkit:talk.puri.sm">forum</a> that was set up for questions and answers on the dev kit.</p>
<p><img class="wp-image-61784 alignnone" src="https://puri.sm/wp-content/uploads/2018/12/devkit-image-shipping-300x204.jpeg" alt="" width="469" height="319" srcset="https://puri.sm/wp-content/uploads/2018/12/devkit-image-shipping-300x204.jpeg 300w, https://puri.sm/wp-content/uploads/2018/12/devkit-image-shipping-768x521.jpeg 768w, https://puri.sm/wp-content/uploads/2018/12/devkit-image-shipping.jpeg 1000w" sizes="(max-width: 469px) 100vw, 469px" /> <img class="wp-image-61785 alignnone" src="https://puri.sm/wp-content/uploads/2018/12/file1539881124897-300x169.jpg" alt="" width="578" height="326" srcset="https://puri.sm/wp-content/uploads/2018/12/file1539881124897-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2018/12/file1539881124897-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2018/12/file1539881124897-1024x576.jpg 1024w" sizes="(max-width: 578px) 100vw, 578px" /></p>
<p>With about four months to go until we ship the phones, we are going to need the community to help in the final sprint to the finish line. So we look forward to your help with testing, feature requests, and of course code!</p>
<p>2019 is going to be an amazing year with the introduction of the first privacy and security focused mobile phone and we can&#8217;t wait to get it in your hands.</p>
<p>As always, we are incredibly grateful for all of the support you&#8217;ve shown us and we&#8217;re working hard to do right by your belief in us. We hope to see some of you in our Matrix channels going forward. Till then onward and upward!</p>
<p>&nbsp;</p>
<p><strong> Update: </strong>here&#8217;s a <a href="https://source.puri.sm/groups/Librem5/-/issues?scope=all&amp;utf8=%E2%9C%93&amp;state=opened&amp;label_name[]=devkit">link</a> to our bug tracker with the main issues we&#8217;re trying to resolve with the devkit right now&#8221; at the end of the blog post</p>
<hr />
<p>P.s.: You will note that there is a promotion this holiday season. For those of you who are in the market for a phone and a laptop, check out our &#8220;Have A Secure Life&#8221; Laptop and Phone bundle read further about having a <a href="https://puri.sm/posts/2018-holiday-season-bundle-sale/">secure life.</a></p>
<p>Furthermore, the phone&#8217;s early-bird preorder pricing at $599 will end soon; after January 7th the preorder price will rise to $699 to cover our expenses for the phone. The money coming from this will be used to fund further engineering of the phone and to help people from the community to work on upstream projects.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-devkits-are-shipping/">Librem 5 dev kits are shipping!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>&#8220;It&#8217;s a Secure Life&#8221; holiday bundles</title>
		<link>https://puri.sm/posts/2018-holiday-season-bundle-sale/</link>
		<pubDate>Sun, 16 Dec 2018 19:00:32 +0000</pubDate>
		<dc:creator><![CDATA[Sean O'Brien]]></dc:creator>
				<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61758</guid>
		<description><![CDATA[<p>The holidays are around the corner. Are you one of the millions of shoppers who aren&#8217;t finished buying presents? It&#8217;s easy to panic and impulse buy, but that can lead to gifts that no one is happy with and, worse, expose your loved ones to Big Tech snooping. These days, even gag gifts are linked [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-holiday-season-bundle-sale/">&#8220;It&#8217;s a Secure Life&#8221; holiday bundles</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The holidays are around the corner. Are you one of the millions of shoppers who aren&#8217;t finished buying presents? It&#8217;s easy to panic and impulse buy, but that can lead to gifts that no one is happy with and, worse, expose your loved ones to Big Tech snooping. These days, even gag gifts are linked to surveillance devices—the world&#8217;s favorite <a href="https://www.pcmag.com/review/365395/big-mouth-billy-bass-compatible-with-alexa">talking fish</a> is now a mouthpiece for Amazon&#8217;s eavesdropping Alexa. Sure, you&#8217;d have to buy a spy speaker to go along with it, but that&#8217;s becoming a common accessory that may soon be as required as alkaline batteries were in the 90&#8217;s.</p>
<p>All this pressure to conform and bring <a href="https://www.theguardian.com/technology/2018/nov/10/spy-christmas-smart-home-facebook-portal-google-home-hub-amazon-show-alexa">spy hubs into homes</a> is a strange phenomenon: it&#8217;s occurring while the U.S. has near-monthly Congressional hearings on Big Tech&#8217;s blunders and at a time when consumer desire for privacy is at an <a href="https://www.janrain.com/resources/industry-research/consumer-attitudes-towards-data-privacy-survey-q3-2018">all-time high</a>.</p>
<p>At Purism, we believe that privacy is more than a choice—it&#8217;s a requirement. We make beautiful, functional, smart computer hardware that puts you in control with the safety, security, and verification that there is no built-in tracking or surveillance. <a href="https://puri.sm/posts/protecting-the-digital-supply-chain/">We protect the supply chain</a> from boot to browser, giving you the tools you need to safeguard your digital life.</p>
<p><strong>From now until January 6th, we&#8217;re introducing &#8220;It&#8217;s a Secure Life&#8221; bundles.</strong> Enjoy 15% to 18% off on bundles containing the Librem 5 smartphone (preorder), the Librem 15 laptop, and the Librem Key. To benefit from this, simply add the two or three qualifying items (a Librem 15, a Librem Key, and, optionally, a Librem 5) to your cart and you will see a coupon automatically applied for you. There are many combinations possible, so this promotion&#8217;s rebates can be summarized roughly as follows:</p>
<ul>
<li>Save from $350 to $467 on the full bundle comprised of the Librem 15, Librem 5 and Librem Key</li>
<li>Save from $250 to $358 on the Librem 15 + Librem Key only bundle</li>
</ul>
<p>The amount of base price savings depend on your keyboard configurations and the choice of a TPM model or not. In particular, there are still a few non-TPM UK models or German TPM models that are on clearance, where additional price savings will compound with the rebates mentioned above.</p>
<p>Don&#8217;t buy <a href="https://www.theverge.com/2018/4/13/17233122/android-software-patch-trust-problem">dodgy tablets and smartphones</a>, gag gifts, or toy robots that record the <a href="https://www.commonsense.org/education/blog/privacy-and-security-evaluation-of-the-anki-vector-robot">conversations of children</a>. You and your loved ones can start off 2019 with a secure digital life instead, pioneering the path to privacy with Purism.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-holiday-season-bundle-sale/">&#8220;It&#8217;s a Secure Life&#8221; holiday bundles</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Break Free from Privacy Prison with Purism</title>
		<link>https://puri.sm/posts/break-free-from-privacy-prison-with-purism/</link>
		<pubDate>Mon, 10 Dec 2018 19:50:33 +0000</pubDate>
		<dc:creator><![CDATA[Sean O'Brien]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61714</guid>
		<description><![CDATA[<p>As 2018 comes to a close, people around the world have to face the stark truth of surveillance capitalism. Nearly all consumer products — speakers, phones, cars, and perhaps even mattresses — are recording devices, storing metrics on our movements and behavior. The New York Times just published a detailed report on location tracking in [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/break-free-from-privacy-prison-with-purism/">Break Free from Privacy Prison with Purism</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>As 2018 comes to a close, people around the world have to face the stark truth of surveillance capitalism. Nearly all consumer products — speakers, phones, cars, and <a href="https://www.theguardian.com/world/2018/nov/30/mattress-firm-sleep-number-tells-customers-beds-do-not-record-them" target="_blank" rel="noopener">perhaps even mattresses</a> — are recording devices, storing metrics on our movements and behavior. <em>The New York Times</em> just published a <a href="https://www.nytimes.com/interactive/2018/12/10/business/location-data-privacy-apps.html" target="_blank" rel="noopener">detailed report</a> on location tracking in leaky Android and iOS apps. That&#8217;s just a fact of life when people use smartphones, right? Wrong. In 2019, Purism&#8217;s <a href="https://puri.sm/products/librem-5/">Librem 5 smartphone</a> will be proof that no one has to live with spies in their pockets.</p>
<p>If anything has changed since Facebook&#8217;s <a href="https://www.chicagotribune.com/news/nationworld/ct-facebook-advertisers-user-data-20181205-story,amp.html" target="_blank" rel="noopener">Cambridge Analytica scandal</a>, it&#8217;s that more and more people are jumping ship from the <a href="https://www.nytimes.com/2017/10/18/technology/frightful-five-start-ups.html" target="_blank" rel="noopener">Frightful Five</a>: Google, Amazon, Facebook, Apple, and Microsoft. At Purism, we offer an alternative to the polluted software ecosystems of these tech giants.</p>
<p>Our code is Free and Open-Source Software (FOSS), the industry standard in security because it can be verified by experts and amateurs alike. The software on our Librem laptops and our upcoming phone stands on a strong, foundational <a href="https://puri.sm/posts/protecting-the-digital-supply-chain/">chain of trust</a> that is matched by hardware features such as <a href="https://puri.sm/learn/hardware-kill-switches/">kill switches</a>. These switches give people the added assurance that their devices won&#8217;t record or &#8220;phone home&#8221; to advertisers, spies, and cyber criminals. Turn off WiFi, microphone, and webcam on the Librem 5 and they&#8217;re off, no question about it.</p>
<p>Purism&#8217;s combination of trustworthy hardware and software is a win for privacy advocates, <a href="https://puri.sm/enterprise/">enterprise</a>, and the so-called average user. We believe that everyone deserves privacy and that security, freedom, and autonomy are closely linked. To build a <em>libre</em> and privacy-respecting world, however, we need to fathom the scope of the problem and meet it head-on.</p>
<p><em>The Times</em> exposé follows the movements of Lisa Magrin, a school teacher. On Ms. Magrin&#8217;s trips to school, location markers were recorded &#8220;more than 800 times&#8221; often in her classroom. But it doesn&#8217;t stop there: &#8220;An app on the device gathered her location information, which was then sold without her knowledge. It recorded her whereabouts as often as every two seconds&#8230; While Ms. Magrin’s identity was not disclosed in [phone] records, <em>The Times</em> was able to easily connect her to [a spot on the map].&#8221;</p>
<p>Think that&#8217;s invasive? Apps continued to track Ms. Magrin while she traveled to a Weight Watchers meeting, to a dermatologist, hiking with her dog, and to her ex-boyfriend&#8217;s home. Many people know that tracking is ubiquitous, but facing the stark results is a harrowing experience.</p>
<p>Privacy researchers have known the pitfalls of ever-listening sensors for a long time, so I wish I could say this is news to me. My research at Yale Privacy Lab has explored smartphone spying in detail, and I&#8217;ve personally dug into the privacy pitfalls of everything from <a href="https://finance.yahoo.com/news/ap-exclusive-google-tracks-movements-075349852.html" target="_blank" rel="noopener">Google&#8217;s bogus location settings</a> to <a href="https://medium.com/s/thenewnew/irl-ads-are-taking-scary-inspiration-from-social-media-7088e8241beb" target="_blank" rel="noopener">snooping billboards</a>. This time last year, Yale Privacy Lab collaborated with the researchers at Exodus Privacy and utilized the excellent Exodus scanner to reveal <a href="https://theintercept.com/2017/11/24/staggering-variety-of-clandestine-trackers-found-in-popular-android-apps/" target="_blank" rel="noopener">just how polluted</a> the mobile app ecosystem really is.</p>
<p>What do I mean when I say &#8220;polluted&#8221;?  Apps that are submitted to either Google Play or the iOS App Store contain <a href="https://privacylab.yale.edu/tmt">hidden trackers</a> in the form of Software Development Kits (SDKs). These are clandestine snippets of code that ask for invasive permissions such as camera, network, and microphone control. Such tracker SDKs may collect and transmit location, personal information, and behavioral analytics.  In some cases, these hidden snippets of code react to <a href="https://www.nytimes.com/2017/12/28/business/media/alphonso-app-tracking.html" target="_blank" rel="noopener">ultrasonic tones</a> that are silent to humans, allowing retailers and marketers to track the proximity of users as they walk around malls and retail outlets. These hidden &#8220;anti-features&#8221; have been a standard part of both Google and Apple&#8217;s <a href="https://www.wired.com/story/android-users-to-avoid-malware-ditch-googles-app-store/" target="_blank" rel="noopener">app store model</a>, communicating with spying Internet-of-Things devices such as iBeacons.</p>
<p>I work at Purism because I know we can solve this problem. Big changes are on the horizon in society at large, and people are fed up with surveillance capitalism. Purism offers replacements for the privacy prisons of the Frightful Five. You don&#8217;t have to become a luddite to enjoy them, either — our products are as beautiful as they are secure.</p>
<p>Take a stand, #DemandFreedom, and join the world that we&#8217;re making.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/break-free-from-privacy-prison-with-purism/">Break Free from Privacy Prison with Purism</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Make Today Cybersecurity Monday with Deep Discounts at Purism</title>
		<link>https://puri.sm/posts/2018-cybermonday/</link>
		<pubDate>Mon, 26 Nov 2018 18:41:59 +0000</pubDate>
		<dc:creator><![CDATA[Sean O'Brien]]></dc:creator>
				<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61544</guid>
		<description><![CDATA[<p>I&#8217;m typing this on a Librem 15 laptop, a secure computer from Purism. On Cyber Monday you can get a deep discount on your own Librem, gaining the assurance that your device is secure, private, and malware-free. Make today a Cybersecurity Monday and get peace-of-mind as well as beautiful hardware. The &#8220;proof of the pudding [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-cybermonday/">Make Today Cybersecurity Monday with Deep Discounts at Purism</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m typing this on a Librem 15 laptop, a secure computer from Purism. On Cyber Monday you can <a href="https://shop.puri.sm/shop/">get a deep discount on your own Librem</a>, gaining the assurance that your device is secure, private, and malware-free. Make today a Cybersecurity Monday and get peace-of-mind as well as beautiful hardware.</p>
<p>The &#8220;proof of the pudding is in the eating&#8221;, and Purism devices are much more than a treat. For decades, the IT security industry has understood that software must be verified to be trusted, and that such trust can only be provided by Free and Open-Source Software (FOSS). Way back in 1999, <a href="https://www.schneier.com/crypto-gram/archives/1999/0915.html">security expert Bruce Schneier</a> made the observation: &#8220;In the cryptography world, we consider [FOSS] necessary for good security; we have for decades&#8230; For us, [FOSS] isn&#8217;t just a business model; it&#8217;s smart engineering practice.&#8221;</p>
<p>At Purism, our laptops and upcoming <a href="https://puri.sm/products/librem-5/">Librem 5 smartphone</a> have this &#8220;smart engineering practice&#8221; baked-in — the operating system is 100% FOSS and we&#8217;ve replaced the sketchy proprietary BIOS with <a href="https://puri.sm/coreboot/">coreboot</a>. PureOS meets the high standards of the <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1">Free Software Foundation’s endorsement</a>, giving you the assurance that it contains no secret, unverifiable, proprietary code.</p>
<p>Cybersecurity firms have witnessed big changes in the digital landscape and a series of high-profile data breaches like the one <a href="https://www.theguardian.com/technology/2018/nov/21/amazon-hit-with-major-data-breach-days-before-black-friday">last week at Amazon</a>. However, the basic security principles have stayed the same.</p>
<p>When there are questions about <a href="https://web.archive.org/web/20181011221602/https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies">spying microchips at Apple and Amazon</a>, for example, security analysts look at the supply chain as the suspect. At Purism, we <a href="https://puri.sm/posts/protecting-the-digital-supply-chain/">protect the digital supply chain</a>. Our pioneering development of the Librem 5 smartphone requires us to validate each component, taking an active role in the design and testing of the device from the <a href="https://puri.sm/posts/librem5-2018-09-hardware-report/">silicon and schematics on up</a>.</p>
<p>If you take cybersecurity seriously, you need to steer clear from the <a href="https://arstechnica.com/gadgets/2018/10/amazon-patents-alexa-tech-to-tell-if-youre-sick-depressed-and-sell-you-meds/">ever-creepier Amazon gadgets</a> and get Purism in your life. Beyond trust and assurance, you get the simple features you need to make security easy. The Librem line of laptops features hardware kill switches for webcam, microphone, bluetooth, and WiFi, and the Librem 5 smartphone will have them too. Our Librem Key is a one-of-a-kind <a href="https://puri.sm/posts/introducing-the-librem-key/">USB security token</a>, and doesn&#8217;t just offer multi-factor authentication, it tells you if your device has been <a href="https://puri.sm/posts/the-librem-key-makes-tamper-detection-easy/">tampered with</a> via a green or red LED.</p>
<p>Show your friends, your family, your co-workers, or your clients that you care about cybersecurity. Purism devices <a href="https://puri.sm/enterprise/">mean business</a>, and we don&#8217;t mess around when it comes to privacy, trust, and assurance.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-cybermonday/">Make Today Cybersecurity Monday with Deep Discounts at Purism</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Initial Split payments financing options now available</title>
		<link>https://puri.sm/posts/splitit-payments-financing-introduction/</link>
		<pubDate>Fri, 23 Nov 2018 19:05:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Customer Feedback]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61527</guid>
		<description><![CDATA[<p>It is no secret that our hardware products are not only high-quality but also involve a lot of R&#38;D overhead to make the Librem laptops and phones possible: our software &#38; firmware development and support (and any additional R&#38;D to enable us to grow and better serve you) has to be paid out of the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/splitit-payments-financing-introduction/">Initial Split payments financing options now available</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>It is no secret that our hardware products are not only high-quality but also involve a <em>lot</em> of R&amp;D overhead to make the Librem laptops and phones possible: our software &amp; firmware development and support (and any additional R&amp;D to enable us to grow and better serve you) has to be paid out of the margins we make on each sale, whether from the base configurations or the accessories and upgrades. It&#8217;s the reality of our cost structure as a manufacturer involved in providing a turn-key, integrated hardware+software solution, so these are simply the economics we have to deal with. <a href="https://puri.sm/about/business-model-and-vision/" target="_blank" rel="nofollow noopener">Our business model</a> isn&#8217;t cheap to run.</p>
<p>Most people find our offering to be of great value and are willing to vote with their wallets without hesitation, but there are also those who, while they are supportive of our goals and hold our products in high respect, simply cannot financially (or emotionally!) afford to shell out the money &#8220;all at once&#8221; to make a purchase. Some people have tighter cash flows and need to manage their budgets over the long term, and that&#8217;s quite understandable.</p>
<p>So today, I&#8217;m happy to announce that we have made a leap forward in catering to those who need more flexibility, by<strong> <a href="https://www.splitit.com/shopper/" target="_blank" rel="nofollow noopener">using SplitIt to offer split payments</a> as an option.</strong> We are hoping to also add other financing partners in the future if we see interest from our customers, so let us know if this is a positive change for you or the people you know.</p>
<p>What this system allows you to do is to get one of our products and pay it over time, interest-free (to the extent that you honor your credit card payments, otherwise your credit card company will charge interest to you, of course). We are not the ones handling the split payment, SplitIt and your bank or credit card company do.</p>
<p>So, as an example, if you buy a Librem 13 &#8220;base configuration&#8221; at the regular price of $1399 (remember, today is Black Friday and we <a href="https://puri.sm/posts/2018-black-friday-deals/" target="_blank" rel="noopener">have a sale going on</a>, so it&#8217;s actually less than that), instead of paying the entire amount in a single transaction you can choose to pay the same amount divided by twelve months, that is 12 payments of roughly 117$ on your credit card. Of course, financial responsibility still applies and you need to make sure you can afford the monthly payments for the duration of your chosen term (6 or 12 months, depending on what you choose).</p>
<p>We hope many will find this new feature useful! Of course, if you choose to make use of this payment strategy, please make sure to read the &#8220;Customer&#8217;s Terms and Conditions&#8221; section of <a href="https://www.splitit.com/legals/terms-conditions/" target="_blank" rel="nofollow noopener">SplitIt&#8217;s Terms &amp; Conditions page</a>.</p>
<p>&#8212; Jeff, on behalf of the marketing and finance departments</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/splitit-payments-financing-introduction/">Initial Split payments financing options now available</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Give the Gift of Privacy with Purism&#8217;s Black Friday Deals</title>
		<link>https://puri.sm/posts/2018-black-friday-deals/</link>
		<pubDate>Thu, 22 Nov 2018 19:57:00 +0000</pubDate>
		<dc:creator><![CDATA[Sean O'Brien]]></dc:creator>
				<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61408</guid>
		<description><![CDATA[<p>2018 has been a rough year for digital privacy, but this is the home stretch. Many shoppers will be looking for retail therapy this holiday season, scanning retail shelves and storefronts across the Web. When the shopping&#8217;s over, and the presents are opened, what will you have given your friends and loved ones? Will you [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-black-friday-deals/">Give the Gift of Privacy with Purism&#8217;s Black Friday Deals</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<figure id="attachment_61415" style="width: 521px" class="wp-caption alignright"><a href="https://puri.sm/products/"><img class="wp-image-61415" style="border: 1px solid #333;" src="https://puri.sm/wp-content/uploads/2018/11/librem_holiday_graphic-1024x576.png" alt="Purism Librem Line" width="521" height="293" srcset="https://puri.sm/wp-content/uploads/2018/11/librem_holiday_graphic-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/11/librem_holiday_graphic-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/11/librem_holiday_graphic-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/11/librem_holiday_graphic.png 1280w" sizes="(max-width: 521px) 100vw, 521px" /></a><figcaption class="wp-caption-text"><a href="https://puri.sm/products/">Give the Gift of Privacy</a></figcaption></figure>
<p>2018 has been a rough year for digital privacy, but this is the home stretch. Many shoppers will be looking for <a href="https://en.wikipedia.org/wiki/Retail_therapy" target="_blank" rel="noopener">retail therapy</a> this holiday season, scanning retail shelves and storefronts across the Web. When the shopping&#8217;s over, and the presents are opened, what will you have given your friends and loved ones? Will you have saddled them with spying &#8220;smart home&#8221; appliances, mobile app trackers, and <a href="https://www.nbcnews.com/tech/innovation/alexa-privacy-fail-highlights-risks-smart-speakers-n877671" target="_blank" rel="noopener">eavesdropping speakers</a>?</p>
<p>Tech doesn&#8217;t have to give people the <em>agita</em> of home surveillance—<strong><a href="https://puri.sm/products/">give the gift of privacy</a> this holiday season.</strong> All Purism laptops will be on sale from Black Friday through Cyber Monday. And you can even pay <a href="https://puri.sm/posts/splitit-payments-financing-introduction/" target="_blank" rel="noopener">with monthly installments</a> now!</p>
<p>Why support Purism? To start, it&#8217;s a <a href="https://puri.sm/about/social-purpose/">Social Purpose Corporation</a> dedicated to privacy, security, and freedom. Your digital rights come before the interests of investors, and we have a strong commitment to technology that doesn&#8217;t spy on you, track you, or expose you to malware and viruses. When you buy Purism devices, you get:</p>
<ul>
<li>hardware features built for your privacy such as physical <a href="https://puri.sm/learn/hardware-kill-switches/">kill switches</a> for the webcam, microphone, bluetooth, and WiFi;</li>
<li>the benefit of secure and verifiable software, from the moment you boot your device to the time you spend in your Web browser;</li>
<li>an economic vote signalling demand for security, privacy and freedom, supporting our R&amp;D efforts. Indeed, you are not <em>just</em> buying hardware: the margins we make on hardware sales are what pays our team of 30+ people to do software, firmware and hardware enablement work around coreboot, PureOS, the Librem 5 phone platform, and services and support.</li>
</ul>
<p>Our Librem line of laptops ship with <a href="https://pureos.net/">PureOS</a>, an operating system that meets the high standards of the <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1" target="_blank" rel="noopener">Free Software Foundation&#8217;s endorsement</a>, and <a href="/coreboot/">coreboot</a> as a replacement for proprietary BIOSes. The Librem 5 smartphone will ship with it too, raising the bar for private and secure mobile devices worldwide and challenging Apple and Google to meet that standard.</p>
<p>When Apple CEO Tim Cook was deriding Facebook for it&#8217;s <a href="https://www.nytimes.com/2018/11/14/technology/facebook-data-russia-election-racism.html" target="_blank" rel="noopener">dismal privacy record</a>, he said Apple was &#8220;not going to traffic in your personal life&#8221; and that privacy is a &#8220;human right&#8221; and a &#8220;civil liberty&#8221;. At Purism we agree with this sentiment, but we also ask Apple to take a long look in the mirror. Macbooks contain a &#8220;security&#8221; microchip that contains secret, unverifiable, proprietary code. The T2 chip not only means the &#8220;Hey Siri&#8221; voice assistant is always listening, it can also <a href="https://www.extremetech.com/computing/280501-apple-confirms-t2-chip-can-brick-macs-after-third-party-repairs" target="_blank" rel="noopener">brick your Mac</a> if you don&#8217;t follow Apple&#8217;s repair rules.</p>
<p>iPhones, it turns out, are just as bad as Google&#8217;s Android when it comes to tracking you. In one experiment, an iPhone was found to be <a href="https://www.abc.net.au/news/2018-11-16/datalife-i-spied-on-my-phone-and-here-is-what-i-found/10496450" target="_blank" rel="noopener">making contact hundreds of times</a> with Apple&#8217;s servers and third-parties, while the user was sleeping and the phone was &#8220;inactive&#8221;. Worse, Apple invented the iBeacon standard that is now used worldwide to <a href="https://blog.beaconstac.com/2018/07/proximity-marketing-in-2018-and-the-market-forecast-for-2022/" target="_blank" rel="noopener">track the movements and proximity</a> of users to each other, to smart digital signs, and to products in malls and grocery stores. Though Apple has been able to dodge privacy criticisms with hand-waving and clever marketing, Tim Cook was on the defensive this week when asked about the company&#8217;s <a href="https://www.nbcnews.com/news/amp/ncna937981" target="_blank" rel="noopener">relationship with Google</a>.</p>
<p>In 2018, the world has had to face the reality that surveillance tech tries to track and monetize our every move. Make room for Purism on your shopping list and you make a change for 2019, distancing yourself from the data merchants watching everyone, even in their sleep.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-black-friday-deals/">Give the Gift of Privacy with Purism&#8217;s Black Friday Deals</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Protecting the Digital Supply Chain</title>
		<link>https://puri.sm/posts/protecting-the-digital-supply-chain/</link>
		<pubDate>Tue, 13 Nov 2018 20:21:44 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61307</guid>
		<description><![CDATA[<p>You first learn about the importance of the supply chain as a child. You discover a shiny object on the ground and as you reach down to pick it up your parent says &#8220;Don&#8217;t touch that! You don&#8217;t know where it&#8217;s been!&#8221; But why does it matter whether you know where it&#8217;s been? When your [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/protecting-the-digital-supply-chain/">Protecting the Digital Supply Chain</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>You first learn about the importance of the supply chain as a child. You discover a shiny object on the ground and as you reach down to pick it up your parent says &#8220;Don&#8217;t touch that! You don&#8217;t know where it&#8217;s been!&#8221; But why does it matter whether you know where it&#8217;s been? When your parents know where something came from, they can trust that it&#8217;s clean and safe for you to play with. When they don&#8217;t, their imagination runs wild with all of the disgusting bacteria and viruses that might taint it.</p>
<p>The food supply chain is important. Food is sealed not just so that it will keep longer, but also so that you can trust that no one has tampered with it between the time it left the supplier to the time it goes in your grocery bag. Some food goes even further and provides a tamper-evident seal that makes it obvious if someone else opened it before you. Again, the concern isn&#8217;t just about food freshness, or even someone stealing food from a package, it&#8217;s about the supplier protecting you from a malicious person who might go as far as poisoning the food.</p>
<p>The supply chain ultimately <strong>comes down to trust</strong> and your ability <em>to audit</em> that trust. You trust the grocery and the supplier to protect the food you buy, but you still check the expiry date and whether it&#8217;s been opened before you buy it. The grocery then trusts and audits their suppliers and so on down the line until you get to a farm that produces the raw materials that go into your food. Of course it doesn&#8217;t stop there. In the case of organic farming, the farmer is also audited for the processes they use to fertilize and remove pests in their crops, and in the case of livestock this even extends to the supply chain behind the food the livestock eats.</p>
<p><strong>You deserve to know where things have been</strong> whether it&#8217;s the food that sustains your physical life or the devices and software that protect your digital life. Tainted food can make you sick or even kill you, and tainted devices can steal your data and take over your device to infect others. In this post I&#8217;ll describe some of the steps that Purism takes to protect the digital supply chain in our own products.</p>
<h1>The Firmware Supply Chain</h1>
<p>A lot has been written recently about threats to the hardware supply chain in light of <a href="https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies">Bloomberg&#8217;s allegations about hardware implants</a> that intercepted the BMC remote management features in certain SuperMicro server hardware. While all of the vendors have <a href="https://www.apple.com/newsroom/2018/10/what-businessweek-got-wrong-about-apple/">denied these allegations</a> (and <a href="https://arstechnica.com/tech-policy/2018/10/bloomberg-stands-by-chinese-chip-story-as-apple-amazon-ratchet-up-denials/">Bloomberg stands by its story</a>), everyone acknowledges that whether this particular incident happened, this kind of implant is certainly possible.</p>
<p>A crucial point that many are missing, and one that leads me personally to doubt the Bloomberg story, is that while a hardware implant is <em>possible</em>, <strong>it&#8217;s unnecessary</strong>&#8211;the BMC firmware and IPMI protocol have a <a href="https://threatpost.com/ipmi-protocol-bmc-vulnerabilities-expose-thousands-of-servers-to-attack/101202/">long history of vulnerabilities</a> and it would be a lot easier (and stealthier) for an attacker either to take advantage of existing vulnerabilities or flash a malicious firmware, than risk a hardware implant. An attacker who is sophisticated enough to deploy a hardware implant is sophisticated enough to pick a safer approach.</p>
<p>Why is attacking the firmware safer than implanting hardware? First, <strong>firmware hacking is <em>easier</em></strong>. Firmware used to be something that was flashed onto hardware once and could never be overwritten. In those days it might have been just as easy to add a malicious chip onto the motherboard. Now most firmware is loaded onto chips that can be written and overwritten multiple times to allow updates in the field, so anyone along the hardware supply chain could overwrite trusted firmware with their own.</p>
<p>Second, <strong>firmware attacks are harder to <em>detect</em></strong><em>.</em> Hardware attacks risk detection all along the supply chain whenever someone physically inspects the hardware. Motherboards have published diagrams you can compare hardware against, and if a chip is on the board that isn&#8217;t in a diagram, that raises alarms. Since so much firmware is closed, it&#8217;s more difficult to detect if someone added malicious code and it&#8217;s certainly something you can&#8217;t detect by visual inspection.</p>
<p>Finally, <strong>firmware attacks offer </strong><em><strong>deniability</strong>.</em> It&#8217;s hard for someone to explain away a malicious chip that&#8217;s added onto hardware unannounced. If firmware vulnerabilities <em>are</em> detected, they can almost always be explained away as a security bug or a developer mistake.</p>
<h2>How Purism Protects the Firmware Supply Chain</h2>
<p>Purism has a number of strategies it uses to protect the firmware supply chain. The first strategy is to limit the overall threat by reducing the amount of proprietary firmware on our hardware as much as possible. We select the hardware components in our laptops such as the graphics chip and WiFi card so that we can run them with free software drivers that anyone can audit. Like a dairy that only packages milk from antibiotic-free cows, we can avoid a lot of other audit worries by starting with a clean source.</p>
<p>The next area we focus on is the Intel Management Engine (ME). Like all modern Intel-based hardware, our laptops include the Intel Management Engine, but we intentionally <a href="https://puri.sm/learn/intel-me/">exclude Intel&#8217;s Active Management Technology (AMT)</a> to avoid the risk posed by that proprietary out-of-band management software. We then <a href="https://puri.sm/posts/deep-dive-into-intel-me-disablement/">neutralize and disable the ME</a> so that only a small percentage of the firmware remains on the chip, further reducing the avenues for attack. Whether a dairy gets antibiotic-free milk or not, it still pasteurizes it to kill any unseen microbes in the raw milk.</p>
<p>The other important piece of firmware on a laptop is the BIOS. Since it runs before the operating system, it&#8217;s a tempting piece of code to attack because such a compromise can easily hide from the OS in a regular system and survive reboots. We protect the BIOS firmware from supply chain attacks both upstream and downstream from us and next I will describe our approaches.</p>
<p>The motherboards&#8217; BIOS chip arrives to us with a proprietary BIOS from the supplier. To protect against any upstream attempts to replace that default BIOS with something malicious we overwrite it with our own <a href="https://puri.sm/coreboot/">coreboot</a> BIOS. This further reduces the amount of proprietary firmware in the BIOS since with coreboot the bulk of the BIOS is free software. Even though the <a href="https://github.com/IntelFsp/FSP/tree/d88078a708e768c7b6ee5cbc996299d303c3c702">Intel Firmware Support Package (FSP)</a> proprietary blob still remains we still greatly reduce the risk (and aim to liberate or replace the FSP as well). It&#8217;s like repackaging food in BPA-free plastic when you aren&#8217;t sure about the make-up of the original packaging.</p>
<p>That leaves how we protect you from attacks on the BIOS that might occur either during shipping or after you have the computer in your possession. For this we are working to offer the combination of the <a href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">Heads tamper-evident BIOS</a> that sits on top of coreboot and our <a href="https://puri.sm/products/librem-key/">Librem Key USB security token</a> and we are starting a private beta program right now to get feedback before a wider release. With Heads combined with the Librem Key, we can configure a shared secret between the computer and the Librem Key at the factory and ship the devices separately. If someone tampers with your computer during shipping or at any point after you receive it, you will then be able to detect it with an easy &#8220;green is good, red is bad&#8221; blinking light on the Librem Key. Think of it like a pop-up tamper-evident seal on a jar of food.</p>
<h1>The Software Supply Chain</h1>
<p>While the hardware and firmware supply chain attacks get a lot of focus due to their exciting &#8220;spy versus spy&#8221; nature, software supply chain attacks are a much greater and more present threat today. While many of the hardware and firmware attacks still exist in the realm of the hypothetical, software attacks are much more real. Vendors have been caught <a href="https://www.pcmag.com/news/357590/hp-accused-of-quietly-installing-spyware-on-windows-pcs">installing spyware on their laptops</a>, <a href="https://thehackernews.com/2015/09/lenovo-laptop-virus.html">in some cases multiple times</a>, to collect data to sell to advertisers or to pop up ads of their own. When you can&#8217;t audit the code, even a computer direct from the factory might be suspect.</p>
<p>With proprietary operating systems, there&#8217;s the risk that comes from not being able to audit the programs you run. A malicious developer or a developer hired by a state actor could add backdoors into the code with no easy way to detect it. This isn&#8217;t just a hypothetical risk as the <a href="https://www.zdnet.com/article/nsa-suspected-in-juniper-firewall-backdoor-mystery-but-questions-remain/">NSA is suspected in a back door found in Juniper&#8217;s ScreenOS</a>.</p>
<p>If you decide that you can trust your OS vendor you might be comfortable relying on the fact that OS vendors sign their software updates these days so the OS can be sure that the software came directly from the vendor and wasn&#8217;t tampered with while it was being downloaded. Yet applications on proprietary operating systems come from multiple sources, not just the OS vendor, and in many cases software you download and install from a website has no way to verify that it hasn&#8217;t been tampered with along the way.</p>
<p>Even if you only use software signed by a vendor you still aren&#8217;t safe from supply chain attacks. Since you don&#8217;t have access to the source code, there&#8217;s no way to prove that the signed software that you download from a vendor matches the source code that created it. When developers update software, their code generally goes to a build system that converts it into a binary and performs tests on it before it packages it, signs it, and makes it available to the public. An attacker with access to the build system could <a href="https://www.tomshardware.com/news/cisco-backdoor-hardcoded-accounts-software,37480.html">implant a back door</a> at some point in the build process after source code has been checked in. With this kind of attack, the malicious code might go unnoticed for quite some time since it isn&#8217;t present in the source code itself yet the resulting software would still get signed with the vendor&#8217;s signature.</p>
<h2>How Purism Protects the Software Supply Chain</h2>
<p>Purism has a great advantage over proprietary software vendors when it comes to protecting the software supply chain because we can offer a <a href="https://puri.sm/posts/fsf-endorses-pureos/">100% free software operating system, PureOS</a>, on our laptops. By only installing free software on our laptops, all of the source code in the operating system can be audited by anyone for backdoors or other malicious code. For processed food to be labeled as organic, it must be made only from organic sources, and having our operating system certified as 100% free software means you can trust the software supply chain all the way to the source. Beyond that, all of the software within PureOS is signed and those signatures are verified every time you install new software or update existing software.</p>
<p>Unlike proprietary software, we can also address the risk from an attacker who can inject malicious code somewhere in the build process before it&#8217;s signed. With <a href="https://reproducible-builds.org/">Reproducible Builds</a> you can download the source code used to build your software, build it yourself, and compare your output with the output you get from a vendor. If the output matches, you can be assured that no malicious code was injected somewhere in the software supply chain and it 100% matches the public code that can be audited for back doors. Think of it like the combination of a food safety inspector and an independent lab that verifies the nutrition claims on a box of cereal all rolled into one. We are working to ensure all of the software within PureOS can be reproducibly built and to provide you tools to audit our work. Stay tuned for more details on that.</p>
<h1>Conclusion</h1>
<p>The supply chain comes down to trust and your ability to audit that trust. Unfortunately all too often a company&#8217;s economic incentives run counter to your trust. This is why Purism is registered as a <a href="https://puri.sm/about/social-purpose/">Social Purpose Corporation (SPC)</a> so we can put our ethics and principles above economic incentives. We also continue to improve our own ability to audit the supply chain and isolate (and ultimately eliminate) any proprietary code that remains. Beyond that we are also working to provide you the tools to audit the supply chain (and audit us) yourself, because while we feel you <em>should</em> trust us, your security shouldn&#8217;t have to <em>depend</em> on that trust alone.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/protecting-the-digital-supply-chain/">Protecting the Digital Supply Chain</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Development Kits: we are getting there!</title>
		<link>https://puri.sm/posts/librem5-2018-11-hardware-report/</link>
		<pubDate>Fri, 09 Nov 2018 00:18:58 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Benchmarks and testing]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61256</guid>
		<description><![CDATA[<p>A few weeks ago we published an update about the forthcoming of our Librem 5 development kits when we ran into some issues which caused delays. Today we&#8217;re bringing you another update on the hardware fabrication process, as well as some pictures and a video. At the same time as the last update got posted, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-2018-11-hardware-report/">Librem 5 Development Kits: we are getting there!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A few weeks ago we published <a href="https://puri.sm/posts/librem5-2018-09-hardware-report/" target="_blank" rel="nofollow noopener">an update</a> about the forthcoming of our <a href="/products/librem-5/">Librem 5</a> development kits when we ran into some issues which caused delays. Today we&#8217;re bringing you another update on the hardware fabrication process, as well as some pictures and a video. <span id="more-61256"></span>At the same time as the last update got posted, I was on my way to California, where we are fabricating our development kit and base boards (we are bringing everything to life there, and shipping from that same facility).</p>
<p>The story of fabricating the entire devkit hardware from the ground-up included crossing paths with a couple of storms:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Hurricane_Florence" target="_blank" rel="nofollow noopener">Hurricane Florence</a> caused some shipping delays for component parts, and one of our packages also got lost in Memphis—maybe it enjoyed the music and drinks a bit too much? We don&#8217;t know because we never heard back from it again. So we had to procure additional parts.</li>
<li>The <a href="https://weather.com/storms/hurricane/news/2018-09-07-tropical-storm-typhoon-mangkhut-guam-asia" target="_blank" rel="nofollow noopener">typhoon in south east China</a> caused a week of factory shutdowns, which included our PCB design prototypes!</li>
<li>Almost right after that was a Chinese holiday, the Golden Week, which is in practice a two week holiday. Luckily we could expedite the PCBs at a fab in Los Angeles and courier ship to us!</li>
</ul>
<p>All in all, we had a setback of about three weeks before we were able to make the first prototypes of the boards.</p>
<p>So once the PCBs finally arrived, on the same day we set up all the machines and worked until 5 a.m. to make the first 10 &#8220;golden sample&#8221; prototypes of the development base boards:</p>
<p><img class="alignnone wp-image-61313 size-full" src="https://puri.sm/wp-content/uploads/2018/11/l5-devkit-prototype-workshop.jpg" alt="" width="1024" height="683" srcset="https://puri.sm/wp-content/uploads/2018/11/l5-devkit-prototype-workshop.jpg 1024w, https://puri.sm/wp-content/uploads/2018/11/l5-devkit-prototype-workshop-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2018/11/l5-devkit-prototype-workshop-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p><img class="alignnone wp-image-61265 size-full" src="https://puri.sm/wp-content/uploads/2018/11/devk-ready.jpg" alt="" width="1024" height="683" srcset="https://puri.sm/wp-content/uploads/2018/11/devk-ready.jpg 1024w, https://puri.sm/wp-content/uploads/2018/11/devk-ready-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2018/11/devk-ready-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p><img class="alignnone wp-image-61264 size-full" src="https://puri.sm/wp-content/uploads/2018/11/devk-rawpop-pcb.jpg" alt="" width="1024" height="683" srcset="https://puri.sm/wp-content/uploads/2018/11/devk-rawpop-pcb.jpg 1024w, https://puri.sm/wp-content/uploads/2018/11/devk-rawpop-pcb-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2018/11/devk-rawpop-pcb-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>If you compare the produced boards with the 3D renders from KiCad (yes, the design of the base board is done in <a href="http://kicad-pcb.org/" target="_blank" rel="nofollow noopener">KiCad</a>, and we will be releasing it under a free license once we are finished), you can see the beautiful similarity of the actual outcome. Here we have from left to right: the back side 3D render, the freshly made real board&#8217;s back side; the 3D rendered front and real board&#8217;s front:</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/11/3d_back.jpg"><img class="wp-image-61266 size-medium alignnone" src="https://puri.sm/wp-content/uploads/2018/11/3d_back-153x300.jpg" alt="" width="153" height="300" srcset="https://puri.sm/wp-content/uploads/2018/11/3d_back-153x300.jpg 153w, https://puri.sm/wp-content/uploads/2018/11/3d_back.jpg 450w" sizes="(max-width: 153px) 100vw, 153px" /></a><a href="https://puri.sm/wp-content/uploads/2018/11/bottom-800.jpg"><img class="wp-image-61269 size-medium alignnone" src="https://puri.sm/wp-content/uploads/2018/11/bottom-800-300x296.jpg" alt="" width="300" height="296" srcset="https://puri.sm/wp-content/uploads/2018/11/bottom-800-300x296.jpg 300w, https://puri.sm/wp-content/uploads/2018/11/bottom-800-768x758.jpg 768w, https://puri.sm/wp-content/uploads/2018/11/bottom-800.jpg 800w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://puri.sm/wp-content/uploads/2018/11/3d_front.jpg"><img class="wp-image-61267 size-medium alignnone" src="https://puri.sm/wp-content/uploads/2018/11/3d_front-153x300.jpg" alt="" width="153" height="300" srcset="https://puri.sm/wp-content/uploads/2018/11/3d_front-153x300.jpg 153w, https://puri.sm/wp-content/uploads/2018/11/3d_front.jpg 450w" sizes="(max-width: 153px) 100vw, 153px" /></a><a href="https://puri.sm/wp-content/uploads/2018/11/top-800.jpg"><img class="wp-image-61268 size-medium alignnone" src="https://puri.sm/wp-content/uploads/2018/11/top-800-300x296.jpg" alt="" width="300" height="296" srcset="https://puri.sm/wp-content/uploads/2018/11/top-800-300x296.jpg 300w, https://puri.sm/wp-content/uploads/2018/11/top-800-768x757.jpg 768w, https://puri.sm/wp-content/uploads/2018/11/top-800.jpg 800w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Since then, our team has been furiously and restlessly working on &#8220;bringing up&#8221; the board, i.e. getting software up and running at least &#8220;as far as to be able to test all the peripherals&#8221; so that we can verify the base board design before we order the final 300+ boards for series production.</p>
<p><img class="alignnone wp-image-61262 size-full" src="https://puri.sm/wp-content/uploads/2018/11/dev-kit-workbench.jpg" alt="" width="1024" height="683" srcset="https://puri.sm/wp-content/uploads/2018/11/dev-kit-workbench.jpg 1024w, https://puri.sm/wp-content/uploads/2018/11/dev-kit-workbench-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2018/11/dev-kit-workbench-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Since we base all our work on current mainline Linux kernel 4.18+, this work also involves quite a lot of forward porting of drivers, bug fixing and walking uncharted territory since the i.MX 8M is still very new. So far we have been able to verify the following (which also gives you an impression of the complexity of this task):</p>
<h4>Validated Hardware Subsystems</h4>
<ul>
<li>Charge Controller</li>
<li>USB-C</li>
<li>Serial Downloader (loading u-boot via USB)</li>
<li>eMMC boot (boot mode switch in the &#8220;up&#8221; position)</li>
<li>SoM (pinout mostly validated, SoC, eMMC, and PMIC working)</li>
<li>UART Debug</li>
<li>Powering from 18650 battery</li>
<li>Charge controller&#8217;s thermistor</li>
<li>10/100 Ethernet</li>
<li>Audio Codec</li>
<li>Mini-HDMI</li>
<li>WWAN module, SIM card &amp; antenna</li>
<li>WWAN hardware kill switch</li>
<li>GNSS (UART interface &amp; antenna)</li>
<li>USB Hub &amp; SD controller</li>
<li>RedPine WiFi/BT M.2 module on SDIO</li>
<li>RTC</li>
<li>Haptic motor</li>
<li>push buttons (power button, reset button, volume up, &amp; volume down)</li>
<li>User LED</li>
<li>Power indicator LEDs</li>
<li>headphones detect (HP_DET)</li>
<li>Display&#8217;s LED backlight</li>
<li>SPI NOR Flash</li>
<li>Earpiece speaker</li>
<li>External microphone</li>
<li>Headphone speakers</li>
<li>Smart card reader &amp; smart card slot</li>
</ul>
<h4>Partially Validated Hardware Subsystems</h4>
<ul>
<li>IMU (accelerometer, gyro &amp; magnetometer)</li>
<li>Proximity / ambient light sensor</li>
<li>WLAN/BT antennae</li>
<li>On-board microphone</li>
<li>Headset microphone</li>
<li>hardware kill switches for WiFi / BT and microphone</li>
</ul>
<h4>Subsystems Left To Validate</h4>
<ul>
<li>MIPI DSI LCD panel</li>
<li>Touch controller</li>
<li>Safely charging an 18650 battery</li>
<li>USB-C role switching</li>
<li>Microphone select IC</li>
<li>Bluetooth (UART4)</li>
<li>Camera (MIPI CSI)</li>
<li>WWAN I2S interface</li>
<li>JTAG</li>
<li>Bluetooth I2S interface</li>
</ul>
<p>The <a href="https://en.wikipedia.org/wiki/Display_Serial_Interface" target="_blank" rel="nofollow noopener">MIPI DSI</a> display interface is of course extremely important, and we can not order the final batch of PCBs before we know that the display (and touch controller) work perfectly. By doing the verification we also indeed discovered some problems, minor things that did not behave as expected and which we are now able to fix. Some other issues are simply mechanical issues that are hard to evaluate just from all the datasheets. And then other things happen, like parts not conforming to standards (like the M.2 WiFi/BT card, of which we got samples just a few days after doing the prototype order). For example, the <a href="https://en.wikipedia.org/wiki/M.2" target="_blank" rel="nofollow noopener">M.2</a> card has some pretty thick components on the bottom layer and thus can not lay flush on the PCB (which had been an assumption we had when we designed the board), so we need to change the connector for the final boards.</p>
<p>This is how the fully equipped current devkit prototypes look like, WiFi/BT card is read in the lower right corner of the back side:</p>
<p><img class="alignnone wp-image-61271 size-full" src="https://puri.sm/wp-content/uploads/2018/11/devk-full-back.jpg" alt="" width="1024" height="683" srcset="https://puri.sm/wp-content/uploads/2018/11/devk-full-back.jpg 1024w, https://puri.sm/wp-content/uploads/2018/11/devk-full-back-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2018/11/devk-full-back-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><img class="alignnone wp-image-61272 size-full" src="https://puri.sm/wp-content/uploads/2018/11/devk-full-front.jpg" alt="" width="1024" height="683" srcset="https://puri.sm/wp-content/uploads/2018/11/devk-full-front.jpg 1024w, https://puri.sm/wp-content/uploads/2018/11/devk-full-front-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2018/11/devk-full-front-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h1>We are getting there!</h1>
<p>All parts for the final production of the dev kits are procured and still waiting in the magazines on the machines to be placed on the final boards. The kernel team is making amazing progress on <a href="https://source.puri.sm/Librem5/linux-emcraft" target="_blank" rel="nofollow noopener">mainline Linux 4.18+</a>, we are in intense communication with other Linux i.MX 8M mainlining partners. The kernel, the GPU drivers and MESA will see quite some i.MX 8M patches from us—and yes, <em>upstream first</em> was and is our motto, everything we do is and will be pushed upstream!</p>
<p>After all this, I am reluctant to give a new timeline for shipping the dev kits&#8230; What we know is that our new PCB fabrication here in the USA will be 11 business days. We will make over 300 of these boards, which are pretty complex—we have over 160 different parts and more than 500 components in total per board. This takes some time, even with the amazing SMT machines placing tiny parts (such as <a href="https://en.wikipedia.org/wiki/Surface-mount_technology#Rectangular_passive_components" target="_blank" rel="nofollow noopener">0201 SMD types</a>). I wouldn&#8217;t be able to place these by hand!</p>
<p>From testing the prototypes, it will probably take another week (probably two) until we can give the green light for PCB fabrication to begin, then about two weeks for them to be fabricated, and another week for production, assembly, testing and shipping. As you can see, with all that, we will likely roll into December. With that said however, we are doing our very best to ship out all boards in the early part of December, so that all backers should get their new toys well before the end of the year (given the shipping carriers don&#8217;t cause delays).</p>
<p>Thank you for all the active community development and tremendous support! See our video below on how these boards are being put together. Oh and by the way, we have a little <strong>survey</strong> for you, <strong>check out our <a href="/enterprise/" target="_blank" rel="noopener">enterprise</a> page</strong> if you&#8217;d like to help!</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-61256-62" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2018/11/making-the-dev-kit-video-poster.jpg" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/11/making-the-dev-kit.webm?_=62" /><a href="https://puri.sm/wp-content/uploads/2018/11/making-the-dev-kit.webm">https://puri.sm/wp-content/uploads/2018/11/making-the-dev-kit.webm</a></video></div>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-2018-11-hardware-report/">Librem 5 Development Kits: we are getting there!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/11/making-the-dev-kit.webm" length="16021226" type="video/webm" />
		</item>
		<item>
		<title>Apple is right about privacy, but wrong about freedom</title>
		<link>https://puri.sm/posts/apple-is-right-about-privacy-but-wrong-about-freedom/</link>
		<pubDate>Thu, 25 Oct 2018 16:45:32 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61214</guid>
		<description><![CDATA[<p>This has been a good week for keynotes about privacy and human rights, and a bad week for companies who make the bulk of their revenue by collecting and exploiting user data. First, on Monday, October 22nd, Purism&#8217;s CEO Todd Weaver spoke at All Things Open on &#8220;The Future of Computing and Why You Should [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/apple-is-right-about-privacy-but-wrong-about-freedom/">Apple is right about privacy, but wrong about freedom</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This has been a good week for keynotes about privacy and human rights, and a bad week for companies who make the bulk of their revenue by collecting and exploiting user data.</p>
<p>First, on Monday, October 22nd, Purism&#8217;s CEO Todd Weaver spoke at All Things Open on &#8220;The Future of Computing and Why You Should Care&#8221; where he highlighted how the drive for greater profits in big tech companies has led to a present where people&#8217;s rights are ignored while their data is captured and exploited. In this talk Todd introduced the idea of five fundamental digital rights critical to protect the future of computing:</p>
<ol>
<li><em><strong>Right to Change Providers</strong></em>: If a person wants to change a service provider, they can easily move to another (Decentralized Services).</li>
<li><em><strong>Right to Protect Personal Data</strong></em>: A person owns and controls their own master keys to encrypt all data and communication, nobody else (User-controlled Encryption).</li>
<li><em><strong>Right to Verify</strong></em>: Society has the freedom to inspect the source of all software used, and can run it as they wish, for any purpose (Software Freedom).</li>
<li><em><strong>Right to be Forgotten</strong></em>: A service provider only stores the minimal personal data necessary to provide the service. Once the data is no longer required, it is deleted (Minimal Data Retention).</li>
<li><em><strong>Right to Access</strong></em>: A person must not be discriminated against nor forced to agree to any terms and conditions before accessing a service (Personal Liberty).</li>
</ol>
<p>Then on Wednesday, October 24th, Apple&#8217;s CEO Tim Cook spoke at the International Conference of Data Protection and Privacy Commissioners and spoke out in favor of GDPR legislation and privacy as a human right and against what <a href="https://techcrunch.com/2018/10/24/apples-tim-cook-makes-blistering-attack-on-the-data-industrial-complex/">he termed the &#8220;data industrial complex.&#8221;</a> In the talk he laid out <a href="https://twitter.com/tim_cook/status/1055035534769340418">four principles of his own</a>:</p>
<ol>
<li>Companies should challenge themselves to de-identify customer data or not collect that data in the first place.</li>
<li>Users should always know what data is being collected from them and what it’s being collected for. This is the only way to empower users to decide what collection is legitimate and what isn’t. Anything less is a sham.</li>
<li>Companies should recognize that data belongs to users and we should make it easy for people to get a copy of their personal data, as well as correct and delete it.</li>
<li>Everyone has a right to the security of their data. Security is at the heart of all data privacy and privacy rights.</li>
</ol>
<h1>Apple is Right about Privacy</h1>
<p>First, we&#8217;d like to applaud Apple for joining Purism and other companies in speaking out in favor of user privacy and against the unethical data collection practices that fund so many tech companies. Having a high-profile company speak about privacy as a human right helps bring further awareness of these issues and puts even more pressure on big tech companies to change their practices. As more people become aware these issues, they hopefully will feel empowered to make decisions about what companies they want to support and what technology they want to use based on who best respects their rights.</p>
<p>The advent of the Internet as a universal medium for sharing information combined with an always-on and connected computer everyone carries with them and the prevalence of voice-operated computers in every home means that the steady stream of data every individual sends to big tech companies is <em>enormous</em> and hard to wrap your head around. It&#8217;s even harder for the average person to figure out just how that data is being used and abused. Yet when you look at the revenues for these big tech companies you can see one thing&#8211;<strong>this data is <em>valuable</em></strong>. The data is so valuable in fact, there&#8217;s no real incentive for these companies to change their practices on their own.</p>
<p>If you look at the four principles Tim Cook laid out, the first three largely can be summarized by Todd&#8217;s &#8220;Right to be Forgotten&#8221; digital right. Indeed, the way that the tech industry operates today means that people are not in control of their own data. Big tech companies capture as much data as they can and are continually coming up with new ways to capture more in the name of providing you more targeted advertising.</p>
<h1>Apple is Wrong about Freedom</h1>
<p>It&#8217;s in Tim Cook&#8217;s fourth principle where on the surface it seems Purism and Apple seem eye to eye (and on the surface we do) but when you dig into the principle our paths starts to diverge. Compare these two statements:</p>
<ul>
<li><strong>Purism: </strong><em><strong>Right to Protect Personal Data</strong></em>: A person owns and controls their own master keys to encrypt all data and communication, nobody else (User-controlled Encryption).</li>
<li><strong>Apple:</strong> Everyone has a right to the security of their data. Security is at the heart of all data privacy and privacy rights.</li>
</ul>
<p>We agree with Apple that security is at the heart of all data privacy and privacy rights. Where we disagree is in who holds the keys. <strong>Your data isn&#8217;t truly private or secure, if someone else holds the keys.</strong> It&#8217;s true that Apple goes to great lengths to lock down their devices from attackers, but like with Google and other proprietary vendors, those locks also <strong><em>lock you out</em></strong>. These devices tightly restrict what applications can run on them in the name of security, but that restriction conveniently also means that everyone has to get the vendor&#8217;s permission to install their software.</p>
<p>More importantly, these locks mean that you don&#8217;t have freedom or control. In fact, some device vendors are paid to install applications by default that you aren&#8217;t allowed to remove. You only have to look at the underground market of sketchy software that promises to &#8220;root&#8221; your phone to see the lengths that people have to go to so they can try to wrench control of their hardware back from vendors.</p>
<p>This isn&#8217;t just a hypothetical argument about freedom. Apple&#8217;s decision to hold all the keys to their hardware has real world impacts on freedom and human rights. Alex Stamos (Stanford professor, previously Chief Security Officer at Facebook) <a href="https://twitter.com/alexstamos/status/1055192744396709888">gives a great example</a> of the <a href="https://twitter.com/alexstamos/status/1055192744396709888">real world impacts</a> these locks can have:</p>
<blockquote><p>I agree with almost everything Tim Cook said in his privacy speech today, which is why it is so sad to see the media credulously covering his statements without the context of Apple&#8217;s actions in China. The missing context? Apple uses hardware-rooted DRM to deny Chinese users the ability to install the VPN and E2E messaging apps that would allow them to avoid pervasive censorship and surveillance. Apple moved iCloud data into a PRC-controlled joint venture with unclear impacts.</p></blockquote>
<h1>Real Privacy Depends on Freedom</h1>
<p>We agree that privacy is a human right, but you shouldn&#8217;t have to exchange your freedom for your privacy. We believe that <a href="https://puri.sm/posts/why-freedom-is-essential-to-security-and-privacy/">freedom is essential to security and privacy</a> and any solution that aims to secure your privacy must also protect your freedom. This means avoiding software solutions that restrict what you can do with your own devices and building security solutions that ensure that <a href="https://puri.sm/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/">you hold the keys</a>. Removing the freedom to control your own hardware and software, even if it&#8217;s in the name of security, (but more likely for vendor lock-in) is not enough to protect your rights.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/apple-is-right-about-privacy-but-wrong-about-freedom/">Apple is right about privacy, but wrong about freedom</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 general development report — October 15th, 2018</title>
		<link>https://puri.sm/posts/librem5-progress-report-21/</link>
		<pubDate>Mon, 15 Oct 2018 21:21:48 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61143</guid>
		<description><![CDATA[<p>Hi everyone! Phew, it has been a busy and exciting time these last several weeks. Here is a fairly detailed summary of the progress that has been made on the various pieces of the Librem 5 project. Conferences In person collaboration has taken place in a few different ways. There was a hackfest in Germany [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-21/">Librem 5 general development report — October 15th, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi everyone! Phew, it has been a busy and exciting time these last several weeks. Here is a fairly detailed summary of the progress that has been made on the various pieces of the Librem 5 project.<span id="more-61143"></span></p>
<h1>Conferences</h1>
<p>In person collaboration has taken place in a few different ways. There was a hackfest in Germany where many of the Librem 5 team members got together to hack, work, and bond. The <a href="https://las.gnome.org/conferences/LAS">Libre Application Summit</a> was also attended and a <a href="https://twitter.com/LASGNOME/status/1038536036501086209">talk given on the Librem 5</a>. It was also great that one of our developers was able to attend <a href="https://xdc2018.x.org/">XDC</a> and have some fruitful discussions with the <a href="https://swaywm.org/">wlroots</a> and <a href="https://www.pengutronix.de/de/">Pengutronix</a> folks.</p>
<h1>Design</h1>
<p>The software design continues to improve so that the developers have a look to strive for. Here are some of the latest designs:</p>
<ul>
<li><a href="https://gitlab.gnome.org/Teams/Design/os-mockups/tree/master/mobile-shell">Latest Shell mockups</a></li>
<li><a href="https://gitlab.gnome.org/Teams/Design/app-mockups/tree/master/messages">Latest Messages mockups</a></li>
<li><a href="https://gitlab.gnome.org/Teams/Design/settings-mockups/blob/master/cellular/cellular-panel-adaptive.png">Latest cellular settings mockups</a></li>
</ul>
<h1>Software Work</h1>
<h2>Images</h2>
<p>The images are still being built based off of Debian buster but now they can be <a href="https://source.puri.sm/Librem5/image-builder/merge_requests/26">built with PureOS as the base distro</a>. Also to clean up some cruft on the images, some <a href="https://source.puri.sm/Librem5/gen-sshd-host-keys">SSHd host key generation scripts have been added</a> to the image and the mass of dependencies moved into the <a href="https://source.puri.sm/Librem5/librem5-base">librem5-base</a> package.</p>
<p>As both the dev kits and phone will be based off of i.MX 8M SoM boards, much work has gone into bringing up the 4.18 kernel and <a href="https://arm01.puri.sm/job/Images/job/ec_som_image_build/">building images</a> for those future boards.</p>
<h2>Phosh</h2>
<p>In <a href="https://source.puri.sm/Librem5/phosh">phosh</a>, there have been many bugs fixed and the code has been cleaned up. Also an effort has gone towards translations, updating the German and French translations as well as <a href="https://source.puri.sm/Librem5/phosh/merge_requests/106/diffs">standardizing the po headers</a> to hopefully make it less confusing for new translators.</p>
<p>An <a href="https://source.puri.sm/Librem5/phosh/merge_requests/109">initial app switcher has been added</a> and initial <a href="https://source.puri.sm/Librem5/wlroots/merge_requests/16">touch based application switching has been added</a>.</p>
<p><img class="alignnone size-large wp-image-60876" src="https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-1024x576.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-600x338.png 600w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<p>The <a href="https://source.puri.sm/Librem5/phosh/merge_requests/129">top panel has been cleaned up</a>, which makes it look nicer as well as matching the design mockups a bit better.</p>
<p><img class="alignnone size-large wp-image-60877" src="https://puri.sm/wp-content/uploads/2018/10/top-panel-1024x576.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/10/top-panel-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/10/top-panel-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/10/top-panel-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/10/top-panel-600x338.png 600w" sizes="(max-width: 960px) 100vw, 960px" /><br />
If that isn&#8217;t enough, the <a href="https://source.puri.sm/Librem5/phosh/tags/v0.0.1">first release version (0.0.1) of phosh has been tagged</a>!</p>
<h2>GNOME Settings</h2>
<p>The <a href="https://wiki.gnome.org/Design/SystemSettings/">GNOME Settings</a> application <a href="https://twitter.com/KekunPlazas/status/1042805914946990080">has started being ported</a> to the Librem 5 and continues to be worked on.</p>
<h2>gnome-session/gnome-settings-daemon</h2>
<p>An upstream issue around starting gnome-session with debugging enabled <a href="https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/7/diffs">has been fixed</a>.</p>
<p>There&#8217;s been some plugin work as well. An <a href="https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/43">initial WWAN plugin</a> has been proposed upstream to handle SIM card PIN unlock.</p>
<p>This patched gnome-settings daemon as been <a href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/25">added to the images</a> until it&#8217;s upstreamed so that the SIM unlock stuff we proposed upstream is added to our image for the time being.</p>
<p><img class="alignnone size-large wp-image-60904" src="https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-1024x576.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-600x338.png 600w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<h2>Wlroots/Keyboard</h2>
<p>Some major improvements have gone into <a href="https://source.puri.sm/Librem5/virtboard">virtboard</a> recently. Among the many bugs fixed, a notable one is that the <a href="https://source.puri.sm/Librem5/virtboard/issues/2">display and scaling issues</a> have been corrected. The input-method-v2, text-input-v3, and significant glue has been added to virtboard and input-method-v2 is <a href="https://github.com/swaywm/wlroots/pull/1203">in the process of being upstreamed</a>. Virtboard now pops up and starts by default on the images and the keyboard has been improved to behave more as expected.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-61143-63" width="640" height="427" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/10/keyboard6.webm?_=63" /><a href="https://puri.sm/wp-content/uploads/2018/10/keyboard6.webm">https://puri.sm/wp-content/uploads/2018/10/keyboard6.webm</a></video></div>
<p>Similarly, some changes were upstreamed to wlroots and GTK+ in addition to what has already been mentioned. We <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/302">fixed some issues affecting virtual keyboards in GTK+</a>. It is important for cursor movements to be treated as relative to surfaces, not only the screen, so we made <a href="https://github.com/swaywm/wlroots/pull/1196">a patch</a> to do just this. There was also <a href="https://github.com/swaywm/wlroots/issues/725">an issue on tag generation</a> that has been <a href="https://github.com/swaywm/wlroots/pull/1196">fixed and submitted upstream</a>.</p>
<h2>Calls</h2>
<p>The <a href="https://source.puri.sm/Librem5/calls">Calls</a> application has also seen a lot of progress recently, with many bug fixes, audio work, and an ongoing makeover to the UI. Now <a href="https://source.puri.sm/Librem5/calls/merge_requests/5">GTK+ Inspector can be opened on the Calls flatpak</a>.</p>
<p>To prepare for the dev kits, a QMI-derived ModemManager driver for the SIMCom modems has been completed to mix QMI and the audio streaming AT commands and add call audio support. A <a href="https://source.puri.sm/Librem5/ModemManager/tree/debian/sid">Debian package of ModemManager has been created</a> that contains these call audio patches.</p>
<p>Since the modem used on the actual phone may be different from that of the dev kits, some initial testing has begun on the <a href="https://www.gemalto.com/m2m/solutions/modules-terminals/industrial-plus/pls8">Gemalto PLS8 modems</a>.</p>
<p>Also, a <a href="https://source.puri.sm/Librem5/calls/merge_requests/11">partial UI overhaul</a> of the Calls application has been done with more exciting UI changes to come!</p>
<p>There is a new daemon, <a href="https://source.puri.sm/Librem5/haegtesse">Hægtesse</a>, that has been written to ferry audio data between the modem and PulseAudio. The daemon has been integrated into our image builds to run on startup.</p>
<h2>Libhandy</h2>
<p>The <a href="https://source.puri.sm/Librem5/libhandy">libhandy</a> library has also seen quite a bit of change since the last progress report. Besides the many minor bugs fixed, there have been a couple of widgets added. A <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/105">HdyTitleBar widget was added</a> to workaround titlebar glitches, and a <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/119">HdyHeaderGroup widget was added</a> to automatically update all header bars. The existing <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/120">HdyLeaflet got an added fold property</a> too. To assist the community in playing with libhandy, the <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/101">libhandy example application has been updated with styling fixes</a> too.</p>
<p><a href="https://source.puri.sm/Librem5/libhandy/tags/v0.0.3">Libhandy 0.0.3 was released</a> and <a href="https://packages.debian.org/source/sid/libhandy">uploaded to Debian unstable</a> but a newer version, <a href="https://lists.puri.sm/pipermail/librem-5-dev/2018-October/000020.html">0.0.4, was just released</a> too.</p>
<p>It is really exciting to start to see libhandy being used in the wild too. <a href="https://wiki.gnome.org/Apps/Podcasts">Podcasts</a> is the first third-party app to ship with libhandy! Here&#8217;s a short video demonstrating libhandy&#8217;s progress and current behavior.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-61143-64" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/10/libhandy-bug-fixes.webm?_=64" /><a href="https://puri.sm/wp-content/uploads/2018/10/libhandy-bug-fixes.webm">https://puri.sm/wp-content/uploads/2018/10/libhandy-bug-fixes.webm</a></video></div>
<h2>GTK+</h2>
<p>Our close collaboration with the GTK+ team has led to a number of changes to separators among other things. There was a <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1286">selection-mode separator styling issue</a> reported and the <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/309">look of separators was improved</a> when separating two header bars in selection mode. Additional Adwaita fixes around separators, titlebar issues, and simplifying setting the selection mode <a href="https://gitlab.gnome.org/GNOME/gtk">got merged upstream</a>.</p>
<p>Other fixes and documentation changes were made upstream too. For example, a fix was included upstream around the <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/339">serial number while text-input is alive (needed for the keyboard)</a>.</p>
<p>And if you haven&#8217;t read it, take a look at <a href="https://honk.sigxcpu.org/con/GTK__and_the_application_id.html">Guido Gunther&#8217;s blog post on GTK+ and the application id</a>. This will likely be helpful to those of you planning to write flatpak applications for the Librem 5.</p>
<h2>Upower</h2>
<p><a href="https://upower.freedesktop.org/">Upower</a> is a good candidate of API that other programs might want to use to e.g. extract battery information so <a href="https://gitlab.freedesktop.org/upower/upower/merge_requests/10">several upstream documentation improvements were added</a>.</p>
<h2>Contacts</h2>
<p>The Contacts application needs to be made adaptive using libhandy so checkout the <a href="https://gitlab.gnome.org/Community/Purism/gnome-contacts/tree/wip/aplazas/adaptive" class="broken_link">adaptive fork of Contacts</a>. Changes are being submitted to upstream to eventually no longer need a fork. A simple <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/31">separator styling fix</a> and a simple <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/32">size requirement fix</a> were submitted upstream. The <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/33">app menu</a> and <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/34">online accounts shortcut</a> needed to be moved as well.</p>
<h2>Messaging</h2>
<p>The <a href="https://source.puri.sm/Librem5/purism-chatty">Chatty</a> application has some new additions and changes. Also Chatty can be built as a flatpak now too.</p>
<p>The &#8220;bubble-chat&#8221; view is being turned into a widget and a basic version of the msg-list widget has been finished and will be included in libhandy soon. Some GTK+ changes were needed to present libpurple conversations in separate chat-lists and the buddy list is now working too!</p>
<p>A libpurple plugin was tested for message logging into a SQLite database but in order for it to be useful, it will require replacing the libpurple logging functions with a custom logging-subsystem that supports the handling of SMS send-reports. There was some work done on a parser for purple log-files so that chat history is loaded into msg-bubbles now. So, the parser of the purple log-files is just a tentative solution to provide some chat history to the message-view for the time being.</p>
<p>We are currently working on the accounts-management. Some setup-screens have been introduced for registering XMPP accounts and for enabling/disabling them separately. Some work has also been done on the blist UI (formatting of the list entries, round icons, switching the font to bold when unread messages are available, added a timestamp) to make it look nicer.</p>
<h2>Kernel/mesa/etnaviv/libdrm</h2>
<p>As mentioned earlier, a newer CPU (i.MX 8) will be on the dev kits and phones versus what we started tinkering with (i.MX 6). Incidentally there has been a large effort towards bringing up a newer (4.18) kernel on the i.MX 8 CPU, as well as work done on etnaviv and mesa. Here are some of the progress highlights.</p>
<p>Since the dev kits and phones will have USB type-C power delivery, <a href="https://lkml.org/lkml/2018/9/11/614">a patch was sent upstream to the kernel</a> to support this.</p>
<p>Etnaviv now <a href="https://twitter.com/GuidoGuenther/status/1032898450180980736">mostly works</a> with our drm layer on arm64 and 4.18. Etnaviv was <a href="https://salsa.debian.org/xorg-team/lib/libdrm/merge_requests/1">enabled in Debian&#8217;s libdrm</a>. More offsets to sensitive states were <a href="https://lists.freedesktop.org/archives/etnaviv/2018-September/001953.html">added</a> to etnaviv to avoid warnings and a patch was <a href="https://github.com/etnaviv/etna_viv/pull/7">upstreamed</a> to allow the command parser to work.</p>
<p><a href="https://source.puri.sm/guido.gunther/mesa">Our mesa tree</a> is available for anyone to look at while patches are being merged upstream. The aarch64 builds of mesa have been <a href="https://lists.freedesktop.org/archives/mesa-dev/2018-August/203532.html">improved</a>. A patch for an rs alignment check was <a href="https://lists.freedesktop.org/archives/mesa-dev/2018-September/205347.html">proposed</a> and uncached mapping issues on arm64 were <a href="https://lists.freedesktop.org/archives/mesa-dev/2018-October/206131.html">addressed</a>.</p>
<p>We would like to thank the etnaviv maintainers of the Linux kernel, libdrm and mesa for their support since we&#8217;re building heavily on what was already there and they have been a big help in upstreaming these patches.</p>
<h2>Fractal</h2>
<p>Since we are also investing in the Fractal end-to-end (E2E) encryption effort, it is exciting to report that the E2E module in development supports basic functionality now and we could already start working on integrating it. There is still plenty of work to be done but we&#8217;re getting there.</p>
<h1>Hardware Work</h1>
<p>Our hardware engineers and Nicole are working closely with the team that will be assembling the dev kits. So all of the final prototype manufacturing files (prototype fabrication and assembly drawings from KiCad) were sent to assembly team. Nicole traveled to Carlsbad (California) to assist them in building, assembling, and testing of a small print run of dev kit prototypes, to verify the soundness of our electronics design. There have been some hiccups like components being lost in the mail and needed to be reacquired, but all obstacles have been overcome thus far! Assuming all goes well with the testing of these prototypes, the full print run of the final dev kits (that will be shipped to backers) will begin very shortly.</p>
<h1>Community Outreach</h1>
<p>The Librem 5 team continues to work with the Plasma team and is working towards building a Plasma image to be used on the dev kit. Currently, there are <a href="https://arm01.puri.sm/job/debs/view/Plasma%20Mobile/">Jenkins jobs to build necessary Plasma packages</a> and the Plasma team members are working with us to fix the failures.</p>
<p>The <a href="https://developer.puri.sm/">developer documentation</a> has seen some <a href="https://developer.puri.sm/Apps/GNOME/Gtk+.html" class="broken_link">updated GTK+ documentation</a> and a new code example.</p>
<p>Since we&#8217;ve received offers to help translating parts of the OS, we have begun to use a <a href="https://translate.zanata.org/">public Zanata instance</a> to enable community to contribute translations. Currently, the <a href="https://translate.zanata.org/project/view/phosh">phosh project is available on Zanata</a> for translation contributions and the other projects (libhandy, calls, chatty, virtboard) will be added soon.</p>
<p>A big &#8220;Thanks!&#8221; goes out to all of the external teams that have helped review and merge changes into upstream projects. Everyone’s time and contribution is much appreciated!</p>
<p>That’s all for now folks. Stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-21/">Librem 5 general development report — October 15th, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/10/keyboard6.webm" length="675926" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2018/10/libhandy-bug-fixes.webm" length="510796" type="video/webm" />
		</item>
		<item>
		<title>Adventures with coreboot and NVM Express storage</title>
		<link>https://puri.sm/posts/adventures-with-coreboot-and-nvm-express-storage/</link>
		<pubDate>Thu, 11 Oct 2018 23:11:21 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=17164</guid>
		<description><![CDATA[<p>Let me tell you how I made NVMe SSD support work on the first generation Librem laptops. This story is pretty old, from before the Librem 13 version 2 was even released, so it has been simplified and brought back to the current state of things as much as possible. The solutions presented here have [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/adventures-with-coreboot-and-nvm-express-storage/">Adventures with coreboot and NVM Express storage</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Let me tell you how I made <a href="https://en.wikipedia.org/wiki/NVM_Express" target="_blank" rel="noopener">NVMe</a> SSD support work on the first generation Librem laptops. This story is pretty old, from before the Librem 13 version 2 was even released, so it has been simplified and brought back to the current state of things as much as possible. The solutions presented here have been implemented a long time ago in our coreboot ports, but the technical insights you may derive from this post today should prove interesting nonetheless.<span id="more-17164"></span></p>
<p>During internal beta testing of the install script a while ago, we realized that coreboot didn&#8217;t work with our NVMe SSDs, as all my testing had been done with a SATA M.2 SSD. I spent some time fixing coreboot so that it would initialize the NVMe SSD, and SeaBIOS so it can boot from the NVMe drive, and then I&#8217;ve figured out how to fix the NVMe issues I&#8217;ve been having after linux boots.</p>
<p>The story began with my blog post about the <a href="https://puri.sm/posts/preventing-interference-from-the-old-bios-while-flashing-coreboot/">interference of the AMI BIOS</a> with coreboot. What I didn&#8217;t mention back then is that after I figured out the issue and managed to unbrick Francois&#8217; Librem, he wasn&#8217;t able to boot into his SSD from coreboot because it wasn&#8217;t getting detected. I then realized that he had an NVMe SSD and not a SATA SSD.</p>
<ul>
<li>A SATA drive is controlled using the SATA controller on the motherboard which talks to the SATA drive using 4 data lines.</li>
<li>A NVMe drive is actually a PCIe device all on its own, which could use up to 16 data lines (4 per lane and the <a href="https://en.wikipedia.org/wiki/M.2">M.2 specification</a> defines up to 4 lanes per device).</li>
</ul>
<p>If a SATA device is detected, then the integrated SATA controller will talk to the drive using the SATA protocol, if a PCIe device is detected, then the device will be initialized as any other PCIe device (like the Wifi module for example) and in the case of NVMe drives, the NVMe protocol will be used directly (without passing through an onboard controller) to communicate with the device.</p>
<p>With that knowledge, I figured out my simple mistake then: the PCIe port used for the M.2 connector is Port #6, which is a &#8220;Flexible I/O&#8221; which can be used for either SATA or PCIe according to the <a href="https://www-ssl.intel.com/content/dam/www/public/us/en/documents/datasheets/5th-gen-core-family-platform-i-o-datasheet.pdf">Intel Broadwell datasheet</a>. Unfortunately, in the Librem 13 coreboot configuration, the PCIe Port #6 was disabled (since it was never used, but that was only because I only ever tried a SATA drive). So <a href="https://review.coreboot.org/#/c/19446/4/src/mainboard/purism/librem13/devicetree.cb@a57">the fix </a>was simple: enable the PCIe port #6, and once coreboot initializes that PCIe port, the NVMe drive is initialized and working.</p>
<p>Francois tested this for me and confirmed he could boot on his drive. I needed to do my own tests however, so I ordered an NVMe drive (The Intel 600p Series SSD) and before I received it, someone (a regular Librem user) found and decided to test my script. With a lot of courage and determination, he was the first non-purism-employee beta tester of the coreboot install script and unfortunately, it didn&#8217;t work for him. While the coreboot install was fine, SeaBIOS wasn&#8217;t detecting his NVMe drive (he could boot into a live USB and flash back his Factory BIOS, so nothing to be alarmed about). I didn&#8217;t know why it worked for Francois but not for jsparber (our volunteer beta tester). I then realized that SeaBIOS itself didn&#8217;t have NVMe support, or more precisely, the NVMe support that was added to SeaBIOS was never tested outside of the qemu emulator, and was actually disabled for real hardware, so I enabled NVMe support for non-qemu hardware and sent the updated image to our beta tester who confirmed it to be working.</p>
<p>Why was it working for Francois if SeaBIOS didn&#8217;t have NVMe support, though? That&#8217;s a bit mysterious, but I think that his specific NVMe drive had some sort of SATA-compatibility mode in order to allow booting from older BIOS that don&#8217;t support NVMe devices.</p>
<p>Once I received my own NVMe SSD, I thought that it would just be a formality to get it to work, and indeed, it was detected by SeaBIOS but I couldn&#8217;t boot on it because it was still blank, so I tried to install PureOS on it. Unfortunately, that failed. I was getting an error halfway through the installation and the NVMe device was disappearing completely. My dmesg output had (among a flood of I/O errors) :</p>
<pre>nvme 0000:04:00.0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0xffff
nvme 0000:04:00.0: Refused to change power state, currently in D3
nvme nvme0: Removing after probe failure status: -19
nvme0n1: detected capacity change from 256060514304 to 0
</pre>
<p>After searching for a long time, I&#8217;ve found a few mentions of this error. At first, I thought that this <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1626894">lauchpad bug</a> was the one affecting me, but it was saying that it was fixed in kernel 4.4.0, and 4.8. The PureOS live USB was sporting kernel 4.7 back then, so I thought that maybe I needed a higher kernel version still. I tried to install Ubuntu 17.04, but it wouldn&#8217;t even boot, and then the Fedora 25 live USB would have the same issue, even though it had kernel 4.9.6. I decided to try the Archlinux installer, which had the 4.10.6 kernel, and I had the same problems, then I found this <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1678184">other bug</a> which says it might happen since kernel 4.10.0 had support for APST and some drives had quirks which made them fail when APST was enabled, but the fix here was simple, a kernel option at boot and the bug should disappear, so I tried it but no luck.</p>
<p>At that point, in order to remove coreboot from the equation, I had flashed back an AMI BIOS on my Librem, but I was still getting all these issues.</p>
<p>I gave up after a while, and I figured out that if it&#8217;s not a kernel issue, maybe it&#8217;s not a Linux issue at all, so I tried installing Windows on the NVMe, and the same issue happened again! &#8220;Well, if the problem happens with Windows and the factory BIOS, then there&#8217;s nothing I can do, the problem is with the drive itself, it&#8217;s defective! Right?&#8221;</p>
<p>While I was trying to find the original packaging to ship it back for a replacement, I had an idea: I put the NVMe drive in the Librem 13 v2 prototype that I had, and it worked! So I figured that the problem was with my own Librem 13 v1 which might have had defective hardware (maybe a scratch on the motherboard or something?)</p>
<p>However, for a week, while working on other things, I kept thinking that there <em>must</em> be something else I can do, that the issue can&#8217;t be as simple as &#8220;it&#8217;s a hardware issue&#8221;, but I didn&#8217;t know what more I could do if Windows+AMI Bios were failing, and the SSD itself was fine.</p>
<p>Then Francois told me that he was having issues with his Librem, where the NVMe device would &#8220;disappear&#8221;. This looked a lot like the problem I&#8217;ve been having, but for him, it wouldn&#8217;t happen within the first 5 minutes of use like me, it would happen after 48 hours instead, sometimes after putting the laptop to sleep, sometimes not—very unpredictable. Unfortunately, he had also reinstalled his system at the same time when he flashed coreboot, so this new problem could be coming from coreboot or from the new OS he installed—but lo and behold, after he flashed his original BIOS back, he was still having the same issue of his NVMe disappearing.</p>
<p>Since I don&#8217;t believe in coincidences, I decided to start my research again from scratch—forget all the various links and explanations and datasheets I found—and just looked at the problem from a blank slate. After I searched for the error I was getting again, I found <a href="https://forums.lenovo.com/t5/forums/v3_1/forumtopicpage/board-id/tp02_en/thread-id/75451/page/1">a post</a> on the Lenovo forums where someone was complaining about the same issue on their ThinkPad X270 and the thread was marked as &#8220;<em>SOLVED</em>&#8220;, so that was very promising. After reading through it, I found that the solution was a new <a href="http://support.lenovo.com/ca/en/downloads/ds120442">BIOS update</a> for the Lenovo X270 that fixed the problem. And when I looked at the <a href="https://download.lenovo.com/pccbbs/mobiles/r0iuj06ww.txt">changelog</a> of that update, this is what it said about NVMe support:</p>
<blockquote>
<pre>- (New) Disable NVMe L1.2
- (New) Disable NVMe CLKREQ</pre>
</blockquote>
<p>Now <em>that</em> was interesting… what was this &#8220;L1.2&#8221; and &#8220;CLKREQ&#8221;? I did some more research and I found <a href="https://www.plda.com/conquering-challenges-pcie-nvme-order-deliver-highly-competitive-enterprise-pcie-ssd">an article</a> that explained that L1.2 is simply a lower-power mode of operation for a PCIe device. Going back to the original dmesg output, I then realized that it said something very interesting about the drive and its power state:</p>
<pre>Refused to change power state, currently in D3</pre>
<p>According to this <a href="https://msdn.microsoft.com/en-us/library/windows/hardware/ff543186(v=vs.85).aspx">MSDN article</a>, the &#8220;D3&#8221; there refers to a device power state, and more precisely, D3 is the lowest power state of the device. That seems to coincide with the L1.2 PCIe state which is also the lowest power state. I&#8217;ve decided to do what Lenovo did and disable CLKREQ and L1.2 in the PCIe device. The CLKREQ seems to be used by the CPU or by the device to request activation of the clock and to allow exit of the L1.2. According to the PCI specification, I&#8217;ve found a <a href="https://pcisig.com/sites/default/files/specification_documents/MiniEx_M2_ECR_PERST_CLKREQ_Power-up-Reqts_20140918_Final.pdf" class="broken_link">document</a> that states :</p>
<blockquote><p>&#8220;The CLKREQ# signal is also used by the L1 PM Substates mechanism. In this case, CLKREQ# can be asserted by either the system or the device to initiate an L1 exit&#8221;</p></blockquote>
<p>The &#8220;L1 PM substates&#8221; is referring to that L1.2 (L1.1 and L1.2 are referred to as L1 substates, and &#8220;PM&#8221; here means &#8220;Power Management&#8221;), so my theory was that the drive goes into low power mode, and when it needs to get out of it, the CLKREQ should be used, but wasn&#8217;t working, causing the drive to never know that it needs to wake up. Disabling CLKREQ would fix it because some other mechanism would be used to wake the drive, or disabling L1.2 would also fix it because the drive would never go into that D3 low power mode.</p>
<p>I looked extensively at the <a href="https://www-ssl.intel.com/content/dam/www/public/us/en/documents/datasheets/5th-gen-core-family-platform-i-o-datasheet.pdf">Broadwell LP datasheet</a> and I saw that the CLKREQ for PCIe port #6 is multiplexed with GPIO 23, and looking at the gpio.h in coreboot for the Librem 13, I see GPIO 23 set as &#8220;INPUT&#8221;, while GPIO 18 and 19 (which are for PCIe ports #1 and #2) are set as &#8220;NATIVE&#8221;. So I&#8217;ve set GPIO 23 to NATIVE and tried it, but this made NVMe undetectable; coreboot was simply unable to detect anything on port #6, and I have no idea why. Not only do I not know what a &#8220;native&#8221; gpio means, but I also don&#8217;t know why changing it from input to native would cause the PCI bus scan to fail.</p>
<p>Either way, I&#8217;ve set it back to &#8220;INPUT&#8221; and tried to see how to disable CLKREQ from some PCI configuration. Unfortunately, the code in soc/intel/broadwell/pcie.c—which mentions &#8220;CLKREQ&#8221;—does things that I can&#8217;t understand, it modifies/sets PCI configuration values on offsets that don&#8217;t match anything in the datasheet and I have no idea if I&#8217;ve been reading the datasheet incorrectly or if the code is wrong somehow.</p>
<p>One simple example is this code snippet:</p>
<pre>/* Per-Port CLKREQ# handling. */
if (gpio_is_native(18 + rp - 1))
/*
* In addition to D28Fx PCICFG 420h[30:29] = 11b,
* set 420h[17] = 0b and 420[0] = 1b for L1 SubState.
*/
pci_update_config32(dev, 0x420, ~0x20000, (3 &lt;&lt; 29) | 1);</pre>
<p>First of all, it&#8217;s checking for the gpio to be native (which is what I did before without success), but it&#8217;s setting the PCI configuration at offset 0x420, but the only offset 0x420 I see in the <a href="https://www-ssl.intel.com/content/dam/www/public/us/en/documents/datasheets/5th-gen-core-family-platform-i-o-datasheet.pdf">datasheet</a> (page 736) is the &#8220;PCI Express* Configuration Register 3&#8221;:</p>
<blockquote>
<pre>Bit    Description

31:1   Reserved 
0      PEC3 Field 1—R/W. BIOS may set this bit to 1b</pre>
</blockquote>
<p>Possibly these 31 &#8220;Reserved&#8221; bits are only described in a confidential Intel document, but in any case I didn&#8217;t know what that code was doing and I wouldn&#8217;t know what to change to make it behave the way I want it to.</p>
<p>I eventually found that this low power mechanism is called &#8220;<a href="https://en.wikipedia.org/wiki/Active_State_Power_Management">ASPM</a>&#8221; and the cbmem output from coreboot had a line that said &#8220;ASPM: enabled L1&#8221; which didn&#8217;t match any string in that soc/intel/broadwell/pcie.c file, so after I searched for the &#8220;ASPM:&#8221; string, I found that there is code in device/pciexp_device.c which is what actually configures the ASPM on the device!</p>
<p>The code in pciexp_device is rather straightforward since it does this:</p>
<blockquote>
<pre>/* Check for and enable Common Clock */
if (IS_ENABLED(CONFIG_PCIEXP_COMMON_CLOCK))
    pciexp_enable_common_clock(root, root_cap, dev, cap);

/* Check if per port CLK req is supported by endpoint*/
if (IS_ENABLED(CONFIG_PCIEXP_CLK_PM))
    pciexp_enable_clock_power_pm(dev, cap);

/* Enable L1 Sub-State when both root port and endpoint support */
if (IS_ENABLED(CONFIG_PCIEXP_L1_SUB_STATE))
    pciexp_config_L1_sub_state(root, dev);

/* Check for and enable ASPM */
if (IS_ENABLED(CONFIG_PCIEXP_ASPM))
    pciexp_enable_aspm(root, root_cap, dev, cap);</pre>
</blockquote>
<p>Unfortunately, those configs for L1_SUB_STATE and CLK_PM are forced-enabled in the menuconfig of coreboot, so I couldn&#8217;t disable it (I had already noticed them before but couldn&#8217;t disable them), so I just changed the code to remove the line that calls the<br />
<em>pciexp_enable_clock_power_pm </em>function, and tested it. I could then see in the cbmem log that coreboot didn&#8217;t enable CLKREQ anymore, but the install was still failing, so I also removed the code that calls  pciexp_config_L1_sub_state, and tried again, and my installation was successful!</p>
<p>I had previously done around 50 installation attempts on that NVMe and the drive would always crash between 50% and 80% through the installation. With my new changes, I had now done 3 successive installs that went all the way to 100% without crashing a single time. This demonstrated that my changes worked, that disabling the CLKREQ+L1.2 substate on the NVMe drive fixed the issue. My &#8220;fix&#8221; was obviously not the most elegant way of solving the issue, but I was now happy to report that we would be able to use the NVMe drives.</p>
<p>Some users might be wondering whether not being able to put their NVMe drives into low power mode would affect battery life, and the answer is, &#8220;In theory yes&#8221;, but in practice the difference would be a very small percentage. Back then, I doubted anyone would actually notice it, and so far it seems nobody did, so it looks like the issue is fairly minor in the grand scheme of things.</p>
<p>Purism customers now had working NVMe support for their Librem laptops running coreboot, and this solved a big headache for our operations &amp; support team (who had temporarily put on hold all NVMe-based orders because of the bug, favouring the SATA-based laptop configurations as they were more reliable at that time).</p>
<p>Interestingly, this also meant that we had a superior user experience to similar laptops with a proprietary BIOS: users now had NVMe drives working with coreboot, NVMe drives that had never worked on the AMI BIOS we compared to!</p>
<p>During my testing of the install script, I had also tweaked some of the coreboot options and we had coreboot booting in about 350 miliseconds, which is a lot faster than the few seconds it took for the AMI BIOS to boot.</p>
<p>My fix was merged into coreboot in July 2017, via these <a href="https://review.coreboot.org/c/coreboot/+/19899">two</a> <a href="https://review.coreboot.org/c/coreboot/+/19900">patches</a> and <a href="https://review.coreboot.org/c/seabios/+/19443">this</a> patch to SeaBIOS.</p>
<h1>Some additional notes…</h1>
<p>One might wonder if a possible reason behind the problem could have been an error in the design of the motherboard on the first-generation librems where the CLKREQ signal wouldn&#8217;t be properly routed, though it doesn&#8217;t <em>look</em> that way according to the schematics, so I&#8217;m not entirely sure why it was happening after all. At least, the fix was &#8220;simple&#8221; enough, and it worked on the Librem 13 v1 I had available to test.</p>
<p>Interestingly enough, François&#8217; NVMe drive kept failing on his Librem 13 v1 after 2 to 3 days of use, even with my final fix. I was unable to figure out why that was still happening back then; why would his NVMe drive go into D3 power state if coreboot wasn&#8217;t enabling the L1.2 substate anymore? We eventually tabled the matter for a while as François switched to the newly released Librem 13 &#8220;version 2&#8221; a few weeks later. The answer came to me completely by chance, a year or so later, as I was looking through some PCIe code and saw that the PCIe device itself could have &#8220;L1.2 support&#8221; set even if it&#8217;s not enabled, so maybe his Linux kernel was enabling L1.2 if it saw that the device &#8220;supported&#8221; it. Unfortunately, by then, Francois wasn&#8217;t able to reproduce the issue on his NVMe drive anymore even with his old laptop, so it was impossible to test our hypothesis. The question of why he had started having those issues &#8220;all of a sudden&#8221; back then (when he didn&#8217;t encounter such issues before) shall remain a mystery!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/adventures-with-coreboot-and-nvm-express-storage/">Adventures with coreboot and NVM Express storage</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>In memory of James M. Rufer</title>
		<link>https://puri.sm/posts/in-memory-of-james-rufer/</link>
		<pubDate>Fri, 05 Oct 2018 13:18:16 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=60549</guid>
		<description><![CDATA[<p>Purism has lost an important voice. We are deeply saddened to learn that our colleague James M. Rufer has passed away on September 27th, 2018, at the age of 39. He is survived by his loving wife Mary; sons Xander and Paxton; mother-in-law Sylvia; and friends he made outside and inside Purism. James has been [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/in-memory-of-james-rufer/">In memory of James M. Rufer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism has lost an important voice. We are deeply saddened to learn that our colleague <a href="https://www.snyderfuneralhomes.com/obituary/james-m-rufer/" target="_blank" rel="noopener">James M. Rufer has passed away</a> on September 27th, 2018, at the age of 39. He is survived by his loving wife Mary; sons Xander and Paxton; mother-in-law Sylvia; and friends he made outside and inside Purism.</p>
<p>James has been with Purism since its early days, being the very first team member to join and has remained a dedicated, honest, hardworking chap who brought enjoyment to our lives daily.</p>
<figure id="attachment_60578" style="width: 960px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2018/09/2018-06-29.jpg"><img class="size-large wp-image-60578" src="https://puri.sm/wp-content/uploads/2018/09/2018-06-29-1024x674.jpg" alt="" width="960" height="632" srcset="https://puri.sm/wp-content/uploads/2018/09/2018-06-29-1024x674.jpg 1024w, https://puri.sm/wp-content/uploads/2018/09/2018-06-29-300x198.jpg 300w, https://puri.sm/wp-content/uploads/2018/09/2018-06-29-768x506.jpg 768w, https://puri.sm/wp-content/uploads/2018/09/2018-06-29-600x395.jpg 600w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">James meeting with us on his last birthday</figcaption></figure>
<p>Purism is a team of people located in all corners of the world, and those of us who have had the privilege to meet James in person know that his human qualities were a model to us all. James was one of the warmest, pure-hearted and kind people you can find, and had a passion for bringing ethical technology within the reach of the general public. I wish he lived on to see the long-term impact of his efforts on society.</p>
<figure id="attachment_60580" style="width: 960px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2018/09/2018-06-30-18.30.31.jpg"><img class="size-large wp-image-60580" src="https://puri.sm/wp-content/uploads/2018/09/2018-06-30-18.30.31-1024x575.jpg" alt="" width="960" height="539" srcset="https://puri.sm/wp-content/uploads/2018/09/2018-06-30-18.30.31-1024x575.jpg 1024w, https://puri.sm/wp-content/uploads/2018/09/2018-06-30-18.30.31-300x168.jpg 300w, https://puri.sm/wp-content/uploads/2018/09/2018-06-30-18.30.31-768x431.jpg 768w, https://puri.sm/wp-content/uploads/2018/09/2018-06-30-18.30.31-600x337.jpg 600w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">François and James casually chatting</figcaption></figure>
<p>James was the customer&#8217;s advocate as director of product, and also the cheerful voice of Purism on social media from 2016 to this day. If you have interacted with Purism on Twitter, Mastodon, Google+, Facebook and other outlets, know that in 99% of cases, you had been discussing with James. He was also the main writer behind the &#8220;Frequently Asked Questions&#8221; area of our website, and the shift in tone in our social media interactions when he took over in 2016 was largely thanks to him and his humane, down-to-earth <a href="https://puri.sm/posts/we-updated-our-frequently-asked-questions-why-it-may-be-more-important-than-you-think/" target="_blank" rel="noopener">approach</a>.</p>
<p>In recent months, James had been deeply involved in defining requirements and improvements to our current and future products.</p>
<p>More importantly, James was not just a close collaborator, he had quickly become a personal friend of mine. We shared the joys, the laughter and the burdens of moving mountains to fulfill our mission as a social purpose corporation taking on the world against all odds.</p>
<p>I and various Purism team members will be travelling to attend James&#8217; memorial service this Saturday.</p>
<p>In honor of James, we hope to engrave his name into the interior of the Librem 5 phone. We are working with his close family to support them in these difficult times. Additionally, we are giving James a special send-off and honoring his wife&#8217;s request by having James&#8217; remains sent to space in 2019 for his kids. It will be a farewell for him, and he will return to earth and burn up as a &#8220;shooting star&#8221;.</p>
<p>Goodbye James, you will be sorely missed.<br />
— Jeff</p>
<p>Many purists join me in mourning him, and some here wanted to add below a personal public statement to this effect.</p>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 2px;" />
<p>Mladen Pejaković said:</p>
<blockquote><p>Farewell James, I’ll miss our meetings and the fun and laugh we had. Rest in peace, dear colleague.</p></blockquote>
<p>David Seaward said:</p>
<blockquote><p>I finally got to meet James in person this year after working with him remotely. I had always admired his affability, warmth and respect for people, but was really blown away when I got to experience those qualities from him first-hand. I remember how lucky I felt to get to know such a great guy better. How lucky I felt that there was someone at work so capable of bringing those attributes which are all too often missing in our industry. I wish I could preserve that feeling and that memory in a bottle and leave it here for his children so that they could know what a humble and humane man their father was. I hope his family and friends know how much his colleagues appreciated him.</p></blockquote>
<p>Everyone in our finance team said:</p>
<blockquote><p>All is silent with James. Rest in peace, brother. Your colleagues here are dedicated to carrying our shared ideals to the four corners of the globe. A tribute to you and the life you led…</p></blockquote>
<p>Todd Weaver said:</p>
<blockquote><p>The universe is less bright without James in it and I will miss him immensely. He was a funny, thoughtful, and caring person who brightened up everything just by being present.</p></blockquote>
<p>Nicole Færber said:</p>
<blockquote><p>During a lifetime one meets a lot of people. Some you like to forget instantaneously again, some you are fine to work with but you don&#8217;t want them to be around more than necessary, some are good pals for a party, a hangout or a special occasion, some are great to talk to.</p>
<p>And then there are some people who you simply enjoy having around you whenever and wherever, who fill any room with kindness, understanding and empathy, who make you feel welcome, understood and accepted, unconditionally—this is what James was to me.</p>
<p>I had the honor and pleasure to work with James, mostly remote over the Internet, but still his positive energy could always be felt, even through the wires. Just a few weeks ago we finally had the pleasure to meet in person and enjoyed a wonderful time together with the team, which even further increased our bond.</p>
<p>James leaves a big hole in our hearts.<br />
Our thoughts are with his family now, his wife and children.</p>
<p>Farewell James, may peace be with you, we miss you. We will try our best to keep your spirit alive, but it will never be the same without you.</p></blockquote>
<p>François Téchené a dit:</p>
<blockquote><p>Thank you James. Thank you for having been such a great colleague, such a nice and bright person. Thank you for having been my friend. I am very proud to have been working with you, for the last three years, on making the world a better place. It feels empty without you. I will sincerely miss you. May you know peace forever.</p></blockquote>
<p>Zlatan Todorić said:</p>
<blockquote><p>James and I have been working together for nearly three years, so we had time to become friends. Even though we never met in person, I can say that James was a rare genuinely good, kind-hearted person. His presence in our chats, and his voice in our meetings were soothing to me. He will be dearly missed but he will live through-out our memories of him. His beliefs in a better world will continue to live in me forever. Thank you my friend for having presence in my life and may you watch over us wherever you are now.</p></blockquote>
<p>Heather Ellsworth said:</p>
<blockquote><p>James was always a pleasure to work with and had a wonderful way of making his team members around the world laugh. I feel fortunate to have been his teammate and he will always have a fond place in my thoughts. My deepest sympathies go out to the family in this difficult time and may they too find peace in their cherished memories.</p></blockquote>
<p>Kyle Rankin said:</p>
<blockquote><p>People in technology have a tendency to solve problems in a way that suits only their own selfish needs. But not James. The word advocate gets overused these days, to the point that it sometimes has lost its meaning. Yet James was a real and true advocate for technology working for everyone, not out of some cynical drive to grow market share, but because that&#8217;s where his heart was. He believed that technology should be accessible and intuitive, and he consistently pushed to improve everything we did with that in mind. Those fingerprints are in everything we have made so far. If only we had more people with a heart like James in technology, we would all be much better off.</p></blockquote>
<p>Chris Lamb said:</p>
<blockquote><p>Whilst I never had the privilege of meeting James in-person I will not quickly forget the many thoughtful conversations and interactions I had with him. That he appeared to make an immediate impact on everyone who was fortunate enough to have come across him, even through the oft-distancing medium of faceless and impersonal technology, is truly a credit to his character. My deepest sympathies towards his wife and his children.</p></blockquote>
<p>Theodotos Andreou wrote:</p>
<blockquote><p>Farewell beloved colleague. Purism will miss you.</p></blockquote>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/in-memory-of-james-rufer/">In memory of James M. Rufer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The Librem Key Makes Tamper Detection Easy</title>
		<link>https://puri.sm/posts/the-librem-key-makes-tamper-detection-easy/</link>
		<pubDate>Mon, 24 Sep 2018 14:38:35 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=59616</guid>
		<description><![CDATA[<p>From the beginning we have had big plans for the Librem Key. When we first announced our partnership with Nitrokey to produce the Librem Key all we could talk about publicly was the standard USB security token features it would have and some of the integration possibilities between the Librem laptop and Librem Key that [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-librem-key-makes-tamper-detection-easy/">The Librem Key Makes Tamper Detection Easy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>From the beginning we have had big plans for the Librem Key. When we <a href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">first announced our partnership with Nitrokey to produce the Librem Key</a> all we could talk about publicly was the standard USB security token features it would have and some of the integration possibilities between the Librem laptop and Librem Key that would make security easier for the average person. What we couldn&#8217;t say at the time was that we were also working toward making the Librem Key do something<strong> that doesn&#8217;t exist anywhere else</strong>&#8211;integrate it with the <a href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">tamper-evident Heads BIOS</a> to make it incredibly easy to tell whether your BIOS has been tampered with. In this post I&#8217;m going to talk about why we wanted to add this feature, some of the work that went into it, and dive into some of the technologies that are working behind the scenes to help you understand how it works.</p>
<p><img class="alignnone size-full wp-image-58985" src="https://puri.sm/wp-content/uploads/2018/09/librem-key-top-no-bg.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/09/librem-key-top-no-bg.png 960w, https://puri.sm/wp-content/uploads/2018/09/librem-key-top-no-bg-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/09/librem-key-top-no-bg-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/09/librem-key-top-no-bg-600x338.png 600w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<h1>Making Heads User Friendly</h1>
<p>Heads is an incredibly powerful and cutting edge project that takes the boot-time security protections you get with products like Secure Boot but using free software, reproducible builds, and <a href="https://puri.sm/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/">keys that are fully under your control</a>. We are working toward our goal of having Heads on all of our laptops by default, but when we started working on that effort we realized that the default user interface was definitely aimed more toward security experts. At the time, when you booted into Heads you got a console screen with a text menu. If Heads detected any issues, typically it would dump you to a recovery shell with some technical error output.</p>
<p>Since we think every user would benefit from the protections Heads provides, we have done a lot of work to bring <a href="https://puri.sm/posts/making-heads-more-usable-with-menus/">more user-friendly GUI menus to Heads</a>. We started with a console-based GUI and later added our own custom tool <a href="https://source.puri.sm/coreboot/fbwhiptail/">fbwhiptail</a> which uses the same syntax as the standard whiptail console menu tool used by Debian but outputs an <a href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">even more user-friendly GUI on a framebuffer</a>.</p>
<figure id="attachment_51209" style="width: 960px" class="wp-caption alignnone"><img class="size-large wp-image-51209" src="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-1024x576.png" alt="Default Heads Boot Menu" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-768x432.png 768w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">Default Heads Boot Menu</figcaption></figure>
<p>As we continued to work toward making Heads more user-friendly, we realized we had an opportunity with the Librem Key to add an incredibly powerful, secure, yet easy to use way to detect tampering that was much better than the default. Before we talk about where the Librem Key fits in, though, it&#8217;s important to understand how Heads detects tampering by default.</p>
<h1>How Heads Detects BIOS Tampering</h1>
<p>Heads uses the TPM in a computer as a standalone, trusted, tamper-proof chip it can use to store BIOS measurements and secrets. In my post <a href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">Demonstrating Tamper Detection with Heads</a> I walk through the full process but I will highlight some of the relevant points here.</p>
<p>The way Heads protects the BIOS from tampering is that when you first set up Heads, you store the current BIOS&#8217;s measurements into special registers in the TPM called PCRs (Platform Configuration Registers). At this time Heads also generates a random string and using the TPMTOTP tool originally created by Matthew Garrett it stores this secret in a special encrypted register in the TPM&#8211;this process is called <em>sealing.</em> The TPMTOTP tool also takes this secret and converts it into a QR code it displays on the screen. Then you can use a multi-factor authentication application on your phone to take a picture of this QR code and add this to any other multi-factor authentication secrets you manage.</p>
<p>The next time the system boots, measurements from every executable part of the boot process is sent by Heads to the TPM and stored in PCRs. Then Heads requests for the TPM to <em>unseal</em> the TPMTOTP secret it added previously. The TPM will only unseal that secret if all of the measurements in its PCRs match what it has stored from the valid, un-tampered-with BIOS. Once the secret is unsealed, Heads uses TPMTOTP to combine that secret with the current time and convert it into a 6-digit code. You then open up your multi-factor authentication application on your phone and compare the 6-digit code on your laptop screen with the 6-digit code on your phone. If both codes match, the BIOS hasn&#8217;t been tampered with. If the codes don&#8217;t match, either the time is off on either device, or someone has tampered with the BIOS or the TPM and generated and stored a new secret to replace the old one.</p>
<h1>Improving on TOTP Codes</h1>
<p>It&#8217;s important to note that Heads does not require you to verify the TOTP (Time-based One Time Password) code on the screen each time you boot. In fact it has no way of knowing whether you have or not&#8211;the whole point is that the laptop is <em>authenticating itself to you</em>, not the other way around. So there&#8217;s a good chance that your average user may not feel like going to the trouble of getting out their phone, launching an app, and inspecting the code each time they boot. Plus, this process requires that a user must have a smart phone that can run one of these apps. Users might test the code every so often but I imagine many would just hit Enter and boot their system more often than not.</p>
<p>We realized we could make the process more convenient and easier to use by taking the phone out of the equation or at least adding a Librem Key to the equation. While the Librem Key doesn&#8217;t have a screen like a phone, it does have a green and red LED. What could be easier than plugging in a USB device, booting the computer, and then inspecting the LED to see whether you are safe? By making it easy, users would be more likely to test their BIOS at each boot.</p>
<h1>HOTP to Trot</h1>
<p>Since we were working with Nitrokey to produce the Librem Key, we started collaborating with them on this feature. The first step was to think through how this authentication would work. Because the Librem Key doesn&#8217;t have a clock of its own, and we don&#8217;t want it to trust the clock on the laptop, we decided to use HOTP (HMAC-based One Time Password) instead of TOTP as our authentication protocol.</p>
<p>HOTP and TOTP are very similar to each other. In fact, you can argue that TOTP is just a specific implementation of HOTP. With HOTP both sides have a shared secret and initialize an always-incrementing counter. Each side combines its secret with the current counter value and generates an HMAC (hashed message authentication code) that in this case is converted into a 6-digit code. If the codes match, then one side has proven to the other that it has a copy of the shared secret and both sides will then increment their counter. With TOTP, you just exchange the always-incrementing counter with the current timestamp, typically rounded to 30-second increments.</p>
<p>For this to work we needed not only to change the firmware we were going to use for the Librem Key so that it could accept this special HOTP-over-USB authentication, we also needed a userspace tool that knew how to talk to the Librem Key. The end result after working with Nitrokey was a couple of changes to the firmware and a completely new userspace program called <a href="https://github.com/Nitrokey/nitrokey-hotp-verification">nitrokey-hotp-verification</a> that contains two command-line tools we needed to include in Heads, libremkey_hotp_initialize and libremkey_hotp_verification. The former tool will initialize the a Librem Key with the current HOTP secret and counter value and the latter performs various HOTP functions with the Librem Key including testing a 6-digit HOTP code.</p>
<h1>Heads, Meet Librem Key</h1>
<p>The next step was to add Librem Key support to Heads. This required quite a few UI changes, modifications to the default tools it used when generating new TOTP secrets, and adding libremkey_hotp_initialize and libremkey_hotp_verification command line tools within Heads itself. Instead of doing away with the TOTP code we are actually using the same exact TPM secret, just in addition to converting it into a TOTP code, we are also combining it with the incrementing counter to generate an HOTP code too. So when you tell Heads that you want to seal a new TOTP secret, if your version of Heads has Librem Key support enabled, in addition to showing you a QR code, it will also prompt you to insert your Librem Key and set up the secret there as well using the libremkey_hotp_initialize program.</p>
<p>The next time you boot, in addition to displaying the TOTP code in the menu as always, it also attempts to communicate with your Librem Key using the libremkey_hotp_verification tool. If the Librem Key isn&#8217;t inserted, it gets a specific error and warns the user that the key isn&#8217;t plugged in, but it doesn&#8217;t stop the user from booting. If the user then plugs in the key and tells Heads to regenerate the code, it can do a second test from the GUI. If you lose your Librem Key or leave it behind somewhere, <strong>you can always just fall back to the standard TOTP code + phone approach</strong> until you have a new Librem Key to enroll.</p>
<p>After Heads sends the Librem Key an HOTP code, if the code matches what the Librem Key itself generates, it will flash a green LED and return a success code to Heads to display on the laptop screen. If the HOTP codes <em>don&#8217;t</em> match, the Librem Key will flash a red LED indefinitely and also send a specific error back to Heads which will cause it to show a red background and error dialog. Note that <em>you shouldn&#8217;t trust</em> the Heads UI to display this error, it&#8217;s only for convenience. A modified UI could lie to you so <em>you should only trust the Librem Key LED</em> at this phase of the boot process.</p>
<h1>Demo Time</h1>
<p>Here&#8217;s a short demo video of the Librem Key testing a valid BIOS and then one that detects tampering with Heads.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-59616-65" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2018/09/heads-demo-edit.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="//videos.puri.sm/blog-posts/heads-demo-edit.mp4?_=65" /><source type="video/webm" src="//videos.puri.sm/blog-posts/heads-demo-edit.webm?_=65" /><a href="//videos.puri.sm/blog-posts/heads-demo-edit.mp4">//videos.puri.sm/blog-posts/heads-demo-edit.mp4</a></video></div>
<p>To simulate tampering, I just generate a brand new TOTP/HOTP secret in the TPM with the Librem Key unplugged. Since the Librem Key has the old secret, it will generate a completely different 6-digit HOTP code and take that as an error.</p>
<h1>Anti-Interdiction Protection and The Future of Librem Key and Heads Integration</h1>
<p>As I mentioned in the <a href="https://puri.sm/posts/introducing-the-librem-key/">Introducing the Librem Key</a> post, having the Librem Key vouch for the integrity of the BIOS opens up a lot of opportunities for more advanced anti-interdiction protection for those customers who are concerned about that risk. The way this would work, we would configure a Librem Key and Librem laptop running Heads before shipping and then ship the two packages separately. The idea here is that it would be more difficult for an attacker to interdict both packages than just one.</p>
<p>Then when you unbox everything, you can immediately test the integrity of your machine before you do anything else. At that point you could also generate completely new secrets between Heads and the Librem Key so there&#8217;s not even a chance we could have a copy of your secrets&#8211;<strong>the keys are under your control</strong>. For customers willing to wait, we could even ship the Librem Key first and only ship the laptop after they acknowledge receipt of the Librem Key. With delayed shipping you would have even more assurance that someone wouldn&#8217;t be able to modify both the Librem Key and laptop in transit.</p>
<p>If you can&#8217;t tell, we are very excited about all of the possibilities the Librem Key opens up to us to better protect you and your secrets, while still keeping security convenient and your keys in your own control. Stay tuned: as we unlock even more features in the Librem Key we&#8217;ll be sure to post about it here.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-librem-key-makes-tamper-detection-easy/">The Librem Key Makes Tamper Detection Easy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Introducing the Librem Key</title>
		<link>https://puri.sm/posts/introducing-the-librem-key/</link>
		<pubDate>Thu, 20 Sep 2018 15:03:39 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=58801</guid>
		<description><![CDATA[<p>A few months ago we announced that we were partnering with Nitrokey to produce a new security token: the Librem Key and I&#8217;m pleased to announce that today the Librem Key is available for purchase on our site for $59. What is a USB Security Token? In case you haven&#8217;t heard of USB security tokens [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-the-librem-key/">Introducing the Librem Key</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A few months ago we announced that <a href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">we were partnering with Nitrokey to produce a new security token: the Librem Key</a> and I&#8217;m pleased to announce that today the Librem Key is <a href="https://puri.sm/products/librem-key">available for purchase on our site</a> for $59.</p>
<p><img class="alignnone size-full wp-image-58984" src="https://puri.sm/wp-content/uploads/2018/09/librem-key-shadow-bg.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/09/librem-key-shadow-bg.png 960w, https://puri.sm/wp-content/uploads/2018/09/librem-key-shadow-bg-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/09/librem-key-shadow-bg-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/09/librem-key-shadow-bg-600x338.png 600w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<h1>What is a USB Security Token?</h1>
<p>In case you haven&#8217;t heard of USB security tokens before, they are devices typically about the size of a USB thumb drive that can act as &#8220;something you have&#8221; for multi-factor authentication. With so many attacks on password logins, most security experts these days recommend adding a second form of authentication (often referred to as &#8220;2FA&#8221; or &#8220;multi-factor authentication&#8221;) in addition to your password so that if your password gets compromised the attacker still has to compromise your second factor. USB security tokens work well as this second factor because they are &#8220;something you have&#8221; instead of &#8220;something you know&#8221; like a password is, and because they are portable enough you can just keep them in your pocket, purse, or keychain and use them only when you need to login to a secure site.</p>
<p>In addition to multi-factor authentication, security tokens can also often store your private GPG keys in a tamper-proof way so you can protect them from attackers who may compromise your laptop. With your private keys on the security token, you can just insert the key when you need to encrypt, decrypt, sign, or authenticate and then type in your PIN to unlock the key. Since your private keys stay on the security token, even if an attacker compromises your computer, they can&#8217;t copy your keys (and even if you leave the key plugged in, they need to know your PIN to use it).</p>
<h1>Why Make a Librem Key?</h1>
<p>There are many other vendors out there who offer their own security tokens, so why make our own? The first reason is that few security tokens out on the market align with our values here at Purism, in particular with respect to freedom. I&#8217;ve explained in a previous post <a href="https://puri.sm/posts/why-freedom-is-essential-to-security-and-privacy/">why freedom is essential to security and privacy</a> and this is especially true for a device that is holding some of your most sensitive secrets. We wanted a security token that used open hardware, free software firmware, and free software user applications and that is why we partnered with Nitrokey to produce a security token that respected your freedom from the beginning.</p>
<p>We also wanted to make the Librem Key because of all of the integration possibilities with our existing products that would make customers more secure in a way that&#8217;s also more convenient. When you can bundle a security token with your own laptop and operating system, there are so many interesting possibilities, especially when the firmware and user applications are free software so we can easily modify them to add even more features.</p>
<p>In addition to the standard features of a security token (GPG key storage and multi-factor authentication) that the Librem Key can perform on any computer, here are some of the interesting integration options with our Librem laptops we are already looking into with the Librem Key that will make security much more convenient for users who are facing average threats:</p>
<ul>
<li>Insert the Librem Key at boot and automatically decrypt your hard drive</li>
<li>Automatically lock your laptop whenever you remove the Librem Key</li>
<li>Use your Librem Key to log in</li>
</ul>
<h1>Provable Security, Made Easy</h1>
<p>One of the <em>most</em> exciting opportunities the Librem Key opens up to us is in integrating with our <a href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">tamper-evident Heads BIOS</a> to provide cutting-edge tamper-evident security but in a convenient package that <strong>doesn&#8217;t exist anywhere else</strong>.</p>
<p>Currently with Heads, when you want to prove that the BIOS hasn&#8217;t been tampered with, you need to set up a TOTP application on your phone and scan a QR code from within Heads. Then at each boot you compare the 6-digit code Heads displays on the screen with the code in your phone. If the codes match, the BIOS is safe. This method works but is a bit cumbersome and with the Librem Key we can do better.</p>
<p>We have worked with Nitrokey to add a custom feature to our Librem Key firmware specifically for Heads. This custom firmware along with a userspace application allows us to store the shared secret from the TPM on the Librem Key instead of on a phone app. Then when Heads boots, if the BIOS hasn&#8217;t been tampered with the TPM will unlock its copy of the shared secret, and Heads will send the 6-digit code over to the Librem Key. If the code matches what the Librem Key itself generated, it flashes a green light. If the codes don&#8217;t match, it flashes a red light.</p>
<p>So if you are concerned about someone tampering with your computer when you aren&#8217;t around, just boot with the Librem Key inserted. If it blinks green you are safe, if it blinks red you&#8217;ve been tampered with. <strong>There is no other product on the market today</strong> that offers this kind of simple but strong tamper-evident protection, much less one that respects your freedom where the keys are fully in your control.</p>
<h2>Even Stronger Anti-Interdiction Protection</h2>
<p>The Librem Key opens up possibilities for even stronger anti-interdiction protection for customers who need it. We will be able to link a Librem Key with a laptop running Heads at our facility and then ship them separately. Then when each package arrives you can immediately test for tampering with an easy &#8220;green is good, red is bad&#8221; test.</p>
<h1>Convenient Security for the Enterprise</h1>
<p>Many companies have already incorporated 3rd party security tokens into their engineering teams as a way for software engineers to sign their code pushes securely or as convenient multi-factor token. The Librem Key offers enterprises a way to combine all of the other features they are used to with other security tokens along with our cutting-edge tamper-evident boot process on our Librem laptops in an easy and convenient package where all of the keys are fully under their control.</p>
<p>Since the firmware and userspace tools are free software, that means enterprises can also easily customize these tools to suit their own internal policies whether with their own software teams or by working with Purism. That could mean anything from providing a customized error page to employees when Heads detects tampering to actively preventing employees from booting a tampered-with machine.</p>
<h1>Only the Beginning</h1>
<p>Knowing that our customers have a secure and freedom-respecting security token opens up all sorts of other possibilities and today we are only scratching the surface on what we will be able to do with Librem Key both for new customers and those that have been with us from the beginning. Stay tuned for future posts where I will dive deeper into some of the Librem Key&#8217;s features and explain how to get the most out of it. In the mean time you can order your own Librem Key from the <a href="https://puri.sm/products/librem-key">Librem Key product page</a>.</p>
<p><strong>Update:</strong> read more in our <a href="https://puri.sm/posts/the-librem-key-makes-tamper-detection-easy/">follow-up post</a> explaining the interaction between the Librem Key and our coreboot+Heads BIOS replacement to learn more about how the tamper detection works.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/introducing-the-librem-key/">Introducing the Librem Key</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism launches Librem Key, the first and only security key to offer tamper evident protection to laptop users</title>
		<link>https://puri.sm/posts/purism-launches-librem-key-only-security-key-to-offer-tamper-evident-protection/</link>
		<pubDate>Thu, 20 Sep 2018 15:00:41 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=59326</guid>
		<description><![CDATA[<p>New OpenPGP smart cards now available for purchase on Purism’s website SAN FRANCISCO, Calif., September 20, 2018 — Purism, the social purpose corporation which designs and produces popular digital rights respecting hardware, software, and services, has launched its new security token, the Librem Key, which is the first and only OpenPGP smart card providing a [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-launches-librem-key-only-security-key-to-offer-tamper-evident-protection/">Purism launches Librem Key, the first and only security key to offer tamper evident protection to laptop users</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p align="center"><span style="color: #171717;"><i>New </i></span><i>OpenPGP smart cards now available for purchase on Purism’s website</i></p>
<p>SAN FRANCISCO, Calif., September 20, 2018 — Purism, the social purpose corporation which designs and produces popular digital rights respecting hardware, software, and services, has launched its new security token, the Librem Key, which is the first and only OpenPGP smart card providing a Heads-firmware-integrated tamper-evident boot process. The new Librem Key, built with Open Hardware USB OpenPGP security tokens from Nitrokey, can store up to 4096-bit RSA keys and up to 512-bit ECC keys and can securely generate them directly on the device. <a href="https://puri.sm/products/librem-key/">Librem Keys</a> are now available for purchase on Purism’s website<b>,</b> with Librem laptops or as a single order. Librem Keys will be able to provide basic security token functions on any laptop, but have extended features that work exclusively<!-- Librem Keys will be able to perform all of the below "generic security tokens" features on any laptop. On our laptop (and any other laptop that supports Heads) they also provide that ability to integrate with tamper-evident boot. --><!-- made edits on this feedback - thanks --> with Purism’s Librem laptop line and other devices that support Trammel Hudson’s <a href="http://osresearch.net/">Heads</a> security firmware.<span id="more-59326"></span></p>
<p>Purism developed the Librem Key through its <a href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">partnership with Nitrokey</a>. This integration allows Librem laptop users to add unprecedented protection to their device through a key they can insert at boot time to ensure the user is right where they left off without any tampering. Once inserted, if the key blinks green, then you’re right where you left off. If it blinks red, it signals tampering has occurred. The key is fully equipped to integrate with the Librem’s secure boot process with Heads-enabled TPM detailing the tamper evidence. The key enables users to directly test if someone has tampered with the software on their computer starting at the boot level.</p>
<p>With Librem Key, IT departments will have an integrated out-of-the-box solution for disk and email encryption, authentication, and tamper-evident boot security that’s easy to use.</p>
<p>In addition to its industry leading tamper evidence capabilities, the Librem Key also offers the standard security features available in generic security tokens:</p>
<ul>
<li>Securely store user GPG encryption/signing keys to make it easier to use their keys in a secure way across devices</li>
<li>Store authentication GPG keys you can use for Secure Shell (SSH)</li>
<li>Using One-Time-Passwords (OTP) to login to websites or for two factor authentication (2FA)</li>
</ul>
<p>Eventually, Purism plans to expand the Librem Key’s features to even further empower users to securely control their devices, such as:</p>
<ul>
<li>Detecting tampering during shipping with tamper-evident boot enabled and configured on the laptop and Librem Key and each device shipped separately</li>
<li>Unlocking disk encryption (instead of having to enter a passphrase) when the Librem Key is inserted at boot</li>
<li>Locking the screen whenever the Librem Key is removed</li>
<li>Automatically logging the user into their desktop when the Librem Key is inserted</li>
</ul>
<p>The launch of Librem Key furthers Purism’s mission to make security and cryptography accessible where its customers hold the keys to their own security. This launch arrives amid <a href="https://motherboard.vice.com/en_us/article/mb4zy3/transparency-google-titan-security-keys-china">growing demand for heightened protection expectations from security key manufacturers</a>.</p>
<blockquote><p>“Purism&#8217;s work to make coreboot measured against an external security token is the realization of a dream we&#8217;ve had since 2005,&#8221; says Ron Minnich, <a href="https://en.wikipedia.org/wiki/Coreboot" target="_blank" rel="noopener">coreboot</a> Founder.</p>
<p>“It’s not feasible or healthy to monitor your computing devices every second &#8211; and that’s especially the case when you travel,” says Kyle Rankin, Chief Security Officer at Purism. “With the Librem Key, we are giving Librem users the keys to completely lock their computer if they’re in an unfamiliar network environment in the same way one would want to have the keys to their car if they needed to drive to<!-- "park in" instead? --> an unfamiliar neighborhood.”</p>
<p>&#8220;Your privacy is dependent on your freedom. We believe that having true privacy means your computer and data should be secure whether you are with your device or not,&#8221; says Todd Weaver, Founder and CEO of Purism. “As we look forward to shipping Heads by default<!-- I (Todd) would like to see Heads by default, even if it is *not used* by default (e.g. just bypass it when not setup). Isn't that possible? --><!-- I (Kyle) also ultimately want Heads installed by default, but the UX is still immature enough that we need to go through a round with the community where more expert-level users hammer on it first and work out bugs before we unleash it on everyone. We need to work out things like how it handles USB boot at the moment (hard-coded to a single device, which is a problem if you add a 2nd drive), problems that are just part of Heads and need more development work to make easier. --><!-- made edits to reflect feedback -->, the Librem Key combined with the rest of our security features will give users the peace of mind that their data is safer than it would be on any other laptop on the market.”</p></blockquote>
<p>With Purism enabling users to leverage the Heads integrated TPM chip in new Librem 13 and Librem 15 orders moving forward<!-- See above comment -->, they will also have the option of purchasing a Librem Key by itself or as an add-on with a laptop order. For future add-on orders, Purism plans to pre-configure the Librem Key at the factory<!-- We plan on enabling this in the future, but still waiting on upstream developers to add certain features to Debian so this feature will not be available at launch. We should restate as something we plan to do soon --><!-- made edit to reflect feedback --> to act as an easy-to-use disk decryption key and ship laptops that are pre-encrypted. Customers will also be able to replace the factory-generated keys with their own at any time.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-launches-librem-key-only-security-key-to-offer-tamper-evident-protection/">Purism launches Librem Key, the first and only security key to offer tamper evident protection to laptop users</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 general development report — September 6th, 2018</title>
		<link>https://puri.sm/posts/librem5-progress-report-20/</link>
		<pubDate>Thu, 06 Sep 2018 19:10:27 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=57997</guid>
		<description><![CDATA[<p>Conferences Some of the Purism team members attended Akademy 2018 in Vienna. This conference facilitated further discussions with KDE developers and it was nice to meet everyone in person! We would like to express our gratitude to @Puri_sm, not only for sponsoring #Akademy2018, but also for working with our developers so we can have a [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-20/">Librem 5 general development report — September 6th, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1>Conferences</h1>
<p>Some of the Purism team members attended Akademy 2018 in Vienna. This conference facilitated further discussions with KDE developers and it was nice to meet everyone in person!</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">We would like to express our gratitude to <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a>, not only for sponsoring <a href="https://twitter.com/hashtag/Akademy2018?src=hash&amp;ref_src=twsrc%5Etfw">#Akademy2018</a>, but also for working with our developers so we can have a Plasma Mobile-based smartphone soon.</p>
<p>&mdash; Akademy (@akademy) <a href="https://twitter.com/akademy/status/1031571561377984512?ref_src=twsrc%5Etfw">August 20, 2018</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>There were also some team members that attended <a href="https://www.froscon.de/en/">FrOSCon</a>. Coming up, we have <a href="https://allthingsopen.org/speakers/todd-weaver/" target="_blank" rel="noopener" class="broken_link">Todd presenting at AllThingsOpen</a>, and <a href="https://2018.capitoledulibre.org/">Capitole du Libre</a> where François and Adrien will be manning a booth (so be sure to stop by and say bonjour if you&#8217;re there).</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">We&#39;re excited to have Todd Weaver, Founder &amp; CEO of <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@puri_sm</a>, presenting at <a href="https://twitter.com/hashtag/AllThingsOpen?src=hash&amp;ref_src=twsrc%5Etfw">#AllThingsOpen</a>! <a href="https://t.co/FXc3M9ENwi">https://t.co/FXc3M9ENwi</a> <a href="https://t.co/piFRSZ5WOL">pic.twitter.com/piFRSZ5WOL</a></p>
<p>&mdash; All Things Open (@AllThingsOpen) <a href="https://twitter.com/AllThingsOpen/status/1034611592028205057?ref_src=twsrc%5Etfw">August 29, 2018</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<h1>Design</h1>
<p>More improvements have been made to the shell mock-ups and those should be complete soon! Also some exciting new icons are on the horizon and we will use them early in our development builds and on the apps shipping with the phone; GNOME&#8217;s new icons are slated for inclusion in the 3.32 release in 2019.</p>
<h1>Software Work</h1>
<h2>Images</h2>
<p>Now the <a href="https://source.puri.sm/Librem5/image-builder/merge_requests/40">qcow2 images are archived</a> as well as the raw image file. This makes the x86_64 VM image more accessible to those &#8220;can&#8217;t wait&#8221; to try things out today, or who haven&#8217;t ordered a development board. You can find the most recent builds and build artifacts <a href="https://arm01.puri.sm/job/Images/job/Image%20Build/">here</a>. See below for a demo of rotation in the qcow2 image. Also, <a href="https://source.puri.sm/Librem5/image-builder/merge_requests/39">a couple of packages have been added to the images</a> to enable the resizing of the rootfs to fill the partitioned space.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-57997-66" width="640" height="798" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/08/L5-qcow2-rotation.webm?_=66" /><a href="https://puri.sm/wp-content/uploads/2018/08/L5-qcow2-rotation.webm">https://puri.sm/wp-content/uploads/2018/08/L5-qcow2-rotation.webm</a></video></div>
<p>We are now <a href="https://arm01.puri.sm/job/plasma-debs/">transforming Plasma Mobile&#8217;s Debian packaging</a> into <a href="https://source.puri.sm/Librem5/Plasma">git repositories suitable for our build jobs</a> and <a href="https://arm01.puri.sm/job/debs/view/Plasma%20Mobile/">building them</a>. These packages will eventually be included in a Plasma Mobile Librem 5 image. There is ongoing work with upstream Plasma developers to resolve the remaining build issues.</p>
<h2>Phosh</h2>
<p>Many fixes and tweaks have occurred in phosh in the last few weeks. <a href="https://source.puri.sm/Librem5/phosh/merge_requests/93">Size calculations have been fixed</a> (and therefore menu positions) on scaled displays with custom modes. The <a href="https://source.puri.sm/Librem5/phosh/merge_requests/94">German translation</a> has been updated. <a href="https://source.puri.sm/Librem5/phosh/merge_requests/96">Now a login shell is used when we launch gnome-session</a>, which ensures XDG_* is set up correctly so icons of flatpak applications are correctly recognized by phosh. To make phosh more robust, more <a href="https://source.puri.sm/Librem5/phosh/merge_requests/100">compile warnings were enabled</a> and the resulting errors were addressed.</p>
<h2>gnome-settings-daemon</h2>
<p>To lay the ground work for configuring your modem, an <a href="https://gitlab.gnome.org/GNOME/gnome-settings-daemon/issues/70">upstream discussion</a> has been started to discuss how gnome-settings-daemon should behave regarding modems.</p>
<h2>Wlroots</h2>
<p>Wlroots was known to crash when phosh reconnects and that has been <a href="https://source.puri.sm/Librem5/wlroots/issues/11">fixed</a>. We also continue to keep wlroots up to date with new upstream snapshots.</p>
<h2>GTK+ 4 and libhandy</h2>
<p>Since the compositor and GTK+ need to work well together, an issue was fixed to <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/284">make the xdg-shell&#8217;s app_id match GApplication&#8217;s application-id property</a>. This makes it simpler for compositors to match applications to desktop files in Wayland.</p>
<p>Among the many fixes in libhandy recently, it has been made more robust during builds to <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/86">now fail on warnings</a>. There are three GTK+ bugs that currently affect the ability to create adaptive UIs that have been brought up with the upstream developers: a <a href="https://source.puri.sm/Librem5/libhandy/issues/21">non-rounded corner issue</a>, an <a href="https://source.puri.sm/Librem5/libhandy/issues/22">off-screen popover issue</a>, and an issue that causes <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1231">the separator to sometimes be transparent</a>. For the separator issue, <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/268">a solution has been proposed</a> as well. There is ongoing work upstream on the separator to <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1286">add a selection mode variant</a> and <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1265">make adding a separator less complicated</a> that is quite necessary to have cleanly defined panels in HdyLeaflet. Furthermore, the libhandy flatpak runtime (org.gnome.Platform) has been <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/92">updated from 3.26 to master</a> so we can be on the bleeding edge.</p>
<h2>Keyboard</h2>
<p>On the OSK front, the text-input-v3 patch-set has been included in <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/commit/?id=db152d7c6f53adb60db8dfc046604a487002d927">wayland-protocols</a> and <a href="https://gitlab.gnome.org/GNOME/gtk/commit/77b4c4432effe889d3dd7b54c58be7adaae445af">gtk-3.24</a>. The preliminary support of text-input-v3 has also been <a href="https://source.puri.sm/Librem5/wlroddots/commits/text_input_rebase">added to wlroots</a>. Additionally, the virtual-keyboard protocol patch has been updated and <a href="https://lists.freedesktop.org/archives/wayland-devel/2018-August/039239.html">is in review</a>. There has even been an <a href="https://lists.freedesktop.org/archives/wayland-devel/2018-August/039255.html">input-method-v2 protocol RFC</a> posted. So get ready to type on your virtual keyboard!</p>
<h2>Calls and messaging</h2>
<p>Since the decision to implement a ModemManager back-end to the Calls application, some changes were needed to Calls. To give ModemManager more privileges, some <a href="https://source.puri.sm/Librem5/librem5-themes/merge_requests/3">policy kit files were created</a>. To improve the UI of Calls, <a href="https://source.puri.sm/Librem5/calls/merge_requests/7">some of the Calls display code was cleaned up</a> and <a href="https://source.puri.sm/Librem5/calls/merge_requests/11">made the Calls UI closer to the final design</a>.</p>
<p>New and exciting things are on the horizon for the Messaging app. A new SMS libpurple-plugin has begun development and testing is ongoing with the Pidgin-Debug window to check if the ModemManager interface works. Work is advancing to glue the Chatty GTK+ objects to libpurple UiOps structs and signals for conversation handling. A <a href="https://puri.sm/posts/librem5-progress-report-19/">blog post on Chatty</a>—complete with a demo video—has just been published so go read it if you haven&#8217;t already!</p>
<h2>Kernel</h2>
<p>A significant effort has been put in to make the 4.18 kernel work with the devkit SoM. In order to help debug kernel hangs, some work was done on <a href="http://openocd.org/">openocd</a> like adding a board configuration for the particular board that will be used on the dev kits and <a href="http://openocd.zylin.com/#/c/4647/">warn when the CPU is not halted by invoking phys2virt</a>. The openOCD folks were a great help on this effort!</p>
<p>Efforts continue on other pieces of the kernel too. Work continues on the power supply driver for the battery charger with upstream kernel developers and should be accepted soon. USB 2 has been tested and is working. There were also some clock issues that were resolved and both SDMA and RTC are both now working as well.</p>
<h1>Hardware Work</h1>
<p>The Purism hardware team has sent out the manufacturing files for PCB fabrication and assembly of the prototypes. The files are currently under review.</p>
<h1>Community Outreach</h1>
<p>An issue template has been added to the current phosh, libhandy, calls, chatty, docs, and virtboard projects to guide the user to provide all of the necessary information when filing an issue against these projects. For more information on filing issues, see <a href="https://developer.puri.sm/Issues.html">our documentation page on reporting an issue</a>.</p>
<p>A big Thanks goes out to all of the external teams that have helped review and merge changes into upstream projects. Everyone’s time and contribution is much appreciated!</p>
<p>That’s all for now folks. Stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-20/">Librem 5 general development report — September 6th, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/08/L5-qcow2-rotation.webm" length="851965" type="video/webm" />
		</item>
		<item>
		<title>Librem 5, the world&#8217;s first ethical, user-controlled smartphone, makes steady progress for initial shipping beginning April 2019</title>
		<link>https://puri.sm/posts/2018-09-librem5-hardware-roadmap-announcement/</link>
		<pubDate>Tue, 04 Sep 2018 15:00:23 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Power management]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=58283</guid>
		<description><![CDATA[<p>Device maker Purism shares new details on the smartphone&#8217;s status and production schedule SAN FRANCISCO, Calif., September 4, 2018 — Purism, the social purpose corporation which designs and produces popular digital rights respecting hardware, software, and services, is sharing the much anticipated progress and scheduling for its Librem 5 smartphone. Pre-selling at $599 until production—less [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-09-librem5-hardware-roadmap-announcement/">Librem 5, the world&#8217;s first ethical, user-controlled smartphone, makes steady progress for initial shipping beginning April 2019</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>Device maker Purism shares new details on the smartphone&#8217;s status and production schedule</em></p>
<p>SAN FRANCISCO, Calif., September 4, 2018 — Purism, the social purpose corporation which designs and produces popular digital rights respecting hardware, software, and services, is sharing the much anticipated progress and scheduling for its Librem 5 smartphone.<span id="more-58283"></span></p>
<p><a href="https://puri.sm/wp-content/uploads/2018/09/Librem-5-2018-08-3D-render-wide-angle.png"><img class="alignright size-medium wp-image-58303" src="https://puri.sm/wp-content/uploads/2018/09/Librem-5-2018-08-3D-render-wide-angle-300x169.png" alt="" width="300" height="169" srcset="https://puri.sm/wp-content/uploads/2018/09/Librem-5-2018-08-3D-render-wide-angle-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/09/Librem-5-2018-08-3D-render-wide-angle-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/09/Librem-5-2018-08-3D-render-wide-angle-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/09/Librem-5-2018-08-3D-render-wide-angle-600x338.png 600w, https://puri.sm/wp-content/uploads/2018/09/Librem-5-2018-08-3D-render-wide-angle.png 1280w" sizes="(max-width: 300px) 100vw, 300px" /></a><a href="https://shop.puri.sm/shop/librem-5/">Pre-selling at $599</a> until production—less than the cost of many popular smartphones—the <em>Librem 5</em> will give users unprecedented control and security with features unavailable on any other mainstream smartphone, including a fully free/libre and open source operating system PureOS that also runs on Purism laptops (transparent code is the core of secure systems), proper hardware separation of cellular modem from the host CPU (isolation of communications to protect private data), and hardware kill switches for the camera, microphone, WiFi/Bluetooth and cellular baseband modem. The Librem 5, running Purism’s own Free Software Foundation endorsed PureOS will be the only mainstream smartphone manufactured to avoid the duopoly of Google Android and Apple iOS, and it will specifically steer people toward ethical rights respecting applications to protect people by default.</p>
<p>Given the state of smartphones today, with <a href="https://www.xda-developers.com/google-may-class-action-lawsuit-location-history/" target="_blank" rel="noopener">Google’s Android phones recently revealed to track users’ location without their consent</a>, and <a href="http://www.itpro.co.uk/privacy/31769/facebook-pulls-onavo-app-after-violating-apples-privacy-rules" target="_blank" rel="noopener">Facebook using a VPN app acquisition to collect phone usage data</a>, the Librem 5’s protections are increasingly relevant to all people whose trust has eroded from Big Tech’s data overreach.</p>
<p>With all the advancements Purism is making with the hardware, software, development kits, and services, during testing two silicon bugs were discovered in the Librem 5’s CPU, manufactured by NXP, that affects power management and power consumption. Purism has been working with the silicon vendor directly to evaluate the upcoming CPU for this silicon power management issue that would have a significant negative impact on the Librem 5’s battery life. Ultimately, this issue is going to lead to a three month delay in the production schedule for the final Librem 5 phone.</p>
<p>The errata from NXP for the current silicon revision can be <a href="https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-8-processors/i.mx-8m-family-armcortex-a53-cortex-m4-audio-voice-video:i.MX8M?tab=Documentation_Tab" target="_blank" rel="noopener">found here</a>, more specifically, <a href="https://www.nxp.com/docs/en/errata/IMX8MDQLQ_0N14W.pdf" target="_blank" rel="noopener">this document</a> where the two issues that can affect power management and power consumption are identified as “e11174” and “e11171”.</p>
<p>A more detailed technical blog post from Purism’s hardware team explaining the intricacies of the manufacturing process is <a href="/posts/librem5-2018-09-hardware-report">available here</a>.</p>
<blockquote><p>“We are making impressive progress across the hardware design and the completely free software stack for the Librem 5,” said Nicole Faerber, Purism’s CTO. “It has been an unsurprisingly long and arduous process given that traditional supply chains are built for cost effectiveness, whereas we are prioritizing components that respect a person’s privacy and freedom to control their device.”</p>
<p>“We want to make a secure mobile communication device which can offer on-par experience similar to today’s smartphones, but that are ethical,” said Todd Weaver, founder and CEO at Purism. “I’m proud of the progress our team is making and grateful to our community for supporting our efforts as we work diligently to get the Librem 5—and all its societal benefits—into people’s hands.”</p></blockquote>
<div class="mceTemp"></div>
<div class="mceTemp"></div>
<figure id="attachment_58305" style="width: 960px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined.png"><img class="size-large wp-image-58305" src="https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-1024x884.png" alt="" width="960" height="829" srcset="https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-1024x884.png 1024w, https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-300x259.png 300w, https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-768x663.png 768w, https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-600x518.png 600w, https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined.png 1032w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">Front and back 3D renders of the Librem 5’s development kit mainboard</figcaption></figure>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-09-librem5-hardware-roadmap-announcement/">Librem 5, the world&#8217;s first ethical, user-controlled smartphone, makes steady progress for initial shipping beginning April 2019</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Progress update from the Librem 5 hardware department</title>
		<link>https://puri.sm/posts/librem5-2018-09-hardware-report/</link>
		<pubDate>Tue, 04 Sep 2018 14:57:02 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Battery life]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Power management]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=53202</guid>
		<description><![CDATA[<p>As you might have noted when we announced closing the development kit “last call” sale, new specifications have been made public. I want to explain what led to these specifications and why we made the choices we made and what the current timeline is for the devkits and Librem 5 phones. We want to make [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-2018-09-hardware-report/">Progress update from the Librem 5 hardware department</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>As you might have noted when we announced closing the development kit “last call” sale, new specifications have been made public. I want to explain what led to these specifications and why we made the choices we made and what the current timeline is for the devkits and Librem 5 phones.<span id="more-53202"></span></p>
<p>We want to make a secure mobile communication device which can offer on-par experience similar to today&#8217;s smartphones, while making it as free and transparent to the extent we can given the reality of today. We take the notion of &#8220;free&#8221; or &#8220;libre&#8221; seriously, striving to comply with the Free Software Foundation (<a href="https://www.fsf.org/">FSF</a>) strict &#8220;Respects Your Freedom&#8221; (<a href="https://www.fsf.org/resources/hw/endorsement/criteria" target="_blank" rel="noopener">RYF</a>) requirements. Having that endorsement is an important and critical goal for us. The RYF criteria rules out a substantial amount of hardware, making finding RYF complaint phone hardware a challenging endeavor. It would have been relatively trivial to produce a smartphone with non-free GPU drivers and a CPU with combined radios + CPU + GPU in a few months, but creating a regular smartphone is not our goal. We have much higher aspirations.</p>
<p>We chose to build a free and secure mobile communication device. One that respects peoples’ privacy and security. We chose to do it because the pursuit of building one will challenge us as a company and to provide a product to those who care deeply about software and hardware freedom. It is an endeavor that we are unwilling to compromise on with the firm belief that it is achievable.</p>
<p>Let’s talk about what the current state of things are.</p>
<h2>The Road from an i.MX 6 to i.MX 8M platform</h2>
<p>You may remember our previous post hinting at <a href="https://puri.sm/posts/librem5-roadmap-to-imx8/">the reasoning for us to move from the i.MX 6 platform to the i.MX 8M platform</a>. Today, we’ll be providing significant more details and an update on how this transition has been going since then.</p>
<p>Phone hardware is comprised of a SoC (System on a Chip) and peripheral hardware like modems that connect them to cellular networks. In early 2017, when we started our research for the right SoC, we quickly came to the conclusion that the NXP i.MX family—with the free Etnaviv drivers for the embedded Vivante GPU—would be the best choice. The fact that the NXP i.MX 6 did not require a proprietary firmware for normal phone use cases, combined with an advanced free “etnaviv” GPU driver available, was very attractive to us. The fact that the SoC has been on the market for quite some time also meant that the drivers were stable and solid.</p>
<p>By late summer 2017, we became aware that the newer “i.MX 8” generation of SoC was rumored to be released soon. At the time, we had already launched our crowdfunding campaign and there was no publicly available information on this newer generation SoC, so we had to continue with the plans already in place. The allure of having a newer generation SoC was enough that we reached out to NXP and various distributors to get more detailed information on these new SoCs. While continuing to work on other parts of the phone and working on our software, we kept communication lines open on the new SoC opportunity after nearly six months, then we were able to obtain early documentation but no availability dates.</p>
<p>In early 2018, we got word that the i.MX 8 family would finally be announced at “Embedded World” in Nürnberg, Germany! So after a small hackfest in Germany, Purism CEO Todd Weaver and I drove to Nürnberg and met with NXP and i.MX 8 partners. We were able to get a demonstration of actual i.MX8 hardware and associated firmware to see it running. Even the latest Etnaviv was already working well. We were excited about the opportunities of running a more recent hardware.</p>
<p>We were confident that the i.MX 8 was well suited for the Librem 5 and will be available in larger quantities early enough for our initially scheduled shipping date of January 2019. The decision to upgrade to a newer generation of the SoC (from the the same hardware family) brings the benefits of a modern 64-bit CPU, more GPUs on the silicon, lower power consumption and a host of other upgrades, while still allowing us to maintain our strict requirements to seek the FSF&#8217;s “RYF” endorsement. We believe that the risk trade-off is worth it given the modern upgrades the new SoC provides us. The SoC is of course not the only concern for the Librem 5.</p>
<h2>Challenges of Making a Non-Android Mobile Phone</h2>
<p>Making a non-Android mobile phone that will run an FSF-approved OS that supports all the features that we&#8217;ve all come to rely on (cellular, WiFi, Bluetooth, touchscreen input) has and continues to involve a lot of pathfinding, given that a RYF phone has never been attempted before and discovery involves solving issues as they come up.</p>
<p>The industry offers all the hardware to create a smartphone on a fast path, as the SoC vendors typically provide the modem (cellular and wifi) integrated directly on the SoC. Like a recipe in a cookbook—take an SoC, place it on a PCB, add RAM and flash chip on top of it (called a package on package—PoP), add antennas and finally power. The difficulty comes down to the firmware and the software that run these devices. The necessary firmware to operate the cellular modem, WiFi, BT etc. is provided by the chip maker, including the drivers for the GPU and more. The firmware and software included is proprietary with no source code with little to no alternatives.</p>
<h2>Cellular (baseband) modem</h2>
<p>The cellular modem is arguably the most complex part of a mobile phone. The modem is the component that has to implement all the familiar protocols you would associate with a phone (like 2G, 3G, 4G and the upcoming 5G). It does so by running its own proprietary black box operating system. The cellular modem is also covered by thousands of patents held by hundreds of patent owners. Now imagine this&#8230; This cellular modem sits right on the same RAM bus as the SoC! Non-free software not only has access to the data flowing to and from the SoC, but also has the ability to modify it. Because this modem operating system is a propreitary black box, we have no idea what this component does or what kind of vulnerabilities it has.</p>
<p>Coming back to the design of the Librem 5 phone, we clearly do not believe this is an ideal situation. The cellular modem should be isolated from the SoC by not accessing the RAM bus. The situation is further complicated by the fact that during our research into cellular modems, we realized that there are only a handful of silicon vendors in the world that make these chipsets and nearly all of them integrate their model with the SoC on the same bus. In addition, you historically need to acquire a license to run the proprietary firmware to power the modem on SoCs.</p>
<p>This left us with only one choice: to use ready-made modem “modules” and our own layout that isolates the modem from the SoC. There are a number of these modem modules available in different form factors with various available options in speed, bands, etc. By going the module route we can both provide supplier choice in modems that meet our strict standards, and also allow modem isolation from the RAM and host CPU.</p>
<p>To isolate the cellular modem from the SoC, we will be placing the modem on the (remarkably fast) USB bus and have the phone interact with the cellular modem through USB instead of on the main RAM bus. This will separate the cellular modem on its own bus without seeing any other data.</p>
<h2>WiFi/Bluetooth modem</h2>
<p>For WiFi and Bluetooth radios we are currently working closely with Redpine Signal. Redpine Signal will supply us with a low power WiFi/Bluetooth solution using SDIO as the data interface. We went with Redpine Signal as their chipset does not require a firmware download at runtime like other vendors; having a downloadable firmware would violate the Free Software Foundation’s RYF requirements. In the end, we believe we have a great solution for WiFi and Bluetooth that will integrate well and at low power in the Librem phone. This is highlighting the fact that Purism, as a social purpose corporation, will push our strict agenda of software and user freedoms upstream into the supply chain.</p>
<h2>EE, ID, and MD <small>(Electronics Engineering, Industrial Design, and Mechanical Design)</small></h2>
<p>To find the right vendors to build our hardware components, a while ago Todd and I went to Shenzhen, China. Shenzhen is where two-thirds of the current worldwide production of smartphones happens, where over a billion devices per year are produced. That’s where the optimized supply chain logistics have been developed over the past few decades, and that’s where the physical electronics engineering expertise is these days. We selected this area because this is where we are going to find the expertise in building the Librem 5 with the hardware components we have selected.</p>
<p>Selecting fabrication partners for our custom design has been an exciting exercise due to all the possibilities that could be reality. Since the beginning of April of this year, we have been evaluating hardware fabrication companies and factories that would be willing to work with us. Aligned with our original planning and timeline we began working with an electronics design house and soon after we located our mechanical design and hardware fabrication.</p>
<h2>Status of the Development Kits</h2>
<p>We will begin shipping the devkits in October barring any unforeseen issues. We are quite conscious that the hundreds of active developers all are eager to see these development kits and we are eager to send them out and get you developing on the Librem 5 PureOS platform. We have been pushing hard on our supply chain to give us results as quickly as possible. The new devkits will have the newer i.MX 8M based SoC. The current status is that we have completed the design and working towards power up test. We are pleased that the devkits will be assembled and manufactured in the United States, specifically in the San Diego California area, while the final phone production is expected to be in China.</p>
<p>With the new SoC, devkits will have more up-to-date hardware, faster, more powerful GPUs (from dual core to quad core), 64 bits and overall lower power consumption and heat. This will increase the attractiveness of the phone for those who are doing comparison shopping with other phones.</p>
<p>The developer documentation for the dev kits are fairly close to being ready and we expect that those who receive the dev kits will be ready to start writing applications relatively quickly.</p>
<p>The past three to four months have been a period of great activity here at Purism with a lot of pathfinding work, negotiations, and dividing of labors amongst the various parties—A precise dance with many partners working in concert in an effort to get the right product. But like you, we can’t wait for the end result: a truly freedom-driven phone that we hope will disrupt the market today with groundbreaking concepts while still having all the modern features that phones on the market have today.</p>
<figure id="attachment_56810" style="width: 960px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2018/06/2018-07-26-devkit-parts-table.jpg"><img class="wp-image-56810 size-large" src="https://puri.sm/wp-content/uploads/2018/06/2018-07-26-devkit-parts-table-1024x716.jpg" alt="" width="960" height="671" srcset="https://puri.sm/wp-content/uploads/2018/06/2018-07-26-devkit-parts-table-1024x716.jpg 1024w, https://puri.sm/wp-content/uploads/2018/06/2018-07-26-devkit-parts-table-300x210.jpg 300w, https://puri.sm/wp-content/uploads/2018/06/2018-07-26-devkit-parts-table-768x537.jpg 768w, https://puri.sm/wp-content/uploads/2018/06/2018-07-26-devkit-parts-table-600x420.jpg 600w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">Pictured: parts of the devkit in our office in Germany. When you consider the design of the PCBs we made, the devkits comprise more than 700 components.</figcaption></figure>
<h2>Status of the Librem 5 Phone Roadmap</h2>
<p>Let’s move on to the schedule for the Librem 5. With the latest information at our disposal, we foresee a delay in production until April 2019. The reason is that there is a silicon bug on the SoC that causes extreme battery draining. If we were to put out the phone with this bug, the phone battery would drain out within an hour or so&#8230; That’s not the first impression we want to give!</p>
<p>The errata from NXP (the silicon vendor) for the currently shipping revision can be found <a href="https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-8-processors/i.mx-8m-family-armcortex-a53-cortex-m4-audio-voice-video:i.MX8M?tab=Documentation_Tab">here</a>. More specifically, this <a href="https://www.nxp.com/docs/en/errata/IMX8MDQLQ_0N14W.pdf">document </a>where the two issues that can affect power management and power consumption are identified as “e11174” and “e11171”.</p>
<p>We are working closely with the silicon vendor, NXP, to fix the issue.<br />
Why April?  We want to be realistic with our projection based on a number of factors:</p>
<ol>
<li>If the problem gets fixed by December, that runs into the holiday season in Europe and America.</li>
<li>February is the Chinese New Year and effectively the entire country is shut down for that month. Therefore, we can only restart the production ramp-up process in March, with first units to be produced in April.</li>
<li>Internally, we have a lot of plans that need a hard date to plan off of, and so it is imperative that we hit close to our dates in order to meet commitments with the press, community (online and at various events), investors, and others.</li>
<li>We want to give all of you a date that is realistic so that we can provide the best first experience as possible. We want you to be wow’d but we need a long tail to properly QA the product after the initial power on. So this is why we are saying that we are hoping to begin production in April (if we can manage earlier, that’s great, but we’d rather not over-promise).</li>
</ol>
<p>You might wonder why the schedule for the devkits did not change significantly compared to the Librem 5 phone (that we release to the public). The devkits are meant to be plugged in and thus are not negatively affected by the silicon bug as the devkits are meant to be used while connected to a power outlet. The devkits will therefore be shipped with the SoC that has the silicon power bug, as this will not affect developers (since it is not like you would expect to carry a devkit in your pocket with days of standby time).</p>
<p>To whet your appetite, we have included below one of the early blueprints of the development kit (don&#8217;t use it as a reference!)—as well as some recent 3D renderings of it, for your viewing pleasure.</p>
<figure id="attachment_56811" style="width: 960px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2018/06/2018-07-26-dev-kit-blueprint.jpg"><img class="wp-image-56811 size-large" src="https://puri.sm/wp-content/uploads/2018/06/2018-07-26-dev-kit-blueprint-1024x724.jpg" alt="" width="960" height="679" srcset="https://puri.sm/wp-content/uploads/2018/06/2018-07-26-dev-kit-blueprint-1024x724.jpg 1024w, https://puri.sm/wp-content/uploads/2018/06/2018-07-26-dev-kit-blueprint-300x212.jpg 300w, https://puri.sm/wp-content/uploads/2018/06/2018-07-26-dev-kit-blueprint-768x543.jpg 768w, https://puri.sm/wp-content/uploads/2018/06/2018-07-26-dev-kit-blueprint-600x424.jpg 600w, https://puri.sm/wp-content/uploads/2018/06/2018-07-26-dev-kit-blueprint.jpg 1528w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">An early blueprint of the development kit</figcaption></figure>
<figure id="attachment_58305" style="width: 1032px" class="wp-caption aligncenter"><img class="wp-image-58305 size-full" src="https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined.png" alt="" width="1032" height="891" srcset="https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined.png 1032w, https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-300x259.png 300w, https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-768x663.png 768w, https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-1024x884.png 1024w, https://puri.sm/wp-content/uploads/2018/09/Librem520devkit203D20front20and20back20combined-600x518.png 600w" sizes="(max-width: 1032px) 100vw, 1032px" /><figcaption class="wp-caption-text">3D rendering of Librem 5 Devkit front and back</figcaption></figure>
<p>Beyond devkits, one of the things that I think all of you would be pleased with is that the phone will have a user-replaceable battery: unlike the vast majority of mobile phones we see on the market today, ours won’t have the battery soldered onto the mainboard and the case will not be glued beyond reapairability.</p>
<p>The phone design schematics are pretty much complete and we’ve been busy focusing on putting the device together. There are some missing pieces like the modem that needs to be incorporated, but other than that there currently are no show-stopping issues in regards to manufacturing the phone.</p>
<p>We’ve also been playing around with <a href="https://puri.sm/posts/librem5-progress-report-18/">putting as little branding as possible on the phone</a>.</p>
<h2>The Journey Continues</h2>
<p>Amazing amounts of diligent work have gone into creating the Librem 5, and we continue to learn new lessons and overcome challenges going forward. One of the hardest things that we had to deal with is establishing the phone hardware supply chain and navigating our way with a whole new set of suppliers around the world, making the right contacts to get what we want accomplished. We can’t underscore enough the challenge that building this supply chain has been. The other challenge is finding compatible hardware components that respects our ideology and FSF RYF endorsement goals when the whole supply chain has traditionally been built for cost effectiveness. Finding suppliers that avoid blobs in the operating system has proven to be, unsurprisingly, long and arduous.</p>
<p>We will continue to evolve as we understand better how this subset of the industry works. The success of our phone is critical, as it will provide us with the legitimacy and leverage we need to <a href="https://puri.sm/about/business-model-and-vision/" target="_blank" rel="noopener">bend hardware suppliers to our way of thinking</a> by showing them that we have the potential to be market leaders with ethical products that respect users.</p>
<p>For those who invested in us, and continue to be patient with us: you have our undying gratitude. For those who take a wait-and-see approach, we hope that you’ll come around and be part of the Purism family, whether through the phone project or with our other offerings. Thank you.</p>
<hr class="ttfmake-hr" style="border-style: solid; border-top-width: 1px;" />
<p><em>You might also like: <a href="https://puri.sm/posts/2018-back-to-school-sale/">“The Back to School sale is on!”</a></em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-2018-09-hardware-report/">Progress update from the Librem 5 hardware department</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Let&#8217;s get Chatty! (updated August 30th, 2018)</title>
		<link>https://puri.sm/posts/librem5-progress-report-19/</link>
		<pubDate>Wed, 29 Aug 2018 15:21:14 +0000</pubDate>
		<dc:creator><![CDATA[Andrea Schäfer]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Communications infrastructure]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=57183</guid>
		<description><![CDATA[<p>Today we provide a technical update and demonstration of SMS and—additionally—end-to-end encrypted XMPP messages on the chat application we&#8217;re developing, &#8220;Chatty&#8221;. But first, a bit of historical context… The rise and fall of instant messengers In today&#8217;s rapidly changing world, new proprietary products appear every fifteen minutes. Some of them attract quite a lot of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-19/">Let&#8217;s get Chatty! (updated August 30th, 2018)</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Today we provide a technical update and demonstration of SMS and—additionally—end-to-end encrypted XMPP messages on the chat application we&#8217;re developing, &#8220;Chatty&#8221;. <span id="more-57183"></span>But first, a bit of historical context…</p>
<h2>The rise and fall of instant messengers</h2>
<p>In today&#8217;s rapidly changing world, new proprietary products appear every fifteen minutes. Some of them attract quite a lot of users and survive in the market for a couple of years. However, someday they&#8217;ll disappear because other services become more attractive regarding functionality or for the simple reason that huge marketing campaigns have pushed them. In the social media world, we have seen MySpace sink into insignificance when people ran to Facebook. But there has been much more fluctuation in the messenger world during the past two decades. 20 years ago we used ICQ until AOL acquired it. Then for some time, MSN and Yahoo Messenger had their glory days. The former was discontinued in 2013, and Yahoo pulled the plug on their 20 year old service on July 17 this year.</p>
<p>Today WhatsApp and Facebook-Messenger are the trend. But as user habits change, like people today gravitating to social media services, it is likely that both services won&#8217;t be able to keep up and presumably have the same limited lifespan as their predecessors. Today, Facebook-Messenger users run over to the Instagram Messaging service and Telegram chips away users from WhatsApp, and so on.</p>
<h2>Escape the walled gardens</h2>
<p>Proprietary messaging services are mostly centralized, non-federated systems run by a single corporate provider. Since the protocols and/or the server software isn&#8217;t Free Software (where the source code is available), users cannot understand how their data is utilized. Although the service provider can&#8217;t always eavesdrop on communications when end to end encryption is applied, the service provider can see to who you talk to and at what time since they manage the accounts and buddy lists with all the related metadata in a single provider system.</p>
<p>The alternative to single provider systems is decentralized, federated structures that run a fully freedom-respecting software stack. Multiple servers relay information by a common protocol, allowing people that are registered at different service providers to communicate with each other. This type of conversation handling works mostly like email. Of course, one has to trust the service provider that manages the account then, but this data won&#8217;t be entirely handed over to the relay stations, though a certain amount of metadata has to be shared with the servers where buddies run their account.</p>
<p>There is, of course, the <a href="https://matrix.org/" target="_blank" rel="noopener">Matrix</a> protocol which we love (we use it every day!) and are committed to bringing to the Librem&nbsp;5. But we also wanted to offer some kind of E2E encrypted communication on &#8220;day one&#8221; (which <a href="https://wiki.gnome.org/Apps/Fractal" target="_blank" rel="noopener">Fractal</a>—the native client application we&#8217;re hoping to use—doesn&#8217;t support yet), so while work is happening on Fractal on its own schedule, we are also offering an alternative based on XMPP.</p>
<p><a href="https://en.wikipedia.org/wiki/Xmpp" target="_blank" rel="noopener">XMPP</a> (Extensible Messaging and Presence Protocol) is <em>also</em> such a federated system and well-defined standard. It was developed in 1999 by the Jabber community to provide instant messaging, multi-party chat, voice and video calls. Many free software implementations are available for XMPP chat.</p>
<ul>
<li>Anyone can run a XMPP server on their own, with <a href="https://prosody.im/">Prosody</a> for example.</li>
<li>Getting started on the client side is pretty easy, as there are multitudes of client applications for all platforms (<a href="http://pidgin.im/">Pidgin</a>, <a href="https://gajim.org/">Gajim</a> or <a href="https://dino.im/">Dino</a> for Linux; <a href="https://adium.im/">Adium</a> and <a href="https://swift.im/">Swift</a> on macOS; <a href="https://conversations.im/">Conversations</a> on Android; <a href="https://chatsecure.org/">ChatSecure</a> on iOS)</li>
<li>There are plenty of <a href="https://list.jabber.at/">public XMPP servers</a> to choose from (when you have picked an XMPP server from the list, you may want to check its security with <a href="https://xmpp.net/index.php">IM Observatory</a>. It makes some connections and performs a couple of tests to evaluate the client-to-server encryption and the server-to-server encryption).</li>
</ul>
<h2>SMS: old but gold</h2>
<p>Today, most of us do online banking with <a href="https://www.howtogeek.com/361244/sms-two-factor-auth-isn%E2%80%99t-perfect-but-you-should-still-use-it/">SMS two-factor authentication</a>. A <em>lot</em> of online services also make use of this method of authentication. SMS may be viewed as an antiquated technology, but the reality is that SMS plays a role in most modern technologies. A survey showed that SMS is the most effective way to reach users, with a 90 percent read rate in minutes. Why is that? Because if people get an SMS, they think it must be something important. Sending an SMS is thought of as being reliable. And frankly speaking, I also send SMS every now and then if I want to be sure that my message reaches its destination and is going to be read in time, even if I have reliable wifi.</p>
<blockquote><p>&#8220;The rumors of my death have been greatly exaggerated&#8221;<br />
— Mark Twain, sent from his BlackBerry</p></blockquote>
<p>So, realistically, a phone like the Librem&nbsp;5 still needs an application to handle SMS messages.</p>
<p><strong>SMS will be implemented in our application codenamed &#8220;Chatty&#8221;</strong> (this working title wasn&#8217;t chosen by a long shot then), as a plugin for libpurple that provides an interface to ModemManager.</p>
<ul>
<li>The libpurple library supports many instant messaging protocols via <a href="https://developer.pidgin.im/wiki/ThirdPartyPlugins">plugins</a> and allows the user to log into various services from just one application simultaneously. The messaging client Pidgin is the most widely known user of this library and libpurple was originally developed for it.</li>
<li>Libpurple also gets the benefit of having this capability for any client allowing other software developers to create their own SMS client.</li>
</ul>
<h2>&#8220;While you&#8217;re there…&#8221;</h2>
<p>At the very start, &#8220;Chatty&#8221; was merely meant to be the application to handle SMS for the Librem&nbsp;5, due to our tight deadlines and limited resources.</p>
<p>Over time, when talking about messaging services in the team, discussions kept coming up that it would be nice to have SMS and E2EE IM taking place in just one application. And since we all feel inconvenienced when we have to remember which chat ecosystem to choose when we want to chat with a friend whom we haven&#8217;t texted with for a while, we thought the idea of having a single app accommodate a number of messaging protocols has a lot of merit, especially when libpurple provides extra protocols &#8220;cheaply&#8221;. With this, adding XMPP support &#8220;while we&#8217;re there&#8221; is fairly trivial.</p>
<p>Therefore, as a bonus feature, <strong>Chatty is going to support XMPP with OMEMO encryption as well as SMS on day one, instead of only SMS.</strong> Other protocols like Telegram <em>may</em> be added later if their features can be represented appropriately within the front-end. And, again, <strong>we&#8217;re not backing down on our commitment to provide Matrix for the Librem&nbsp;5</strong>. Both XMPP and the Matrix protocol can provide End-to-End encryption. The fact that we&#8217;re providing XMPP as a feature is<strong> purely an additive process.</strong></p>
<h2>So, how is Chatty doing?</h2>
<p>At the moment Chatty can perform some basic (and arguably most difficult task of) send and receive operations with SMS via ModemManager and a SIMCOM modem, as well as with XMPP/OMEMO messages via libpurple and the <a href="https://github.com/gkdr/lurch">lurch plugin</a>, like shown in this short demo video:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-57183-67" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2018/08/2018-08-Chatty-demo-video-HDR-poster.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2018/08/Chatty-Demo.mp4?_=67" /><a href="https://puri.sm/wp-content/uploads/2018/08/Chatty-Demo.mp4">https://puri.sm/wp-content/uploads/2018/08/Chatty-Demo.mp4</a></video></div>
<p>Currently, Chatty&#8217;s basic functionality is going to be expanded by writing functions for linking GTK+ objects with libpurple. These callback functions will be registered with the libpurple UI interface structs and signals so that the libpurple core can manage the conversations, the roster, and the user interface.</p>
<p>Libpurple conveniently provides the core functionality for IM applications in general, not just protocols per se. When a buddy is chosen from the roster panel, libpurple pulls the data related to the buddy ID, selects the plugin for the protocol type, establishes a connection to the buddy, and emits signals that trigger callback functions to set up the UI by loading the chat history and bringing up the chat screen.</p>
<p>There is some way to go to make Chatty a decent messaging app for the Librem&nbsp;5. Here are some of the many things that will have to be done:</p>
<ul>
<li>Wrapping the SMS/ModemManager code in a libpurple plugin (The work on the plugin has started already. The interface to ModemManager works, and its output can be viewed in the Pidgin debug window.)</li>
<li>Storing message histories in a database</li>
<li>Creating a chat view with image rendering and lazy load capabilities</li>
<li>Interfacing with the contacts database</li>
<li>Designing screens for setting up libpurple accounts (for XMPP and those who may be added later)</li>
<li>Implementing E2EE for files (pictures) into the lurch plugin</li>
<li>Including trust management into lurch plus designing an appropriate UI</li>
</ul>
<p>XMPP clients with OMEMO encryption haven&#8217;t been available for mobile devices until &#8220;Conversations&#8221; was released for Android in 2015, so it is an exciting mission to make XMPP messaging available on the Librem&nbsp;5. And maybe other protocols will be introduced later via libpurple plugins.</p>
<h2>Interesting reads</h2>
<p>There are some myths out there regarding the performance of XMPP. <a href="https://xmpp.org/about/myths.html">This article</a> sheds some light on it.</p>
<p>Daniel Gultsch wrote an excellent <a href="https://gultsch.de/omemo_by_default.html">piece about the efforts that he and Andreas Straub spent on making OMEMO encryption broadly available for XMPP clients</a>. While it took them more than two years, WhatsApp, for example, was able to roll out encryption overnight. But nothing could describe this dear-bought feature better than the conclusion in Daniel&#8217;s essay:</p>
<blockquote><p>&#8220;&#8230;Enabling end-to-end encryption in a homogenous environment is easier than introducing it in a heterogenous one like Jabber&#8230; However, if something is hard to achieve there are two possible approaches: Either try your best and don’t give up, or put your head in the sand and create yet another walled garden that is no different from other proprietary solutions.&#8221;</p></blockquote>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-19/">Let&#8217;s get Chatty! (updated August 30th, 2018)</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/08/Chatty-Demo.mp4" length="86994760" type="video/mp4" />
		</item>
		<item>
		<title>The Back to School sale is on!</title>
		<link>https://puri.sm/posts/2018-back-to-school-sale/</link>
		<pubDate>Wed, 22 Aug 2018 03:57:29 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=57400</guid>
		<description><![CDATA[<p>For some of you, it is a time to return your educational institution and continue the important process of learning about the world around you—maybe for some of you it is the first time being part of higher education, while some of you might be long-time academic researchers and associates. For those who are sick [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-back-to-school-sale/">The Back to School sale is on!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>For some of you, it is a time to return your educational institution and continue the important process of learning about the world around you—maybe for some of you it is the first time being part of higher education, while some of you might be long-time academic researchers and associates. For those who are sick of their thick laptops weighing down on their backpacks and who would also want something with security in mind, what better way to start the school year than with a Purism laptop?!</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/08/back-to-school-2018.jpg"><img class="alignright wp-image-57543 " src="https://puri.sm/wp-content/uploads/2018/08/back-to-school-2018.jpg" alt="" width="520" height="418" srcset="https://puri.sm/wp-content/uploads/2018/08/back-to-school-2018.jpg 1000w, https://puri.sm/wp-content/uploads/2018/08/back-to-school-2018-300x241.jpg 300w, https://puri.sm/wp-content/uploads/2018/08/back-to-school-2018-768x617.jpg 768w, https://puri.sm/wp-content/uploads/2018/08/back-to-school-2018-600x482.jpg 600w" sizes="(max-width: 520px) 100vw, 520px" /></a>While learning important topics like economics, computer science, mathematics, history and law, why not also be the teacher and show folks around you the importance of privacy and security? At Purism, <a href="/products/" target="_blank" rel="noopener">our laptops</a> are geared for exactly that.</p>
<p>Now you can save money with our back to school special. <strong>From now till September 9th,</strong> enjoy significant savings on our in-stock laptops and be protected: on any of our current Librem 13 or Librem 15 laptops, <strong>use coupon <em>BTS-SHJXO-18</em></strong> to benefit from <strong>rebates ranging from $100 to $465 (<a href="https://shop.puri.sm/shop/librem-13/" target="_blank" rel="noopener">Librem 13</a>) and from $115 to over $480 (<a href="https://shop.puri.sm/shop/librem-15/" target="_blank" rel="noopener">Librem 15</a>) </strong> depending on the configuration. The more you spend on upgrades and accessories, the greater the savings! Of course, if you want to order laptops for a whole classroom, we won&#8217;t stop you&#8230;</p>
<p>If you&#8217;re looking for even more affordable alternatives and don&#8217;t need the uncompromising anti physical tampering features that our TPM-enabled laptops provide, you may be interested in the <a href="https://puri.sm/posts/warehouse-clearance-sale-librem-laptops-starting-at-999/">non-TPM variants of our laptops on clearance</a> (limited quantities available, depending on the keyboard layout you choose). The same coupon code applies, allowing you to grab some of those laptops for as low as $927.07!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-back-to-school-sale/">The Back to School sale is on!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Ethical aesthetics &#8211; Librem 5 design report #7</title>
		<link>https://puri.sm/posts/librem5-progress-report-18/</link>
		<pubDate>Thu, 16 Aug 2018 19:13:19 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=54910</guid>
		<description><![CDATA[<p>You may have noticed that there is no obvious visual branding on the Librem laptops. While this was at first a technical limitation on the very first Librem model (back in 2015), the subtle and minimalistic branding that began on newer models in 2016 was a conscious design decision. Now, we&#8217;re hoping to refine the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-18/">Ethical aesthetics &#8211; Librem 5 design report #7</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-54918" src="https://puri.sm/wp-content/uploads/2018/06/librem15-v3-back-3-4-fs8-300x169.png" alt="" width="300" height="169" srcset="https://puri.sm/wp-content/uploads/2018/06/librem15-v3-back-3-4-fs8-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/06/librem15-v3-back-3-4-fs8-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/06/librem15-v3-back-3-4-fs8-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/06/librem15-v3-back-3-4-fs8-600x338.png 600w, https://puri.sm/wp-content/uploads/2018/06/librem15-v3-back-3-4-fs8.png 1280w" sizes="(max-width: 300px) 100vw, 300px" />You may have noticed that there is no obvious visual branding on the Librem laptops. While this was at first a technical limitation on the very first Librem model (back in 2015), the subtle and minimalistic branding that began on newer models in 2016 was a conscious design decision.</p>
<p>Now, we&#8217;re hoping to refine the physical branding further.<br />
One reason for a minimalist design is aesthetic. Just like on a piece of hand-made jewelry, we wish the branding to be made in the form of an inconspicuous marking that doesn&#8217;t interfere with the natural beauty of the overall shape.</p>
<p>Another reason is ethical. While one should easily be able to identify a computer model when closely inspecting it, people using a Librem device should be prevented from, unintentionally, exposing the brand of their hardware, which may be seen as arrogant in some situations. But, above all, the Librem customer should not be used as a passive promoting medium. We think that this is an essential part of an ethical design.</p>
<p>This is described within our internal industrial design policies in term of visual identity, so I think important to emphasize those points.</p>
<h1>Branding on the Librem laptops</h1>
<p><img class="alignleft size-medium wp-image-54921" src="https://puri.sm/wp-content/uploads/2018/06/purism-key-300x110.png" alt="" width="300" height="110" srcset="https://puri.sm/wp-content/uploads/2018/06/purism-key-300x110.png 300w, https://puri.sm/wp-content/uploads/2018/06/purism-key-600x220.png 600w, https://puri.sm/wp-content/uploads/2018/06/purism-key.png 700w" sizes="(max-width: 300px) 100vw, 300px" />Therefore, on the current Librem line, branding is only visible on the keyboard (with the &#8220;Super&#8221; key displaying the Purism logo) and on the bottom cover, displaying the brand and model name, along with certification symbols, underneath the computer.</p>
<p>That said, while not being visible during normal use (open on a table), the bottom branding of the Librem may be considered a bit flashy when carrying the laptop around, so we are considering making it even more discreet in the future.</p>
<h1>Branding on the Librem 5</h1>
<p>The Librem 5 is not in production yet but the public mock-ups have been escaping that rule so far. While I think that it was important for everyone to easily identify the device mock-ups during the campaign, the final model should not display any branding on the back cover of the handset. Instead we are discussing the possibility of having the brand and model number carved on the <em>side</em> of the device.</p>
<p><img class="aligncenter size-full wp-image-54917" src="https://puri.sm/wp-content/uploads/2018/06/l5-side-only-branding-fs8.png" alt="" width="743" height="639" srcset="https://puri.sm/wp-content/uploads/2018/06/l5-side-only-branding-fs8.png 743w, https://puri.sm/wp-content/uploads/2018/06/l5-side-only-branding-fs8-300x258.png 300w, https://puri.sm/wp-content/uploads/2018/06/l5-side-only-branding-fs8-600x516.png 600w" sizes="(max-width: 743px) 100vw, 743px" /></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-18/">Ethical aesthetics &#8211; Librem 5 design report #7</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Designing the scope of the Librem 5&#8217;s communication apps</title>
		<link>https://puri.sm/posts/librem5-progress-report-16/</link>
		<pubDate>Tue, 31 Jul 2018 16:30:06 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[User experience design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=54603</guid>
		<description><![CDATA[<p>We have spent the last few weeks focusing on the design of the default communication features of the Librem 5. As part of that process, we came up with the design specification for two applications. One of them is called &#8220;Calls&#8221; and has been designed for the purpose of—you guessed it—making and receiving phone calls. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-16/">Designing the scope of the Librem 5&#8217;s communication apps</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have spent the last few weeks focusing on the design of the default communication features of the Librem 5. As part of that process, we came up with the design specification for two applications. One of them is called &#8220;Calls&#8221; and has been designed for the purpose of—you guessed it—making and receiving phone calls. The second one, called &#8220;Messages&#8221; has been designed for the no less obvious purpose of sending and receiving messages.</p>
<p>Tobias, our lead designer, does a great job in communicating and collaborating with the GNOME design team, and so we keep making progress jointly with the upstream GNOME project. When Tobias joined, we started by having a call with Allan Day and Jakub Steiner (from the GNOME design team) where we presented our project, our goals and discussed the way to structure our contributions to GNOME. For example, we have an <a href="https://gitlab.gnome.org/Community/Design/app-mockups">app design repository</a> on the upstream GNOME GitLab server, where our design and mock-ups are made available to everyone. All in all, our project and vision seem to be very well received by the GNOME community.</p>
<h1>The &#8220;Calls&#8221; application</h1>
<p>This application is not based on any existing application so we had to design it from scratch. We did so while Bob was making good progress on <a href="https://puri.sm/posts/librem5-progress-report-12/">implementing the basic cellular call features.</a></p>
<p><a href="https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-1.png"><img class="aligncenter size-large wp-image-54607" src="https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-1-1024x556.png" alt="" width="960" height="521" srcset="https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-1-1024x556.png 1024w, https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-1-300x163.png 300w, https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-1-768x417.png 768w, https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-1.png 1222w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>&#8220;Calls&#8221; is supposed to let the user handle regular phone calls but is not limited to that. It is designed to integrate a much higher level of security and privacy through end to end encrypted technologies in a very transparent way. Private calls, between two devices supporting that feature, would be made by simply selecting a contact and pressing the &#8220;call&#8221; button.</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-2.png"><img class="aligncenter size-large wp-image-54608" src="https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-2-1024x559.png" alt="" width="960" height="524" srcset="https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-2-1024x559.png 1024w, https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-2-300x164.png 300w, https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-2-768x419.png 768w, https://puri.sm/wp-content/uploads/2018/06/l5-calls-app-2.png 1221w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>The full design of the Calls application can be seen in its own <a href="https://gitlab.gnome.org/Community/Design/app-mockups/tree/master/calls">repository</a>.</p>
<h1>The &#8220;Messages&#8221; application</h1>
<p><a href="https://puri.sm/wp-content/uploads/2018/06/fractal-hackfest-920.jpg"><img class="alignright size-medium wp-image-54611" src="https://puri.sm/wp-content/uploads/2018/06/fractal-hackfest-920-300x225.jpg" alt="" width="300" height="225" srcset="https://puri.sm/wp-content/uploads/2018/06/fractal-hackfest-920-300x225.jpg 300w, https://puri.sm/wp-content/uploads/2018/06/fractal-hackfest-920-768x576.jpg 768w, https://puri.sm/wp-content/uploads/2018/06/fractal-hackfest-920.jpg 920w" sizes="(max-width: 300px) 100vw, 300px" /></a>At the beginning of the summer, some Purism members (Dorota, Adrien, Tobias and myself) participated in the <a href="https://wiki.gnome.org/Apps/Fractal" target="_blank" rel="noopener">Fractal</a> hackfest in Strasbourg. The goal was to analyze and discuss the possibility of having Fractal become the default messaging application on PureOS and the Librem 5. This is motivated by our wish to be in sync with upstream choices as well as with the fact that Tobias, besides being the designer for the Librem 5 applications, is also the designer of Fractal. We also took this opportunity to meet Matthew from <a href="http://matrix.org/" target="_blank" rel="noopener">Matrix</a> who provided very helpful technical clarifications about the Matrix technology.</p>
<p>It was clear in this meeting that Fractal&#8217;s future plans are aligned with the <a href="https://2017.ind.ie/ethical-design/">Ethical Design</a> principles, that the Librem 5 and PureOS design guidelines are based on. An application following those guidelines, must be simple and focused on a single purpose.</p>
<p>One might think that the <em>current</em> state of Fractal already fits the main purpose of the <em>Messages</em> application (sending and receiving messages), but it is actually too general in terms of purpose. Chatting privately with a friend is not the same as discussing in a crowded IRC like public room. While the back-end technology may be the same for both situations, the user interface may have different requirements. This was discussed at the Fractal hackfest (Tobias used the analogy of <a href="https://blogs.gnome.org/tbernard/2018/05/16/banquets-and-barbecues/" target="_blank" rel="noopener">the &#8220;barbecue&#8221; and the &#8220;banquet&#8221;</a> to expose the problem), where Fractal developers decided that Fractal should be split into two distinct applications; one application would be used for the purpose of private 1 to 1 and small group chats (the barbecue), the other one would be used for the purpose of crowded IRC like discussions (the banquet). It will take a while for that split of an existing application to happen, however.</p>
<p>The simplified <em>Messages</em> application we have been developing is based on the &#8220;barbecue&#8221; usecase; private 1 to 1 and small groups chats, the most common usage for the majority of the population. The plan is for the <em>Messages</em> application to be able to handle regular text messages (SMS) while also handling secure end-to-end encrypted messages in a transparent way between two compatible devices.</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/06/l5-messages-app.jpg"><img class="aligncenter size-large wp-image-54610" src="https://puri.sm/wp-content/uploads/2018/06/l5-messages-app-1024x589.jpg" alt="" width="960" height="552" srcset="https://puri.sm/wp-content/uploads/2018/06/l5-messages-app-1024x589.jpg 1024w, https://puri.sm/wp-content/uploads/2018/06/l5-messages-app-300x172.jpg 300w, https://puri.sm/wp-content/uploads/2018/06/l5-messages-app-768x442.jpg 768w, https://puri.sm/wp-content/uploads/2018/06/l5-messages-app.jpg 1162w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>The full design of the <em>Messages</em> application can be seen in its own <a href="https://gitlab.gnome.org/Community/Design/app-mockups/tree/master/messages">repository</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-16/">Designing the scope of the Librem 5&#8217;s communication apps</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>An overview of this summer&#8217;s community conferences</title>
		<link>https://puri.sm/posts/2018-summer-conferences/</link>
		<pubDate>Sat, 28 Jul 2018 12:00:13 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=56296</guid>
		<description><![CDATA[<p>This summer, we have been kept busy with a number of things. As you can see with the many blog posts from the Librem 5 phone development team (many more are scheduled to be published in the coming days and weeks), we have been heavily focused on preparing the software platform for the phone, as [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-summer-conferences/">An overview of this summer&#8217;s community conferences</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This summer, we have been kept busy with a number of things. As you can see with the many blog posts from the Librem 5 phone development team (many more are scheduled to be published in the coming days and weeks), we have been heavily focused on preparing the software platform for the phone, as well as designing the hardware to be manufactured for the development kits and the components that will be used for the production phone.</p>
<p>However, our work does not happen in isolation, hence why many of us attend FLOSS conferences as part of our collaborative development model. Whenever and wherever possible, we aim to supplement our attendance with sponsorship of those important Free Software events.</p>
<ul>
<li>
<figure id="attachment_55666" style="width: 300px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2018/07/guadec.jpg"><img class="size-medium wp-image-55666" src="https://puri.sm/wp-content/uploads/2018/07/guadec-300x143.jpg" alt="" width="300" height="143" srcset="https://puri.sm/wp-content/uploads/2018/07/guadec-300x143.jpg 300w, https://puri.sm/wp-content/uploads/2018/07/guadec-768x367.jpg 768w, https://puri.sm/wp-content/uploads/2018/07/guadec-1024x489.jpg 1024w, https://puri.sm/wp-content/uploads/2018/07/guadec-600x287.jpg 600w, https://puri.sm/wp-content/uploads/2018/07/guadec.jpg 1296w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption class="wp-caption-text">The GUADEC 2018 conference attendees</figcaption></figure>
<p>Some of you might already have met multiple Librem 5 developers who attended <a href="https://guadec.org/" target="_blank" rel="noopener">GUADEC</a> at the beginning of the month, where we sponsored a coffee break to offset some of the costs of organizing the conference.</li>
<li>This week, our PureOS developers are attending the Debian conference, starting with &#8220;Debcamp&#8221; this week and then the core conference days this upcoming week. Like GUADEC, we are also supporting debconf by <a href="https://debconf18.debconf.org/sponsors/" target="_blank" rel="noopener">sponsoring the event</a> in addition to sending team members there. You can see Zlatan, Jonas, Matthias and Chris Lamb roaming the venue, so make sure to say hi to them!</li>
<li>Shortly after debconf, some of us will be attending <a href="https://akademy.kde.org/2018" target="_blank" rel="noopener">Akademy 2018</a>, the KDE conference, which we are sponsoring at the bronze level.</li>
</ul>
<p>Those are the essential conferences we&#8217;re attending this summer season. While we are careful with our travel and sponsorships this year with the significant investments that our R&amp;D efforts require, we hope to continue to support such events close to our technological stack and communities, and to broaden our presence in the future.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2018-summer-conferences/">An overview of this summer&#8217;s community conferences</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Warehouse Clearance Sale! Librem laptops starting at $999</title>
		<link>https://puri.sm/posts/warehouse-clearance-sale-librem-laptops-starting-at-999/</link>
		<pubDate>Mon, 16 Jul 2018 20:09:03 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Promotions]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=55672</guid>
		<description><![CDATA[<p>We sometimes get asked whether we will sell previous Librem models at a discount. The fact is that we normally don&#8217;t have a lot of Librem laptops lying around&#8211;the current stock sells out quickly and we order new batches. However, we also sometimes offer more than one type of Librem 13 or 15 laptop so [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/warehouse-clearance-sale-librem-laptops-starting-at-999/">Warehouse Clearance Sale! Librem laptops starting at $999</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We sometimes get asked whether we will sell previous Librem models at a discount. The fact is that we normally don&#8217;t have a lot of Librem laptops lying around&#8211;the current stock sells out quickly and we order new batches. However, we also sometimes offer more than one type of Librem 13 or 15 laptop so customers can pick which hardware appeals most to them. Most recently this happened when we offered you the choice of i5 vs. i7 CPU and the choice of adding on a TPM chip. The demand for the i7 CPU and TPM chips were overwhelming to the point that both the i7 and <a href="https://puri.sm/posts/tpm-by-default-and-free-international-shipping/">TPM chip are now standard</a> on our entire product line.</p>
<p>Standardizing on i7 and TPM means that we still have some laptops in the warehouse that either have an i5 CPU or don&#8217;t feature TPM so we will be offering these models at a <strong>significant discount</strong>! As you might expect, <strong>supplies are limited</strong>&#8211;when we run out of these models they are gone for good so <strong>you have to act fast</strong>. Like our current Librem 13 and Librem 15 laptops these are new in box and have our standard warranty and <a href="https://puri.sm/posts/tpm-by-default-and-free-international-shipping/">free international shipping</a>.</p>
<p>Here&#8217;s what&#8217;s on sale:</p>
<ul>
<li>Librem 13 (i5 CPU) US keyboard, no TPM: starting at $999</li>
<li>Librem 13 (i5 CPU) UK keyboard, no TPM: starting at $999</li>
<li>Librem 13 (i7 CPU) US keyboard, no TPM: starting at $1199</li>
<li>Librem 13 (i7 CPU) UK keyboard, no TPM: starting at $1199</li>
<li>Librem 15 (i7 CPU) US keyboard, no TPM: starting at $1399</li>
<li>Librem 15 (i7 CPU) UK keyboard, no TPM: starting at $1399</li>
</ul>
<p>All of these models are now available for sale on <a href="https://shop.puri.sm/product-tag/clearance/">our warehouse clearance page</a> while supplies last!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/warehouse-clearance-sale-librem-laptops-starting-at-999/">Warehouse Clearance Sale! Librem laptops starting at $999</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Why Freedom is Essential to Security and Privacy</title>
		<link>https://puri.sm/posts/why-freedom-is-essential-to-security-and-privacy/</link>
		<pubDate>Thu, 05 Jul 2018 16:42:54 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=55164</guid>
		<description><![CDATA[<p>This post is based off of &#8220;Freedom, Security and Privacy&#8221; a keynote I gave at OpenWest 2018. You can see the full video of the talk here. Freedom, security and privacy are interrelated. The relationship between these three concepts is more obvious in some cases than others, though. For instance, most people would recognize that [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/why-freedom-is-essential-to-security-and-privacy/">Why Freedom is Essential to Security and Privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>This post is based off of &#8220;Freedom, Security and Privacy&#8221; a keynote I gave at OpenWest 2018. You can see the full video of the talk <a title="Freedom, Security and Privacy keynote at OpenWest 2018" href="https://www.youtube.com/watch?v=RZfHcwvGYGo" target="_blank" rel="noopener">here</a>.</em></p>
<p>Freedom, security and privacy are interrelated. The relationship between these three concepts is more obvious in some cases than others, though. For instance, most people would recognize that privacy is an important part of freedom. In fact, studies have shown that being under surveillance changes your behavior such as one study that demonstrates that <a title="Freedom, Security and Privacy keynote at OpenWest 2018" href="http://journals.sagepub.com/stoken/rbtfl/1jxrYu4cQPtA6/full" target="_blank" rel="noopener">knowing you are under surveillance silences dissenting views</a>. The link between privacy and security is also pretty strong, since often you rely on security (encryption, locked doors) to protect your privacy.</p>
<p>The link between freedom and security may be less obvious than the others. This is because security often relies on secrecy. You wouldn&#8217;t publish your password, safe combination or debit card PIN for the world to see, after all. Some people take the idea that security sometimes relies on secrecy to mean that secrecy automatically makes things more secure. They then extend that logic to hardware and software: if secret things are more secure, and proprietary hardware and software are secret, therefore proprietary hardware and software must be more secure than a free alternative.</p>
<p>The reality is that freedom, security and privacy are not just interrelated, <em>they are interdependent</em>. In this post I will analyze the link between these three concepts and in particular how freedom strengthens security and privacy with real world examples.</p>
<h1>Do Many Eyes Make Security Bugs Shallow?</h1>
<p>A core tenet of the <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="nofollow noopener">Free Software</a> movement is &#8220;many eyes make bugs shallow.&#8221; This statement refers to the fact that with proprietary software you have a limited amount of developers who are able to inspect the code. With Free Software, everyone is free to inspect the code and as a result you end up with more people (and more diverse people) looking at the code. These diverse eyes are more likely to find bugs than if the code were proprietary.</p>
<p>Some people extend this idea to say that many eyes also make security bugs shallow. To that I offer the following counterpoint: OpenSSL, Bash and Imagemagick. All three of these projects are examples where the code was available for everyone to inspect, but each project had critical security bugs hiding inside of the code for years before it was found. In particular in the case of Imagemagick, I&#8217;m all but certain that security researchers were motivated by the recent bugs in OpenSSL and Bash to look for bugs in other Free Software projects that were included in many embedded devices. Now before anyone in the proprietary software world gets too smug, I&#8217;d also like to offer a counter-counterpoint: Flash, Acrobat Reader and Internet Explorer. All three of these are from a similar vintage as the Free Software examples and all three are great examples of proprietary software projects that have a horrible security track record.</p>
<p>So what does this mean? For security bugs, it&#8217;s not sufficient for <em>many</em> eyes to look at code&#8211;<strong>security bugs need the <em>right</em> eyes looking at the code</strong>. Whether the researcher is fuzzing a black box, reverse engineering a binary, or looking directly at the source code, security researchers <em>will</em> find bugs if they look.</p>
<h1>When Security Reduces Freedom</h1>
<p>At Purism we not only develop hardware, we also develop the <a href="https://pureos.net/">PureOS</a> operating system that runs on our hardware. PureOS doesn&#8217;t <em>have</em> to run on Purism hardware, however, and we&#8217;ve heard from customers who use PureOS on other laptops and desktops. Because of this, we sometimes will test out PureOS on other hardware to see how it performs. One day, we decided to test out PureOS on a low-end lightweight notebook, yet when we went to launch the installer, we discovered that the notebook refused to boot it! It turns out that <a href="https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#Secure_boot" target="_blank" rel="nofollow noopener"><em>Secure Boot</em></a> was preventing the PureOS installer from running.</p>
<h2>What is <em>Secure Boot</em> and why is it problematic?</h2>
<p><em>Secure Boot</em> is a security feature added to <a href="https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface" target="_blank" rel="nofollow noopener">UEFI</a> systems that aims to protect systems from malware that might attack the boot loader and attempt to hide from the operating system (by infecting it while it boots). <em>Secure Boot</em> works by requiring that any code it runs at boot time be signed by a certificate from Microsoft or from vendors that Microsoft has certified. The assumption here is that an attacker would not be able to access the private keys from Microsoft or one of its approved vendors to be able to sign its own malicious code. Because of that, <em>Secure Boot</em> can prevent the attacker from running code at boot.</p>
<p>When <em>Secure Boot</em> was first announced, the Linux community got in quite an uproar over the idea that Microsoft would be able to block Linux distributions from booting on hardware. The counter-argument was that a user could also opt to disable <em>Secure Boot</em> in the UEFI settings at boot time and boot whatever they want. Some distributions like Red Hat and Ubuntu have taken the additional step of getting their boot code signed so you can install either of those distributions even with <em>Secure Boot</em> enabled.</p>
<p>Debian has not yet gotten their boot code signed for <em>Secure Boot</em> and since PureOS is based off of Debian, this also means it cannot boot when UEFI&#8217;s <em>Secure Boot</em> is enabled. You might ask what the big deal was since all we had to do is disable <em>Secure Boot</em> and install PureOS. Unfortunately, some low-cost hardware saves costs by loading a very limited UEFI configuration that doesn&#8217;t give you the full range of UEFI options such as changing <em>Secure Boot</em>. That particular laptop fell into this category so <strong>we couldn&#8217;t disable <em>Secure Boot </em></strong>and as a result <strong>we couldn&#8217;t install our OS</strong>&#8211;we were limited to operating systems that partnered with Microsoft and its approved vendors.</p>
<h2>Secure Booting: Now with Extra Freedom</h2>
<p>It&#8217;s clear that protecting your boot code from tampering is a nice security feature, but is that possible without restricting your freedom to install any OS you want? Isn&#8217;t the only viable solution having a centralized vendor sign approved programs? It turns out that Free Software has provided a solution in the form of <a title="Heads" href="https://github.com/osresearch/heads">Heads</a>, a program that runs within a Free Software BIOS to detect the same kind of tampering <em>Secure Boot</em> protects you from, only with keys that are fully under your control!</p>
<p>The way that Heads works is that it uses a special independent chip on your motherboard called the TPM to store measurements from the BIOS. When the system boots up, the BIOS sends measurements of itself to the TPM. If those measurements match the valid measurements you set up previously, it unlocks a secret that Heads uses to prove to you it hasn&#8217;t been tampered with. Once you feel confident that Heads is safe, you can tell it to boot your OS and Heads will then check all of the files in the /boot directory (the OS kernel and supporting boot files) to make sure they haven&#8217;t been tampered with. Heads uses your own GPG key signatures to validate these files and <a href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">if it detects anything has been tampered with, it sends you a warning so you know not to trust the machine</a> and not to type in any disk decryption keys or other secrets.</p>
<p>With Heads, you get the same kind of protection from tampering as <em>Secure Boot</em>, but you can choose to change both the TPM secrets and the GPG keys Heads uses at any time&#8211;everything is under your control. Plus since Heads is Free Software, you can customize and extend it to behave exactly as you want, which means an IT department could customize it to tell the user to turn the computer over to IT if Heads detects tampering.</p>
<h1>When Security without Freedom Reduces Privacy</h1>
<p>Security is often used to protect privacy, but without freedom, an attacker can more easily subvert security to exploit privacy. Since the end-user can&#8217;t easily inspect proprietary firmware, an attacker who can exploit that firmware can implant a backdoor that can go unseen for years. Here are two specific examples where the NSA took advantage of this so they could snoop on targets without their knowing.</p>
<ul>
<li><strong>NSA Backdoors in Cisco Products:</strong> Glenn Greenwald was one of the reporters who initially broke the Edward Snowden NSA story. In his memoir of those events, <a href="http://www.glenngreenwald.net/"><em>No Place to Hide</em></a>, Greenwald describes a new NSA program where the NSA would intercept Cisco products that were shipping overseas, <a href="https://www.infoworld.com/article/2608141/internet-privacy/snowden--the-nsa-planted-backdoors-in-cisco-products.html">plant back doors</a> in them, then repackage them with the factory seals. The goal was to use those back doors to snoop on otherwise protected network traffic going over that hardware. <em>Update: <a href="https://www.tomshardware.com/news/cisco-backdoor-hardcoded-accounts-software,37480.html">Five new backdoors</a> have been discovered in Cisco routers during the beginning of 2018, although whether they were intentional or accidental has not been determined.</em></li>
<li><strong>NSA Backdoors in Juniper Products:</strong> Just in case you are on Team Juniper instead of Team Cisco, it turns out you weren&#8217;t excluded. <a href="https://www.zdnet.com/article/nsa-suspected-in-juniper-firewall-backdoor-mystery-but-questions-remain/">The NSA is suspected in a back door found in Juniper firewall products within its ScreenOS</a> that had been there since mid-2012. The backdoor allowed admin access to Juniper firewalls over SSH and also enabled the decryption of VPN sessions within the firewall&#8211;both very handy if you want to defeat the privacy of people using those products.</li>
</ul>
<p>While I picked on network hardware in my examples, there are plenty of other examples outside of Cisco, Juniper, and the NSA where because of a disgruntled admin, a developer bug, or paid spyware, a backdoor or default credentials showed up inside proprietary firmware in a security product. The fact is, <em>this is a difficult if not impossible problem to solve with proprietary software</em> because there&#8217;s no way for an end user to verify that the software they get from their vendor matches the source code that was used to build it, much less actually audit that source code for back doors.</p>
<h1>When Freedom Protects Security and Privacy</h1>
<p>The Free Software movement is blazing the trail for secure and trustworthy software via the <a href="https://reproducible-builds.org/">reproducible builds initiative</a>. For the most part, people don&#8217;t install software directly from the source code but instead a vendor takes code from an upstream project, compiles it, and creates a binary file for you to use. In addition to a number of other benefits, using pre-compiled software saves the end user both the time and the space it would take to build software themselves. The problem is, an attacker could inject their own malicious code at the software vendor and even though the source code itself is Free Software, their malicious code could still hide inside the binary.</p>
<p>Reproducible builds attempt to answer the question: &#8220;does the binary I get from my vendor match the upstream source code that was used to build it?&#8221; This process uses the freely-available source code from a project to test for any tampering that could have happened between the source code repository, the vendor, and you making sure that a particular version of source code will generate the same exact output each time it is built, regardless of the system that builds it. That way, if you want to verify that a particular piece of software is safe, you can download the source code directly from the upstream developer, build it yourself, and once you have the binary you can compare your binary with the binary you got from your vendor. If both binaries match, the code is safe, if not, it could have been tampered with.</p>
<p><a href="https://wiki.debian.org/ReproducibleBuilds">Debian is working to make all of its packages reproducible</a> and software projects such as Arch, Fedora, Qubes, Heads, Tails, coreboot and <a href="https://reproducible-builds.org/who/">many others</a> are also working on their own implementations. This gives the end user an ability to detect tampering that would be impossible to detect with proprietary software since by definition there&#8217;s no way for you to download the source code and validate it yourself.</p>
<h1>Freedom, Security and Privacy in Your Pocket</h1>
<p>Another great example of the interplay between freedom, security and privacy can be found by comparing the two operating systems just about everyone carries around with them in their pockets: iOS and Android. Let&#8217;s rate the freedom, security and privacy of both of these products on a scale of 1 to 10.</p>
<p>In the case of iOS, it&#8217;s pretty safe to say that the general consensus puts iOS security near the top of the scale as it often stands up to government-level attacks. When it comes to privacy, we only really have Apple&#8217;s marketing and other public statements to go by, however because they don&#8217;t seem to directly profit off of user data (although apps still could), we can cut them a bit of a break. When it comes to freedom, however, clearly their walled garden approach to app development and their tight secrecy around their own code gives them a low rating so the end result is:</p>
<ul>
<li>Security: 9</li>
<li>Privacy: 6</li>
<li>Freedom: 1</li>
</ul>
<p>Now let&#8217;s look at Android. While I&#8217;m sure some Android fans might disagree, the general consensus among the security community seems to be that Android is not as secure as iOS so let&#8217;s put their security a bit lower. When it comes to freedom, if you dig far enough into Android you will find a gooey Linux center along with a number of other base components that Google is using from the Free Software community such that outside parties have been able to build their own stripped-down versions of Android from the source code. While you have the option to load applications outside of Google&#8217;s Play Store, most of the apps you will find there along with almost all of Google&#8217;s own apps are proprietary, so their freedom rating is a mixed-bag. When it comes to privacy though, I think it&#8217;s pretty safe to rate it very low, given the fundamental business model behind Android is to collect and sell user data.</p>
<ul>
<li>Security: 7</li>
<li>Freedom: 5</li>
<li>Privacy: 1</li>
</ul>
<p>Over the long run, the <a href="/products/" target="_blank" rel="noopener">Librem line of products</a> aims to address these concerns.</p>
<h1>Why Not All Three?</h1>
<p>To protect your own security and privacy, you need freedom and control. Without freedom, security and privacy require the full trust of vendors. However, vendors don&#8217;t always have your best interests at heart; in fact, <a href="https://puri.sm/learn/eliminating-corporate-control-and-data-capitalism/">in many cases vendors have a financial incentive to violate your interests</a>, especially when it comes to privacy. The problem is, with proprietary software it can be difficult to prove a vendor is untrustworthy and if you <em>do</em> prove it, it&#8217;s even harder to revoke that trust.</p>
<p>With Free Software products, you have control of your trust. You also have the ability to verify that your Free Software vendors are trustworthy. With reproducible builds, you can download the source code and verify it all yourself.</p>
<p>In the end, freedom results in stronger security and privacy. These three concepts aren&#8217;t just interrelated, but they are <em>interdependent</em>. As you increase freedom, you increase security and privacy and when you decrease freedom, you put security and privacy at risk. This is why we design all of our products with freedom, security and privacy as strict requirements and continue to work toward increasing all three in everything we do.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/why-freedom-is-essential-to-security-and-privacy/">Why Freedom is Essential to Security and Privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Solving the first FSF RYF hurdle for the Librem 5</title>
		<link>https://puri.sm/posts/librem5-solving-the-first-fsf-ryf-hurdle/</link>
		<pubDate>Tue, 19 Jun 2018 15:26:40 +0000</pubDate>
		<dc:creator><![CDATA[Angus Ainslie]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=54626</guid>
		<description><![CDATA[<p>While investigating using the i.MX 8 for the Librem 5 phone we found an issue that would have been problematic for us to obtain the Free Software Foundation&#8217;s &#8220;Respects Your Freedom&#8221; (RYF) hardware endorsement: In U-Boot there are a number of firmware blobs that need to be loaded into the DDR PHY so that it can [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-solving-the-first-fsf-ryf-hurdle/">Solving the first FSF RYF hurdle for the Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>While investigating using the <a href="https://www.nxp.com/docs/en/fact-sheet/i.MX8M-FS.pdf">i</a><a href="https://www.nxp.com/docs/en/fact-sheet/i.MX8M-FS.pdf">.MX 8</a> for the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> phone we found an issue that would have been problematic for us to obtain the Free Software Foundation&#8217;s &#8220;<a href="https://www.fsf.org/resources/hw/endorsement/criteria">Respects Your Freedom</a>&#8221; (RYF) hardware endorsement:</p>
<ul>
<li>In U-Boot there are a number of firmware <a href="https://puri.sm/learn/blobs/" target="_blank" rel="noopener">blobs</a> that need to be loaded into the <a href="https://github.com/librecore-org/librecore/wiki/Understanding-DDR-Memory-Training#ddr-phy-interface-dfi">DDR PHY</a> so that it can be trained to work with DDR4. This training is done on every boot.</li>
<li>The normal boot sequence for the i.MX 8 is that the internal ROM loader loads the <a href="http://processors.wiki.ti.com/index.php/The_Boot_Process">Secondary Program Loader (</a><a href="http://processors.wiki.ti.com/index.php/The_Boot_Process">SPL</a><a href="http://processors.wiki.ti.com/index.php/The_Boot_Process">)</a> which, in this case, is a small version of U-Boot that can initialize the DDR and load the full U-Boot into DDR to finish the boot process. Very early in the SPL, the training blobs get loaded into the DDR PHY and the training sequence is run. The DDR training procedure is completely un-documented so re-writing the firmware blobs with free/libre or open source versions would be an arduous process.</li>
<li>We can’t ignore the DDR PHY because it is interface between the i.MX 8 internal buses and the DDR4 chips outside of the SOC. The DDR PHY is also part of the i.MX 8 silicon so we can’t just replace the DDR PHY with a different one. It also appears that all DDR PHY’s required this training to work with DDR4, so going to a different <a href="https://en.wikipedia.org/wiki/System_on_a_chip">SOC</a> wouldn’t solve it either.</li>
</ul>
<p>The RYF has a “secondary processor” exclusion that can be granted on a case by case basis. We will leverage this exclusion to load and train the DDR PHY on the i.MX 8. <strong>We will use a secondary processor to keep binary blobs out of u-boot and the kernel.</strong><span id="more-54626"></span></p>
<ul>
<li>Luckily, the i.MX 8 has some A53 cores and an M4 core all on the same silicon. The A53 cores run U-Boot and the Linux kernel and the M4 can run bare metal code or a number of liberated Real Time Operating Systems (RTOSes). We decided to write some bare metal M4 code to do the DDR PHY training.</li>
<li>The M4 has access to all of the peripherals attached to the i.MX 8 so our initial proof of concept reads the DDR PHY firmware from the MMC card and then the M4 takes over to load it into the DDR PHY. Then U-Boot runs the training algorithm and initializes the DDR.</li>
<li>This is more challenging than it might sound because the M4 processor can be booted by U-Boot but it is usually done after the DDR is initialized. Luckily the i.MX 8 also has some on chip RAM that the M4 can use. The U-Boot SPL uses all of the Tightly Coupled Memories (TCM) during boot so we needed to load the M4 firmware into the On-Chip RAM (OCRAM). There is a simple message loop in our bare metal code that allows the A53 core to send messages to the M4 to load the training firmware into the DDR PHY.</li>
</ul>
<p>This implementation keeps the A53 core “clean” of binary firmware blobs and the M4 is the “secondary processor” that handles the blobs.</p>
<h1>Continuing towards RYF Endorsement of the Librem 5</h1>
<p>We will be modifying this proof of concept for the delivery of the dev kit and the Librem 5 phone. To further separate the binary blobs from the A53 cores, we will add an SPI flash chip to store the firmware. The SPI flash will be read only so the firmware blobs can’t be modified without the user knowing.</p>
<p>This approach to the binary blobs has been accepted by the FSF under the “secondary processor” exception so we are clear to move forward with the i.MX 8 processor.</p>
<p>We will continue to keep the FSF updated on our progress, share our hardware for testing, and advance toward the high-bar goal of having the Librem 5 attain the gold-standard of the Free Software Foundation’s Respects Your Freedom endorsement.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-solving-the-first-fsf-ryf-hurdle/">Solving the first FSF RYF hurdle for the Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>What is PureOS and how is it built?</title>
		<link>https://puri.sm/posts/what-is-pureos-and-how-is-it-built/</link>
		<pubDate>Fri, 15 Jun 2018 11:00:59 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=50392</guid>
		<description><![CDATA[<p>PureOS is a general purpose operating system that is based on the Linux kernel and is focused on being an entirely Free (as in freedom) OS. It is officially endorsed by the Free Software Foundation. We adhere to the Debian Social Contract and the GNU FSDG. PureOS aims to match and surpass mainstream operating systems [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/what-is-pureos-and-how-is-it-built/">What is PureOS and how is it built?</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a><a href="https://pureos.net/" target="_blank" rel="noopener"><img class="alignright wp-image-46148 size-medium" src="https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases-300x169.jpg" alt="" width="300" height="169" srcset="https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases-1024x576.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a> is a general purpose operating system that is based on the Linux kernel and is focused on being an entirely Free (as in freedom) OS. It is officially <a href="https://puri.sm/posts/fsf-endorses-pureos/">endorsed by the Free Software Foundation</a>. We adhere to the <a href="https://www.debian.org/social_contract#guidelines" target="_blank" rel="noopener">Debian Social Contract</a> and the <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html" target="_blank" rel="noopener">GNU FSDG</a>.</p>
<p>PureOS aims to match and surpass mainstream operating systems (such as Windows and macOS) by striking the balance between security and usability, to provide the best possible out-of-the-box experience paired with the best privacy, security, and software freedom protections possible. The idea is to make it easy to feel safe and secure with an operating system you can trust from the ground up and with appropriate tools.<span id="more-50392"></span></p>
<p>PureOS comes bundled with a few desktop apps preinstalled for users, but its software library contains <em>thousands</em> of other apps they can install. All apps are Free Software.</p>
<p>For developers,  PureOS tries to be a nice base platform that will help extend and improve the reach of the Free &amp; Open-Source software community. Before we dive into the community aspect, lets first explain how PureOS is built.</p>
<h1>Debian—the best parent one can have</h1>
<p>PureOS is a <a href="https://www.debian.org/" target="_blank" rel="noopener">Debian</a> based <a href="https://en.wikipedia.org/wiki/Rolling_distribution" target="_blank" rel="noopener">rolling release distribution</a>. To be more precise, PureOS merges packages from the Debian &#8220;testing&#8221; main archive (and only main, since the Debian main archive is the one containing only Freedom respecting software) into a suite called <em>landing</em>. For those familiar with Debian and how some Linux distros are built, imagine PureOS landing as Debian&#8217;s unstable.</p>
<p>In order to facilitate maintenance and contributions, we have designed the PureOS technical architecture with a very innovative approach, and the infrastructure and technologies allowing this are developed and funded by Purism. One important example is <a href="https://github.com/lkorigin/laniakea" target="_blank" rel="noopener">Laniakea</a>, an integrated suite of tools layered on top of the Debian Archive Kit (<a href="https://wiki.debian.org/DebianDak" target="_blank" rel="noopener">dak</a>) to manage many aspects of the OS building process. These managed aspects include building packages, performing package QA, synchronizing them with Debian, creating live images, etc. Much of the code is written in the <a href="https://dlang.org/" target="_blank" rel="noopener">D programming language</a> and <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a>, using <a href="https://www.postgresql.org/" target="_blank" rel="noopener">PostgreSQL</a> as the database (replacing MongoDB that was used before) and <a href="http://zeromq.org/" target="_blank" rel="noopener">ZeroMQ</a> for message passing.</p>
<h2>How PureOS differs</h2>
<p>From our Debian roots, we push additional PureOS-specific changes into &#8220;landing&#8221;, such as:</p>
<ul>
<li>applying general kernel patches to improve the user experience or security;</li>
<li>modifying desktop default settings;</li>
<li>adding freedom respecting patches (e.g. removing offending add-ons from various packages and removing recommendations on non-free code);</li>
<li>enabling sudo by default;</li>
<li>modifying the system&#8217;s default PATH;</li>
<li>adding a lot of customizations to how we build our live images and how our installation process works (based on the <a href="https://calamares.io/" target="_blank" rel="noopener">Calamares</a> installer framework and GNOME Initial Setup);</li>
<li>adding new artwork;</li>
<li>setting GRUB to run in fastboot mode;</li>
<li><a href="https://wayland.freedesktop.org/" target="_blank" rel="noopener">Wayland</a>-based GNOME desktop session by default (PureOS was among the first distributions to adopt that technology as default for the desktop user session, a couple of days faster than <a href="https://getfedora.org/" target="_blank" rel="noopener">Fedora</a> even);</li>
<li><a href="https://gitlab.com/apparmor/apparmor/wikis/home/" target="_blank" rel="noopener">AppArmor</a> enabled by default (as a great security practice that doesn&#8217;t break everyday usage);</li>
<li>PureBrowser (our fork of Firefox with added extensions for improving security and privacy, and additional changes to make it FSF FSDG-compliant) provided as the default browser;</li>
</ul>
<p>&#8230;and many more changes that we think will improve the usability of the system, make it more free (by the FSF&#8217;s definition of free software), or improve security. For example, the usage of torsocks is also being researched as a possible new default way to run network-oriented applications. We may also apply additional kernel patches or make general system improvements as the need arises.</p>
<h2>Testing the landing changes before they go green</h2>
<p>In order for packages to move from the initial &#8220;landing&#8221; suite into the &#8220;green&#8221; suite (what our users actually run), certain criteria needs to be met that are set in what is called a &#8220;migration policy&#8221;. The policy includes an urgency-dependent timer (typically, the new package upload has to stay in &#8220;landing&#8221; for 4 to 10 days) and also pass some basic quality checks (e.g. must be installable and check for other packages that need to migrate to &#8220;green&#8221; first).</p>
<p>While PureOS currently has a very basic QA process on package migrations (future infrastructure will be extended with <a href="http://open.qa/" target="_blank" rel="noopener">openQA</a>), it does benefit from a lot of work done by Debian and additional tests run for Debian on Debian infrastructure. It is rare that critical bugs find their way into Debian testing because most of them get caught before a package reaches testing. Catching these defects before they get into Debian testing occurs for several reasons. Besides the fact that every package has at least one human maintainer and that Debian has a massive pool of developers and users that that report bugs, Debian also has:</p>
<ul>
<li>dependency checks;</li>
<li>dose checks (e.g. non-installable packages, missing conflicts);</li>
<li><a href="https://piuparts.debian.org/" target="_blank" rel="noopener">piuparts</a> (testing of installation, removal or upgrade of packages);</li>
<li>archive rebuilds (to find Fails To Build From Source (FTBFS) packages);</li>
<li>custom rebuilds (to test breakage of toolchain versions);</li>
<li><a href="https://lintian.debian.org/" target="_blank" rel="noopener">lintian</a> checks (to ensure a package follows Debian&#8217;s technical policy and packaging guidelines);</li>
<li>a couple of continuous integration tools (some with autopkgtest);</li>
<li>security trackers;</li>
<li>etc.</li>
</ul>
<p>Being based on Debian is a good choice, but people often ask, &#8220;Why is PureOS based on the <em>testing</em> suite of Debian in particular?&#8221; The answer is simple: it is a middle ground for development, stability, and freshness of packages; nice for everyday usage while still giving freedom to explore fresh new things. Today, there is also the need for a phone development platform, and staying on Debian &#8220;stable&#8221; would simply not be possible for such a fast-moving project relying on many core packages being closer to more recent upstream releases.</p>
<p>After packages have migrated from the &#8220;landing&#8221; stage to &#8220;green&#8221; and are available to users via regular updates, there is still the possibility that an issue has slipped through our QA—since there is of course no such thing as ultimate perfect stability, anywhere—that much is clear if you recall recent Windows update issues (updates working, not working, breaking usage etc.) and, even in the Linux distros world, Ubuntu sometimes pulled off its ISO images due to installer bugs. So, presuming that perfect stability and bug-free software does not exist, PureOS has a transparent bug tracking system where users can report bugs and help resolve them. Just visit <a href="https://tracker.pureos.net/" target="_blank" rel="noopener">tracker.pureos.net</a> and join the community! Additionally, a large part of the PureOS infrastructure is visible at <a href="http://master.pureos.net/" target="_blank" rel="noopener">master.pureos.net</a>. In the future it will be easy to search online for packages at <a href="https://software.pureos.net/" target="_blank" rel="noopener">software.pureos.net</a>. These are the basic steps and a basic overview of PureOS and its infrastructure. Next stop: PureOS and its community.</p>
<h1>PureOS as a community project</h1>
<p>Purism acknowledges that PureOS is a community project that needs to be able to stand on its own and Purism absolutely wants to encourage community development. Besides currently funding the entire infrastructure and development, Purism will soon create dedicated mailing lists for community members who want to help with the development of PureOS itself. The motto of PureOS development is very simple: create the best possible everyday mainstream OS while pushing for the best security, freedom, and privacy features. So any such feature that will enhance the user experience and not break the everyday workflow is going to be discussed and can make its way into the PureOS defaults. Of course PureOS can include patches to make it run better on Purism&#8217;s Librem devices but it will never be locked down, so that it can always be used on any hardware that supports entirely Freedom-oriented operating systems.</p>
<p>As you know, PureOS is based on Debian with its own set of defaults. While it will most likely always be different and carry patches specific to it (sometimes more, sometimes less), the goal is to <em>not</em> maintain a huge and unnecessary number of deltas (changes) relative to Debian. That is why PureOS developers are encouraged to try to implement their (reasonable) changes directly into Debian. This already has happened on multiple occasions; a few PureOS-related patches are now in Debian and thus PureOS dropped those patches for itself (making the life of its maintainers easier).</p>
<h2>Future plans and community involvement</h2>
<p>With the <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5</a> now in development, PureOS is also looking into Librem 5-specific image builds so that besides the ARM64 architecture we are also researching usage of <a href="https://github.com/ostreedev/ostree" target="_blank" rel="noopener">OSTree</a>, <a href="https://flatpak.org/" target="_blank" rel="noopener">Flatpak,</a> and a couple of other new technologies to use by default in PureOS on the desktop and/or the phone.</p>
<p>There are a lot of features in the FLOSS world that could be implemented in PureOS but this always requires time and manpower. Anyone willing to suggest improvements and to contribute to the work effort is encouraged to do so by <a href="https://tracker.pureos.net/" target="_blank" rel="noopener">reporting</a> and assigning such tasks to themselves while coordinating with the current core team. We plan to expand the core team outside of the Purism staff and, as things progress, hope that a majority of PureOS devs will be individuals from the community. We believe that PureOS is also great for upstream developers and maintainers since it is easier to include patches—so there is more room to make changes and try out new things.</p>
<p>Also, with the emerging importance of Flatpaks, PureOS is planning to host its own <a href="https://flathub.org/" target="_blank" rel="noopener">Flathub</a> instance (dedicated to Freedom, of course) so upstream developers can just package their app and submit it to PureOS’s flathub if they don&#8217;t want to trouble themselves with system-wide dependencies. Flatpaks have downsides as well, especially regarding the case of potentially slow upstream security patches (at least in theory), but it is not an issue specific to the FLOSS world.</p>
<p>PureOS (and Purism) also acknowledges that apps are a major factor in the adoption of an OS. While the look and feel is very important, the most important thing for the OS is to stay out of the way and enable apps to do the work.</p>
<ul>
<li>The GNU/Linux desktop has caught up with Windows and macOS, and is even more advanced in some respects, but what often turns people off is the absence of apps they are familiar with or can easily transition to, or problems with existing apps.</li>
<li>In general, the GNU/Linux world has very powerful tools, yet in some areas they are missing user interface refinements, require some additional features, and more often than not there is a lack of public funding to sustain the development of those pieces of software.</li>
<li>We hope to develop an ethical app store that will provide users with an option to donate, &#8220;pay what you want&#8221;, or &#8220;subscribe&#8221; (support as a patron) the apps you use. This way, we believe we could play a part in a more sustainable Free Software society and economic system; after all, these projects are a &#8220;public good&#8221; and we should ensure they have a sustainable future. Globally, this approach should encourage the development of ethical software applications to replace the walled gardens we see today on proprietary app platforms.</li>
</ul>
<p>Also while PureOS currently defaults to <a href="https://www.gnome.org/" target="_blank" rel="noopener">GNOME</a>, it is no stranger nor hesitant to adapt and use other default collections and configurations of software. For example, we already have experimental builds of a PureOS <a href="https://www.kde.org/plasma-desktop" target="_blank" rel="noopener">Plasma</a> spinoff—a technology that excites us greatly—so that users would have even more options for default installations. That said, there are no walls in the FLOSS world—you can already install Plasma alongside GNOME today (and vice versa) on PureOS!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/what-is-pureos-and-how-is-it-built/">What is PureOS and how is it built?</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 general development report — June 11, 2018</title>
		<link>https://puri.sm/posts/librem5-progress-report-14/</link>
		<pubDate>Mon, 11 Jun 2018 22:38:53 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=53690</guid>
		<description><![CDATA[<p>There has been some exciting work done on the Librem 5 project and while there is still plenty of work left, we would like to highlight the accomplishments the team has achieved over the last couple of weeks. So here please enjoy a brief update on our recent efforts and victories. Software Work There is [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-14/">Librem 5 general development report — June 11, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>There has been some exciting work done on the Librem 5 project and while there is still plenty of work left, we would like to highlight the accomplishments the team has achieved over the last couple of weeks. So here please enjoy a brief update on our recent efforts and victories.</p>
<h2>Software Work</h2>
<p>There is so much that goes into the software stack of the Librem 5. There&#8217;s the underlying infrastructure like the UI shell and newly developed libraries and protocols. But then there&#8217;s the familiar apps that are necessary.</p>
<p>On the nuts and bolts level, our <a href="https://source.puri.sm/Librem5/phosh">phone shell (phosh)</a> has seen several usability improvements mostly around the lockscreen. One important change is that the lockscreen unlocking has been switched to PAM to better handle the PIN to lock the device. There have also been some additions to the code to better handle multiple outputs (screens). Also, <a href="https://source.puri.sm/Librem5/libhandy">Libhandy</a> is our &#8220;handy&#8221; UI library for developing GTK+ apps. There has been a recent addition of an arrows widget (HdyArrows) to indicate swiping direction which will be very useful to many applications, especially the lockscreen. Additionally, libhandy has seen some bug fixes and a slight rework of the keyboard handling support. Since graphics are important, we have added<a href="https://lists.freedesktop.org/archives/wayland-devel/2018-March/037532.html"> Etnaviv support</a> to weston-simple-dmabuf (a Wayland client to test Linux DMA-BUF protocol implementations). We also extended it&#8217;s <a href="https://lists.freedesktop.org/archives/wayland-devel/2018-March/037536.html">NV12 format support</a>. It&#8217;s being used over here to test wlroot&#8217;s <a href="https://github.com/swaywm/wlroots/pull/698">linux-dmabuf</a> <a href="https://github.com/swaywm/wlroots/pull/724">implementation</a> which we wrote a couple of weeks ago. We&#8217;d like to especially thank the wlroots and Weston projects for their code reviews, recommendations, and support.</p>
<p>Since you can&#8217;t have a phone that doesn&#8217;t make phone calls, there have been great strides made on the <a href="https://source.puri.sm/Librem5/calls">Calls</a> app and the Calls app can successfully place phone calls now! (And if you missed it, we encourage you to go read <a href="https://puri.sm/posts/librem5-progress-report-12/">the exciting blog post</a> about it.) Along with all of the great work it took to get to this point, the interfaces have been documented in the code. Debian packaging is being put together and we&#8217;ve been working to include Flatpak packaging contributed by a member of the community.</p>
<p>Every smart phone needs an On-Screen Keyboard (OSK), so there has been significant development on writing some necessary protocols and getting them upstream. So far the virtual-keyboard protocol <a href="https://github.com/swaywm/wlroots/pull/999">has been accepted</a> for inclusion in upstream wlroots. The text-input protocol has also <a href="https://lists.freedesktop.org/archives/wayland-devel/2018-May/038071.html">been submitted upstream</a>. To test virtual-keyboard protocol, we created a prototype client based on weston-keyboard. You can read more about the OSK developments in <a href="https://puri.sm/posts/dorota-on-the-importance-of-on-screen-keyboards/">Dorota&#8217;s initial blog post on the matter</a>.</p>
<h1>Hardware Work</h1>
<p>Identifying and testing the individual hardware components that will be present on the dev kit and eventual phone is a non-trivial task. After identifying a component as a potential fit for our needs and receiving a couple of them to test, often kernel modules need to be modified or written before the testing can begin. This was the case when evaluating and testing a low power WiFi card/module, which is still underway. Vibration motors are also being gathered for evaluation and battery chargers are being tested. We are also looking into various camera options.</p>
<h1>Community Outreach</h1>
<p>The community continues to be at the front of our thoughts. So we have created a general PureOS wiki at <a href="https://wiki.puri.sm/">wiki.wp.puri.sm</a> that still doesn&#8217;t have much details yet but will eventually be a place to look for both general and technical information on PureOS and Purism products. We&#8217;ve also fixed an issue with the community email lists so that they are functional now and opened up our Matrix rooms so that you can join our discussions with your already existing Matrix ID. For more information on both the email lists and Matrix rooms, have a look at <a href="https://developer.puri.sm/Volunteering/HowTo.html">our volunteer page</a>.</p>
<p>We have been so happy to receive some initial volunteers that are doing fantastic work to help the Librem 5 become awesome. If you&#8217;ve been following and contributing to our code repositories, please note that we just moved the hosting from Gogs to GitLab &#8211; the new location can be found at <a href="https://source.puri.sm/">source.wp.puri.sm</a>.</p>
<p>That&#8217;s all for now folks. Stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-14/">Librem 5 general development report — June 11, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>On the Importance of On-Screen Keyboards</title>
		<link>https://puri.sm/posts/librem5-progress-report-13/</link>
		<pubDate>Mon, 11 Jun 2018 20:36:44 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Tablets]]></category>
		<category><![CDATA[User interaction design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=52786</guid>
		<description><![CDATA[<p>This is a guest post by Dorota, developer on Purism&#8217;s mobile team. The role of keyboards cannot be overstated. They originated long before computers, and survive in the smartphone era. Millions of people text their friend by tapping away on their shiny pocket computers using the venerable QWERTY layout dating back to 1873. It is [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-13/">On the Importance of On-Screen Keyboards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>This is a guest post by Dorota, developer on Purism&#8217;s mobile team.</em><span id="more-52786"></span></p>
<figure style="width: 226px" class="wp-caption alignright"><img class="" src="https://upload.wikimedia.org/wikipedia/commons/7/79/Continental_Standard_typewriter_keyboard_-_key_detail.jpg" alt="typewriter keyboard" width="226" height="509" /><figcaption class="wp-caption-text">A &#8220;Continental Standard&#8221; QWERTY typewriter keyboard. Picture from Wikipedia</figcaption></figure>
<p>The role of keyboards cannot be overstated. They originated long before computers, and survive in the smartphone era. Millions of people text their friend by tapping away on their shiny pocket computers using the venerable QWERTY layout dating back to 1873.</p>
<p>It is hard to imagine a phone without a way to enter text. Some of us are dreaming about <em>Minority Report</em>-style gesturing, but the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> continues the keyboard tradition.</p>
<p>Over the past several weeks, I have become the team&#8217;s keyboard specialist. I spent the time making sure that all the necessary pieces fit together nicely, and proving that with a working prototype. The prototype can be seen in the video below. It was made using rootston (wlroots), GTK and weston-keyboard—remember those names, because they will be important later!</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-52786-68" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://videos.puri.sm/librem5/keyboard-l5-edit.webm?_=68" /><a href="https://videos.puri.sm/librem5/keyboard-l5-edit.webm">https://videos.puri.sm/librem5/keyboard-l5-edit.webm</a></video></div>
<p>The task took me on an interesting and educating journey. The Wayland train took me via input methods to Asia, through protocols, to FLOSS communities. I will try to describe my story for you.</p>
<h1>&#8220;How hard can it be, really?&#8221;</h1>
<p>On the surface of it, a keyboard is a simple device. It is an assortment of buttons attached to a computer. Press a button, and the computer performs a corresponding action. Placing a keyboard on a screen should not be too difficult: just set aside a portion of the screen for keys. Tap: action. Does it sound like your phone&#8217;s screen keyboard though? It does not appear on the screen at all times. And it corrects mistyped words. Surely, there are other differences?</p>
<p>In fact, on-screen keyboards are rarely considered only keyboards in the computing landscape. They are an example of a wider category, called &#8220;input methods&#8221;. Input methods can have more responsibilities than just letting someone press keys. I could use one for correcting a typo I just made, or choose the correct spelling from the dictionary, find alternative words, or even type whole phrases I use a lot, like &#8220;ahoy matey!&#8221; In Asian languages, an input method can be practically required in addition to a keyboard!</p>
<figure style="width: 491px" class="wp-caption alignnone"><img class="size-medium" src="https://upload.wikimedia.org/wikipedia/commons/9/92/Ibus-anthy-on-gedit.png" width="491" height="284" /><figcaption class="wp-caption-text">Typing in Japanese using the Anthy input method. Picture from Wikipedia</figcaption></figure>
<p>While in general, input methods give users a way to enter text, there is a great variety in how they can do it. They can pop up selections, suggest corrections, present phrases, recognize handwriting, or even construct a user-interface that differs nearly entirely from the traditional keyboard to help the disabled (like <a href="http://www.inference.org.uk/dasher/DasherSummary2.html" target="_blank" rel="noopener">Dasher</a> does).</p>
<h1>Enter Wayland</h1>
<p>For me, though, the basic task was to see what the story looks like for plain old English text entered by tapping buttons on a screen. The Librem 5 will be using native Wayland applications exclusively (thanks to GTK3 and Qt5), and that is important when designing the keyboard experience. Wayland deals with human interface devices, like keyboards, mice, touch screens, and input methods. A Wayland compositor acts as an intermediary between the devices and applications. It defines how applications can share those between each other. Imagine what a mess it would be if every application listened to your keyboard at the same time!</p>
<p><img class="alignnone size-full wp-image-54282" src="https://puri.sm/wp-content/uploads/2018/06/keyboard-mouse-touch-and-input-methods-diagram.png" alt="" width="700" height="493" srcset="https://puri.sm/wp-content/uploads/2018/06/keyboard-mouse-touch-and-input-methods-diagram.png 700w, https://puri.sm/wp-content/uploads/2018/06/keyboard-mouse-touch-and-input-methods-diagram-300x211.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>&nbsp;</p>
<p>Here&#8217;s where the technical part starts. Wayland consists of a set of protocols. There is one, <em>wl_keyboard</em>, defining how applications listen to keyboard presses. Similarly, another one (&#8220;text-input&#8221;) defines how applications listen to our input method. Yet another, called &#8220;input-method&#8221;, defines how the <em>input method app</em> communicates with the compositor. This gives us 3 classes of software that need to work together to make on-screen keyboards possible: applications, compositors and keyboards themselves.</p>
<p>As a first impulse, I looked around to see how well supported they are in existing projects. The centerpiece here was the wlroots project, upon which we&#8217;re building Librem 5&#8217;s compositor. It didn&#8217;t support either protocol, and my intention to implement them was met with warm approval from the maintainers. Not everything was so rosy though. The only choice of a keyboard implementing &#8220;input-method&#8221; is the &#8220;weston-keyboard&#8221;, which is arguably not designed for a phone. The &#8220;text-input&#8221; situation is even more interesting. See, I lied a bit: there are really 3 protocols being used for this purpose. Qt and KWin mostly settled on &#8220;_v2&#8221;, and GTK with gnome-shell use &#8220;gtk_input_method&#8221; (as a side note the <a href="http://maliit.github.io/" target="_blank" rel="noopener">maliit</a> project uses &#8220;zwp_text_input_unstable_v1&#8221;). That&#8217;s bad news, because every compositor would have to support both of them in order to communicate text input both to Qt and GTK apps.</p>
<p>The reasonable way to solve this would be to convince everyone to standardize on a single protocol. Before diving in the deep end of the community politics pool, I decided to get my hands dirty to get a better view of the details.</p>
<h1>The work</h1>
<p>I grabbed rootston, GTK 3.22, and weston-keyboard and set off implementing the necessary support in wlroots. Soon after the first code landed, &#8220;gtk_input_method&#8221; was submitted to become the new official &#8220;zwp_text_input_unstable_v3&#8221;. Meanwhile, I <a href="https://github.com/swaywm/wlroots/pull/892" target="_blank" rel="noopener">submitted a pull request to wlroots</a>. The submission sparked a long series of discussions with wlroots developers. The conclusions were twofold: &#8220;text_input_v3&#8221; was very close to what the community needed, and &#8220;input-method&#8221; was half-abandoned, incomplete and duplicating the functionality of other protocols. In short, both protocols needed some work.</p>
<p>The good news is that the discussions were very in-depth and involved people from other projects, clarifying what needs to be done to fix them. At the moment, I&#8217;m working on new proposals for both of them, which will be subject to relentless scrutiny, after which they will hopefully be clean enough for an official blessing and inclusion to <a href="https://github.com/wayland-project/wayland-protocols" target="_blank" rel="noopener">wayland-protocols</a>.</p>
<p>Having good protocols that do their jobs should convince projects like GTK, Qt and Maliit to standardize on a single way of doing things and avoid unnecessary duplication of work.</p>
<p>You may ask: “You already have a working implementation, why do you worry about other projects?” We at the Librem 5 team realize how important of a place this project will take in the Wayland world. Once the phone is released, it will be the reference for other projects to follow. Splitting off and doing things our way would lock some projects to the Librem, while others would follow the rest of the world. Doing things right and in lockstep will make interoperability between Librem phones and everyone else effortless, and make things work well for everyone.</p>
<h1>What&#8217;s next?</h1>
<p>The work on protocols will continue, and their implementations will be submitted for upstreaming into crucial libraries. At some point, weston-keyboard will have to go or get radically transformed, meaning more work for the design team. The protocols should be very close to standardized by the time the development boards find themselves in the hands of the public. I am very curious what input methods you can come up with—the ideas I&#8217;ve heard during discussions nearly melted my brain! And I hope that Asians show their experience in input methods 😉</p>
<p>— Dorota</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-13/">On the Importance of On-Screen Keyboards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://videos.puri.sm/librem5/keyboard-l5-edit.webm" length="1836155" type="video/webm" />
		</item>
		<item>
		<title>Purism’s Security and Privacy Focused Librem 5 Smartphone Makes Major Strides in Manufacturing and Development</title>
		<link>https://puri.sm/posts/librem5-smartphone-makes-major-strides-in-manufacturing-and-development/</link>
		<pubDate>Wed, 06 Jun 2018 14:18:14 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=54029</guid>
		<description><![CDATA[<p>Security focused laptop maker moves forward with manufacture of developer kits and other key milestones in bringing the Librem 5 to market in January 2019 SAN FRANCISCO, California, June 6, 2018 &#8211; Purism, the social purpose corporation which designs and produces popular privacy conscious hardware and software, has announced that its groundbreaking Librem 5 smartphone [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-smartphone-makes-major-strides-in-manufacturing-and-development/">Purism’s Security and Privacy Focused Librem 5 Smartphone Makes Major Strides in Manufacturing and Development</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><i>Security focused laptop maker moves forward with manufacture of developer kits and other key milestones in bringing the Librem 5 to market in January 2019 </i><span id="more-54029"></span></p>
<p>SAN FRANCISCO, California, June 6, 2018 &#8211; Purism, the social purpose corporation which designs and produces popular privacy conscious hardware and software, has announced that its groundbreaking <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> smartphone is currently on schedule for its planned January 2019 delivery date seven months after its crowdfunding campaign raised nearly $2.5 million for the project.</p>
<p>The Librem 5 will be the world’s first community-owned smartphone ecosystem that gives users complete control over their mobile device.</p>
<p>The company has finalized specifications for the Librem 5 hardware platform, and has placed the order to its fabricators for developer kits, which <a href="https://puri.sm/posts/june-1st-last-call-for-librem5-devkit/">share the same base specifications</a> as the final phone design that will be manufactured by Purism.</p>
<figure id="attachment_51954" style="width: 1280px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around.jpg"><img class="wp-image-51954 size-full" src="https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around.jpg" alt="" width="1280" height="720" srcset="https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around.jpg 1280w, https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around-1024x576.jpg 1024w" sizes="(max-width: 1280px) 100vw, 1280px" /></a><figcaption class="wp-caption-text">Mockups of the latest planned phone case design. Images do not represent the development kit.</figcaption></figure>
<p>Significant progress has also been made to the design of the phone hardware and the development of key applications such as:</p>
<ul>
<li>A finalized case design and UI shell</li>
<li>A Calls application for making normal cellular calls</li>
<li>A Contacts application</li>
</ul>
<p><a href="https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9.jpg"><img class="alignnone size-full wp-image-52266" src="https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9.jpg" alt="" width="1920" height="800" srcset="https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9.jpg 1920w, https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9-300x125.jpg 300w, https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9-768x320.jpg 768w, https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9-1024x427.jpg 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Starting at $599—less than the cost of many popular smartphones—the Librem 5 will give users unprecedented control and security with features unavailable on any other mainstream smartphone, including:</p>
<ul>
<li>Native VoIP capabilities</li>
<li>End-to-end encryption of texts messages</li>
<li>Encrypted calling</li>
<li>Convenient preconfigured VPN services for enhanced web browsing protection</li>
<li>3G/4G modem</li>
<li>Edit or develop on the source code, which will be made publicly available</li>
<li>Run <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a> or most GNU+Linux distributions</li>
<li>Enable hardware kill switches for the camera, microphone, WiFi/Bluetooth and baseband</li>
<li>Utilize a slot for an encryption smartcard such as Purism’s <a href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">upcoming Librem Key</a> developed in partnership with Nitrokey</li>
</ul>
<p>There is increasing concern among users around personal data they give up through Android and iOS smartphones, including digital voice assistants like Apple’s Siri or Google Assistant, or even “smart home” devices like the Amazon Echo: WiFi connections, application installations, basic location services, and voice recognition capabilities managed on corporate servers have proven to be less than airtight. Purism hopes to address those concerns by manufacturing phones that will operate with free/libre and open source software within the kernel, the operating system, and all software applications. Purism has built a strong reputation within the GNU/Linux community by delivering laptops designed to specifically meet user concern about digital privacy, chip-by-chip, line-by-line, to respect our common rights to privacy, security, and freedom.</p>
<blockquote>
<figure id="attachment_8674" style="width: 150px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2016/10/todd-weaver.png"><img class="size-thumbnail wp-image-8674" src="https://puri.sm/wp-content/uploads/2016/10/todd-weaver-150x150.png" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2016/10/todd-weaver-150x150.png 150w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-300x300.png 300w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver.png 500w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-100x100.png 100w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-180x180.png 180w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-caption-text">Founder and CEO Todd Weaver</figcaption></figure>
<p>“The progress we’ve made over the last seven months is exciting, and it is a thrill to see the Librem 5 that much closer to getting into users’ hands,” said Todd Weaver, founder and CEO at Purism. “We have an extremely qualified team of engineers and designers building the Librem 5 according to schedule, as well as our proven manufacturing capabilities to meet our delivery goals.”</p></blockquote>
<p>Purism is a veteran of successful crowdfunding campaigns with more than $5 million raised over the past two years and a track record of delivering on products. The company is still accepting pre-orders of the Librem 5 smartphone here: <a href="https://shop.puri.sm/shop/librem-5">https://shop.puri.sm/shop/librem-5</a>.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-smartphone-makes-major-strides-in-manufacturing-and-development/">Purism’s Security and Privacy Focused Librem 5 Smartphone Makes Major Strides in Manufacturing and Development</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Last Call for Librem 5 Dev Kit: order yours before June 1st 2018</title>
		<link>https://puri.sm/posts/june-1st-last-call-for-librem5-devkit/</link>
		<pubDate>Mon, 21 May 2018 15:00:36 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=52631</guid>
		<description><![CDATA[<p>Purism has finalized the specifications for the Librem 5 development kit and will be placing all the component parts order and fabrication run the first week of June 2018. If you want to have early access to the hardware that will serve as the platform for the Librem 5 phone, you must place your dev [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/june-1st-last-call-for-librem5-devkit/">Last Call for Librem 5 Dev Kit: order yours before June 1st 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism has finalized the specifications for the Librem 5 development kit and will be placing all the component parts order and fabrication run the first week of June 2018. If you want to have early access to the hardware that will serve as the platform for the Librem 5 phone, <strong>you <em>must</em> <a href="https://shop.puri.sm/shop/librem-5/" target="_blank">place your dev kit order</a> before June 1st, 2018.</strong> The price for the development kit is now $399, up from the early-bird pricing that was in effect during the campaign and until today. The dev kit is a small batch, &#8220;limited edition&#8221; product. After this batch, we are not planning for a second run (as the production of the phone itself will replace the dev kit in 2019).</p>
<h1>Improved specifications</h1>
<p>We decided to wait to get the latest <em>i.MX 8M</em> <a href="https://en.wikipedia.org/wiki/System_on_module" target="_blank" rel="noopener">System On Module</a> (SOM), rather than utilizing the older <em>i.MX 6</em> SOM, therefore having the dev kit align nicely with the ending phone hardware specifications. This means the dev kits will begin delivery in the latter part of August for the earliest orders while fulfilling other dev kits in September. Choosing to wait for the <em>i.MX 8M</em> SOM also means our hardware design for the Librem 5 phone is still on target for January 2019 because we are pooling efforts rather than separating them as two distinct projects. Our dev kit choices and advancements benefit the Librem 5 phone investment and timeline.</p>
<p>The current dev kit specification is (subject to minor changes during purchasing):</p>
<ul>
<li><em>i.MX 8M</em> system on module (SOM) including at least 2GB LPDDR4 RAM and 16GB eMMC (NOTE: The Librem 5 phone will have greater RAM and storage)</li>
<li>M.2 low power WiFi+Bluetooth card</li>
<li>M.2 cellular baseband card for 3G and 4G networks</li>
<li>5.7&#8243; LCD touchscreen with a 18:9 (2:1) 720&#215;1440 resolution</li>
<li>1 camera module</li>
<li>1 USB-C cable</li>
<li>Librem 5 dev kit <a href="https://en.wikipedia.org/wiki/Printed_circuit_board" target="_blank" rel="noopener">PCB</a>
<ul>
<li>Inertial 9-axis IMU sensor (accel, gyro, magnetometer)</li>
<li>GNSS (aka &#8220;GPS&#8221;)</li>
<li>Ethernet (for debugging and data transfer)</li>
<li>Mini-HDMI connector (for second screen)</li>
<li>Integrated mini speaker and microphone</li>
<li>3.5mm audio jack with stereo output and microphone input</li>
<li>Vibration motor</li>
<li>Ambient light sensor</li>
<li>Proximity sensor</li>
<li>Slot for microSD</li>
<li>Slot for SIM card</li>
<li>Slot for smartcard</li>
<li>USB-C connector for USB data (host and client) and power supply</li>
<li>Radio and camera/mic <a href="https://puri.sm/learn/hardware-kill-switches/">hardware killswitches</a></li>
<li>Holder for optional 18650 <a href="https://en.wikipedia.org/wiki/Lithium_polymer_battery" target="_blank" rel="noopener">Li-poly</a> rechargeable battery with charging from mainboard (<b>battery not required and not included!</b>)</li>
</ul>
</li>
</ul>
<p>The dev kit will be the raw PCB without any outer case (in other words, don&#8217;t expect to use it as a phone to carry in your pocket!), but the physical setup will be stable enough so that it can be used by developers. As we finalize the designs and renders we will publish images.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/june-1st-last-call-for-librem5-devkit/">Last Call for Librem 5 Dev Kit: order yours before June 1st 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Introducing Calls on the Librem 5</title>
		<link>https://puri.sm/posts/librem5-progress-report-12/</link>
		<pubDate>Fri, 18 May 2018 15:12:43 +0000</pubDate>
		<dc:creator><![CDATA[Bob Ham]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=52730</guid>
		<description><![CDATA[<p>Introduction Arguably the most critical functionality in a phone is the ability to make and receive calls through the Public Switched Telephone Network (PSTN), that is normal cellular calls using phone numbers. While at Purism we are eager to implement communication systems that enable much greater privacy and security than one can expect from PSTN [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-12/">Introducing Calls on the Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h3>Introduction</h3>
<p>Arguably the most critical functionality in a phone is the ability to make and receive calls through the Public Switched Telephone Network (<a href="https://en.wikipedia.org/wiki/Public_switched_telephone_network">PSTN</a>), that is normal cellular calls using phone numbers. While at Purism we are eager to implement communication systems that enable much greater privacy and security than one can expect from PSTN calls, the PSTN is still the most ubiquitous network and for the time being we can&#8217;t very well go around selling a phone that isn&#8217;t able to make PSTN calls.<span id="more-52730"></span><a href="#footer0">⁰</a></p>
<p>My task has been to develop a dialer and call handler for PSTN calls. Like all of our work on the Librem 5, this is intended to make use of existing code wherever possible and also target the GNOME platform which our PureOS defaults to. There is currently no GNOME PSTN dialer so we intend to contribute our program to the GNOME project.</p>
<h3>Initial ideas</h3>
<p>After some research, the initial goal was to use the <a href="https://telepathy.freedesktop.org/">Telepathy</a> framework, the idea being that we could write a Telepathy PSTN dialer and get a <a href="https://en.wikipedia.org/wiki/Session_Initiation_Protocol">SIP</a> dialer for free because Telepathy has both PSTN and SIP connection managers. What&#8217;s more, the PSTN connection manager, <a href="https://git.merproject.org/mer-core/telepathy-ring">telepathy-ring</a>, is used in shipped phones. And, while it has its issues, in my opinion Telepathy is pretty awesome 🙂</p>
<p>Furthermore, my colleague François Téchené wrote a <a href="https://puri.sm/posts/librem5-progress-report-8/">blog post</a> describing a &#8220;feature&#8221;-based approach rather than an application-based approach to the phone UX. Telepathy could provide the technical underpinnings of such an approach.</p>
<p>It&#8217;s worth noting however, that Telepathy is a contentious framework. There are a number of voices within the GNOME project who would seemingly have it die a fiery death. Telepathy is a complex system and is notorious for the difficulty of making changes to the framework itself. To do so, one must synchronise changes to formal D-Bus API specifications and a multitude of distinct software components. A long discussion of Telepathy and possible replacements took place on GNOME&#8217;s desktop-devel mailing list in <a href="https://mail.gnome.org/archives/desktop-devel-list/2017-August/thread.html#00112">August</a> and <a href="https://mail.gnome.org/archives/desktop-devel-list/2017-September/thread.html#00047">September</a> 2017.</p>
<h3>Wider discussions</h3>
<p>After starting to work on some preliminary Telepathy code, given that our goal is for the dialer to be GNOME&#8217;s dialer, and the intention to use the contentious Telepathy framework, <a href="https://mail.gnome.org/mailman/listinfo/desktop-devel-list">I checked in</a> with the GNOME desktop-devel mailing list again to see what they thought.</p>
<p>Discussion ensued of both Telepathy and general issues around consolidating different communication systems. The main take away from this discussion was that creating a consolidated system like our &#8220;feature&#8221;-based approach is difficult to say the least. Like the previous discussion in 2017, a Telepathy-NG was touted. This is future work for us to take on once the basic phone functionality is in place. For now though, there was no major push-back against the idea of creating a PSTN dialer using Telepathy.</p>
<p>I also spoke to Robert McQueen, one of the original guys behind Telepathy, on IRC. The telepathy-ring connection manager makes use of a mobile telephony framework called <a href="https://01.org/ofono">oFono</a>. Given the complexity of writing a Telepathy client, Robert suggested that a good approach might be to create a UI with a thin abstraction layer, first implementing a simple oFono backend and then afterwards implementing a more complex Telepathy backend. We&#8217;ve taken on Robert&#8217;s suggestion and our dialer program has been built using this approach.</p>
<h3>Introducing Calls</h3>
<p><a href="https://puri.sm/wp-content/uploads/2018/05/call-screenshot-phone-0-small.png"><img class="alignnone wp-image-52732" src="https://puri.sm/wp-content/uploads/2018/05/call-screenshot-phone-0-small.png" alt="" width="349" height="600" srcset="https://puri.sm/wp-content/uploads/2018/05/call-screenshot-phone-0-small.png 540w, https://puri.sm/wp-content/uploads/2018/05/call-screenshot-phone-0-small-175x300.png 175w" sizes="(max-width: 349px) 100vw, 349px" /></a></p>
<p>Our program is named Calls. It has a GTK+ 3 user interface and makes use of oFono through a thin abstraction layer. We also make use of our <a href="https://source.puri.sm/Librem5/libhandy">libhandy</a> for the dialpad widget.</p>
<h3>&#8220;Can it make a phone call?!&#8221;</h3>
<p>Yes, it can! 🙂</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-52730-69" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/05/calls-demo-01-04.webm?_=69" /><a href="https://puri.sm/wp-content/uploads/2018/05/calls-demo-01-04.webm">https://puri.sm/wp-content/uploads/2018/05/calls-demo-01-04.webm</a></video></div>
<h3>Internals</h3>
<p>The following diagram shows a UMLish representation of the abstraction layer underlying the architecture of Calls:</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/05/provider-abstraction-02.png"><img class="alignnone wp-image-52733" src="https://puri.sm/wp-content/uploads/2018/05/provider-abstraction-02-1024x744.png" alt="" width="850" height="618" srcset="https://puri.sm/wp-content/uploads/2018/05/provider-abstraction-02-1024x744.png 1024w, https://puri.sm/wp-content/uploads/2018/05/provider-abstraction-02-300x218.png 300w, https://puri.sm/wp-content/uploads/2018/05/provider-abstraction-02-768x558.png 768w, https://puri.sm/wp-content/uploads/2018/05/provider-abstraction-02.png 1040w" sizes="(max-width: 850px) 100vw, 850px" /></a></p>
<p>The classes are actually GInterfaces. To give a better understanding of the semantics behind each interface, here is a table of objects that possible implementations could make use of:</p>
<table>
<tbody>
<tr>
<th>Interface</th>
<th>Example implementation objects</th>
</tr>
<tr>
<td>Provider</td>
<td>oFono Manager, Telepathy Account Manager</td>
</tr>
<tr>
<td>Origin</td>
<td>oFono Modem/VoiceCallManager, Telepathy Account</td>
</tr>
<tr>
<td>Call</td>
<td>oFono VoiceCall, Telepathy Channel</td>
</tr>
</tbody>
</table>
<p>The name &#8220;Origin&#8221; was chosen because it is an object which &#8220;originates&#8221; a call.</p>
<p>The MessageSource super-interface is used to issue messages to the user. The abstraction layer is intended as a very thin layer to the user interface so implementations are expected to report information, including error messages, warnings and so on, in a manner suitable for presentation to the user. Hence, methods usually do not return error<br />
information but instead rely on the implementation issuing appropriate <code>message</code> signals.</p>
<p>The <a href="https://gitlab.gnome.org/Community/Purism/calls">source code</a> is available in our community group in GNOME&#8217;s gitlab.</p>
<h3>Modems, oFono and ModemManager</h3>
<p>The demo above is using a <a href="https://simcom.ee/modules/lte/sim7100e/">SIM7100E modem</a> from SIMCom which you may be able to see mounted on the prototype board, with the red top border, to the bottom right of the display. Like many cellular modems, this modem supports both <a href="https://en.wikipedia.org/wiki/Hayes_command_set">AT commands</a> and <a href="https://osmocom.org/projects/quectel-modems/wiki/QMI">QMI</a>.</p>
<p>When the SIM7100E was first plugged in, oFono didn&#8217;t recognise it. However, there is a different mobile telephony framework, <a href="https://www.freedesktop.org/wiki/Software/ModemManager/">ModemManager</a> which did recognise the modem and could make calls, send SMS messages and make data connections out of the box. We considered using ModemManager instead of oFono but unfortunately ModemManager&#8217;s <a href="https://www.freedesktop.org/software/ModemManager/api/latest/gdbus-org.freedesktop.ModemManager1.Call.html">voice call support</a> is rudimentary and it has no support for supplementary call services like call waiting or conference calling.</p>
<p>Meanwhile, QMI is preferable to AT commands but oFono has no support for voice calls using QMI. Hence, to get voice calls working, we needed a new driver for the SIM7100E using AT commands. This driver has been <a href="https://lists.ofono.org/pipermail/ofono/2018-April/018144.html">upstreamed</a>.</p>
<h3>Where next</h3>
<p>We&#8217;ve done a decent amount of work so far but there&#8217;s still some way to go before we have a dialer that you can stick in your pocket and use every day. Here are some of the things we have to work on:</p>
<ol>
<li>Add ringtones. At present, the program doesn&#8217;t play any sound when there&#8217;s an incoming call. It would also be good to play DTMF noises to the user when they press digits in the dial pad.</li>
<li>Implement call history and integration with GNOME Contacts. At present Calls makes no records of any kind so we need suitable record storage and a UI for it. Similarly, we need to be able to search for contacts from within Calls and add phone numbers from call records to contacts.</li>
<li>The UI is currently basic but functional. It is a far cry from the polished beauty our designers have <a href="https://gitlab.gnome.org/Community/Design/app-mockups/blob/master/calls/calls.png">envisioned</a>. A lot of effort will be needed to rework and polish the UI.</li>
<li>Implement phone settings in GNOME Settings. We need a new page for phone settings like selecting the mobile network to connect to and so on and so forth.</li>
<li>Deal with multiple SIMs and bringing the modem online. At present, Calls is a pretty dumb frontend on top of oFono D-Bus objects and only makes use of modems that are already in a usable state. There needs to be some mechanism to configure which modems Calls should make use of and to bring them online automatically when the device starts. Similarly, there need to be mechanisms for configuring and selecting between multiple SIMs.</li>
<li>Implement the Telepathy backend so we can get SIP calls and calls with whatever else supports Telepathy.</li>
<li>The final choice of modems has not been made yet so we&#8217;re not investing too much effort in developing support for the SIM7100E; just enough to test Calls as it is. Assuming we do choose the SIM7100E, we could implement QMI voice call support in oFono. In fact, as I write this post I see there is <a href="https://lists.ofono.org/pipermail/ofono/2018-May/thread.html#18171">a discussion</a> on the ofono mailing list about doing just that so QMI voice call support may be done for us. Alternatively, we could implement support for supplementary services in ModemManager, which is more closely aligned with the GNOME platform.</li>
<li>Add support for supplementary services and complex call operations. Just as ModemManager has rudimentary support, so does Calls in its present state. We want to ensure that our dialer has complete support for mobile telephony standards and call control operations.</li>
</ol>
<p>That&#8217;s all for now, stay tuned for further updates! 🙂</p>
<p><small><a name="footer0"></a>⁰ There was a company who shall remain nameless and they sold a GNU/Linux-based phone that wasn&#8217;t able make PSTN calls when it shipped. Some five or so years later, I acquired one of these phones and took it to my local <a href="https://lug.org.uk/">LUG</a>. And of course, what was the first question asked: &#8220;can it make a phone call?! haha!&#8221; Such was the reputation garnered from shipping a phone that couldn&#8217;t make phone calls!</small></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-12/">Introducing Calls on the Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/05/calls-demo-01-04.webm" length="4975354" type="video/webm" />
		</item>
		<item>
		<title>Purism and Nitrokey Partner to Build Librem Key for Purism’s Librem Laptops</title>
		<link>https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/</link>
		<pubDate>Thu, 17 May 2018 16:42:15 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=52756</guid>
		<description><![CDATA[<p>San Francisco (May 17, 2018) &#8211; Purism, the social purpose corporation which designs and produces security focused hardware and software, has announced today that they are partnering with Nitrokey, maker of Free Software and Open Hardware USB OpenPGP security tokens and Hardware Security Modules (HSMs) to create Librem Key, Purism&#8217;s own OpenPGP security token designed [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">Purism and Nitrokey Partner to Build Librem Key for Purism’s Librem Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>San Francisco (May 17, 2018) &#8211; Purism, the social purpose corporation which designs and produces security focused hardware and software, has announced today that they are partnering with Nitrokey, maker of Free Software and Open Hardware USB OpenPGP security tokens and Hardware Security Modules (HSMs) to create Librem Key, Purism&#8217;s own OpenPGP security token designed to integrate with its hardware and software. Librem Key embodies Purism&#8217;s mission to make security and cryptography accessible where its customers hold the keys to their own security and follows on the heels of their announcement of a partnership with cryptography pioneer and GnuPG maintainer Werner Koch.</p>
<p>Purism customers will be able to purchase a Librem Key by itself or as an add-on with a laptop order. For add-on orders, Purism can pre-configure the Librem Key at the factory to act as an easy-to-use disk decryption key and ship laptops that are pre-encrypted. Customers will be able to insert their Librem Key at boot and decrypt their drive automatically without having to type in a long passphrase. Customers will also be able to replace the factory-generated keys with their own at any time.</p>
<p>Librem Key will also be a critical component in Purism&#8217;s tamper-evident boot protection. Purism will tightly integrate Librem Key into their tamper-evident boot software so that customers will be able to detect tampering on their hardware from the moment it leaves the factory.</p>
<p>Enterprise customers have long used security tokens for easy and secure key management from everything from email encryption to code signing and multi-factor authentication. With Librem Key, IT departments will have an integrated solution out of the box for disk and email encryption, authentication, and tamper-evident boot security that&#8217;s easy to use.</p>
<blockquote><p>&#8220;Often security comes at the expense of convenience but Librem Key provides a rare exception. By keeping your encryption keys on a Librem Key instead of on a hard drive, your keys never leave the tamper-proof hardware. This not only makes your keys more secure from attackers, it makes using your keys on multiple devices more convenient. When your system needs to encrypt,  decrypt, or sign something, just insert your Librem Key; when you are done, remove it and put it back in your pocket.&#8221; &#8212; Purism CSO Kyle Rankin</p></blockquote>
<blockquote><p>&#8220;We’re pleased to be working with the Purism team, who are very aligned with our commitment to open hardware and free software. The possibilities of this partnership are exciting, especially given the growing importance of secure key storage on hardware smart cards and Purism’s important work on tamper-evident protection.&#8221; &#8212; Nitrokey CEO Jan Suhr</p></blockquote>
<blockquote><p>&#8220;We are long-time fans of Nitrokey as they are the only smart card vendor that shares our commitment to open hardware and free software. Their company and security products are a perfect complement to Purism’s belief that ethical computing means privacy and security without sacrificing personal control over your devices.&#8221; &#8212; Purism CEO Todd Weaver</p></blockquote>
<p><b>About Nitrokey UG</b></p>
<p>Founded as an open source project in 2008 and turned into a full corporate entity in 2015, Nitrokey develops and produces highly secure open-source hardware and software USB keys that provide cryptographic functions for protecting; emails, files, hard drives, server certificates, online accounts and data at rest, preventing against identity theft and data loss.</p>
<p><b>About Purism</b></p>
<p><a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software">software freedom</a>, and digital independence to everyone’s personal computing experience. With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops, tablets and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware in the United States, carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-and-nitrokey-partner-to-build-purekey-for-purisms-librem-laptops/">Purism and Nitrokey Partner to Build Librem Key for Purism’s Librem Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 design report #5</title>
		<link>https://puri.sm/posts/librem5-progress-report-11/</link>
		<pubDate>Thu, 10 May 2018 23:27:47 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Battery life]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Physical robustness]]></category>
		<category><![CDATA[User experience design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=51945</guid>
		<description><![CDATA[<p>Hello everyone! A lot has happened behind the scenes since my last design report. Until now, I have been reporting on our design work mainly on the software front, but our effort is obviously not limited to that. The experience that people can have with their physical device is also very important. So in this [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-11/">Librem 5 design report #5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hello everyone! A lot has happened behind the scenes since my last design report. Until now, I have been reporting on our design work mainly on the <em>software</em> front, but our effort is obviously not limited to that. The experience that people can have with their physical device is also very important. So in this post I will summarize some recent design decisions we have made both on the software side and the hardware product &#8220;experience&#8221; design.</p>
<h1>Thinking about the physical shell</h1>
<p>Our goal with the Librem 5 is to improve the visual identity of the Librem line while staying close to the minimalist and humble look that characterize the existing Librem line.</p>
<p>The main challenge of case design is the need to balance aesthetics, ergonomics, convenience, and technical limitations.</p>
<p>As you know, the Librem 5 is a special phone that will not integrate the same CPU and chipsets as usually implemented in the vast majority of smartphones in the market. Power consumption is a very important factor to take into account, but so is battery capacity and printed circuit board arrangements, and we don&#8217;t want to sacrifice battery life for a few millimeters of thickness. Therefore:</p>
<ul>
<li>We are now aiming for a 5.5&#8243; to 5.7&#8243; screen with a 18:9 ratio that would let us incorporate a larger battery without affecting the shape of the phone.</li>
<li>We are also opting for a shape with chamfered edges (as pictured below), instead of the usual rounded ones. Not only do we think it looks elegant, the general shape would provide a better grip and it give us a bit more room inside for components.</li>
</ul>
<p><a href="https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around.jpg"><img class="size-large wp-image-51954 alignnone" src="https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around-1024x576.jpg" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2018/05/l5-v1-18_9-turn-around.jpg 1280w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<h1>Simplifying the UI shell</h1>
<p>As the implementation of the Librem 5 goes on, we are quite aware that time is limited given our January 2019 target, and we are therefore focusing on robustness and efficiency for the first version of the mobile UI shell (&#8220;phosh&#8221;), which we wish to push upstream to become the GNOME mobile shell. As you may recall from <a href="https://puri.sm/posts/librem5-progress-report-7/">our technical report from early March</a>, we had discussed with GNOME Shell maintainers, who recommended this clean-slate approach.</p>
<p>We revisited the shell features and decided to split the design and implementation into several phases.</p>
<p><strong>Phase 1</strong> defines a shell that is at its simplest state in term of features and usability. This is the shell that should ship with the Librem 5 in January 2019.</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9.jpg"><img class="size-large wp-image-52266 alignnone" src="https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9-1024x427.jpg" alt="" width="960" height="400" srcset="https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9-1024x427.jpg 1024w, https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9-300x125.jpg 300w, https://puri.sm/wp-content/uploads/2018/05/l5-shell-18-9-768x320.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>This shell includes :</p>
<ul>
<li>A lock screen.</li>
<li>A PIN-based unlock screen for protecting the session.</li>
<li>A home screen that displays a paginated list of installed applications.</li>
<li>A top bar that displays useful information such as the time, battery level, audio level, network status…</li>
<li>A bottom bar that simulates a home button (only visible when opening an application).</li>
<li>A virtual keyboard.</li>
<li>Incoming call notifications.</li>
</ul>
<p>The &#8220;call&#8221; app is indeed a special case application on a phone, and that&#8217;s why we&#8217;re prioritizing it for the notifications feature: it <em>has to work</em> from day one, and it has some requirements like the ability to interact directly on the lock screen (to answer an incoming call, or to place an emergency services call).</p>
<p>Multitasking UI workflows, search and more flexible app notification features/APIs should be implemented during <strong>phase 2</strong>, available a bit later.</p>
<p>While &#8220;phase 1&#8221; might not be the all-you-can-eat features buffet some may be accustomed to, we think that this minimalist shell will be extremely simple to learn, use and will favor a quick and painless adoption. And it&#8217;ll be a great starting point.</p>
<h1>Designing the Contacts application</h1>
<p>The <em>Contacts</em> application will be at the center of the communication features. It is the application that will handle the contacts management that other applications such as <em>Calls</em> or <em>Messages</em> will rely on.</p>
<p>For that matter, we are adapting the existing <a href="https://wiki.gnome.org/Apps/Contacts" target="_blank" rel="noopener">Contacts</a> application by designing its mobile layout and adding extra fields that will be required by the different communication applications.</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/05/contacts-adaptive-design.jpg"><img class="size-large wp-image-51951 alignnone" src="https://puri.sm/wp-content/uploads/2018/05/contacts-adaptive-design-1024x910.jpg" alt="" width="960" height="853" srcset="https://puri.sm/wp-content/uploads/2018/05/contacts-adaptive-design-1024x910.jpg 1024w, https://puri.sm/wp-content/uploads/2018/05/contacts-adaptive-design-300x267.jpg 300w, https://puri.sm/wp-content/uploads/2018/05/contacts-adaptive-design-768x683.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<h1>Librem 5 &amp; Fractal team hackfest in Strasbourg</h1>
<p>This week, a few members of the Librem 5 team (including myself) are attending the <a href="https://wiki.gnome.org/Hackfests/Fractal2018" target="_blank" rel="noopener">2018 Fractal design hackfest</a> in Strasbourg, with the goal of helping the <a href="https://wiki.gnome.org/Apps/Fractal" target="_blank" rel="noopener">Fractal</a> team to make a beautiful and secure <a href="https://matrix.org/" target="_blank" rel="noopener">Matrix</a>-based IM application to be used on both the desktop and mobile platform. I hope to do a report on the communication features of the Librem 5 in a future post where I will talk about what happened at the Fractal hackfest.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-11/">Librem 5 design report #5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 15 sale? Librem 13 sale? Why not both?</title>
		<link>https://puri.sm/posts/may-2018-laptop-sale-begins/</link>
		<pubDate>Thu, 03 May 2018 14:43:12 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Testimonials and user stories]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=51924</guid>
		<description><![CDATA[<p>Yesterday we&#8217;ve been pleasantly surprised to hear from Publisher of the legendary Linux Journal that we have been featured in their latest May issue focused on privacy. Shawn Powers, associate editor at Linux Journal, purchased a Librem 13 for his own use and decided to review it in depth. The result is a glowing review [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/may-2018-laptop-sale-begins/">Librem 15 sale? Librem 13 sale? Why not both?</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Yesterday we&#8217;ve been pleasantly surprised to hear from Publisher of the legendary <a href="https://en.wikipedia.org/wiki/Linux_Journal" target="_blank" rel="noopener">Linux Journal</a> that we have been featured in their latest <a href="https://www.linuxjournal.com/content/may-2018-issue-privacy" target="_blank" rel="noopener">May issue focused on privacy</a>. Shawn Powers, associate editor at Linux Journal, purchased a Librem 13 for his own use and decided to review it in depth. The result is a glowing review that warms our hearts after this particularly long winter (remember, our team is international, so most of us are not surfing the beaches of San Francisco).<span id="more-51924"></span> To break the ice, Shawn begins his review with this humorous fact: Purism&#8217;s laptops, with their modern and power-efficient chipsets and CPUs, are cool-enough to use on your lap, and so we can rightfully call them &#8220;laptops&#8221; instead of &#8220;notebooks&#8221;. Well, that&#8217;s a great way to start the barbecue season!</p>
<p>In fact, Shawn has been so impressed with this laptop the kind folks at <em>Linux Journal</em> decided to have the article <strong>publicly readable for everyone today.</strong> You can read the review <a href="https://www.linuxjournal.com/content/review-librem-13v2" target="_blank" rel="noopener">here</a>. Here are some of our favorite excerpts from the article:</p>
<blockquote><p>&#8220;The Librem 13’s keyboard is awesome. I won’t say it’s the best keyboard I’ve ever used, but as far as laptops go, it’s right near the top of the pile. Like most (good) laptops, the Librem 13 has chicklet style keys, but the subtleties of click pressure, key travel, springiness factor and the like are very adequate.&#8221;</p></blockquote>
<p><a href="https://puri.sm/wp-content/uploads/2015/06/2017-07-27-12.22.57-L13v2-angle-left-backlit-keyboard-and-logo-key.jpg"><img class="alignnone size-large wp-image-21045" src="https://puri.sm/wp-content/uploads/2015/06/2017-07-27-12.22.57-L13v2-angle-left-backlit-keyboard-and-logo-key-1024x512.jpg" alt="" width="960" height="480" srcset="https://puri.sm/wp-content/uploads/2015/06/2017-07-27-12.22.57-L13v2-angle-left-backlit-keyboard-and-logo-key-1024x512.jpg 1024w, https://puri.sm/wp-content/uploads/2015/06/2017-07-27-12.22.57-L13v2-angle-left-backlit-keyboard-and-logo-key-300x150.jpg 300w, https://puri.sm/wp-content/uploads/2015/06/2017-07-27-12.22.57-L13v2-angle-left-backlit-keyboard-and-logo-key-768x384.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<blockquote><p>&#8220;The Librem 13 v2 has a trackpad that is 100% as nice as MacBook trackpads. It is large, supports “click anywhere” and has multipoint support with gestures. What does all that mean? The things that have made Apple <em>King of Trackpad Land</em> are available not only on another company’s hardware, but also with Linux. My favorite combination is two-finger scrolling with two-finger clicking for “right-click”. The trackpad is solid, stable and just works. I’d buy the Librem 13 for the trackpad alone, but that’s just a throwaway feature on the website.&#8221;</p></blockquote>
<p><a href="https://puri.sm/wp-content/uploads/2015/05/2017-07-27-12.25.23-L13v2-touchpad-and-lid-handle.jpg"><img class="alignnone size-large wp-image-21034" src="https://puri.sm/wp-content/uploads/2015/05/2017-07-27-12.25.23-L13v2-touchpad-and-lid-handle-1024x768.jpg" alt="" width="960" height="720" srcset="https://puri.sm/wp-content/uploads/2015/05/2017-07-27-12.25.23-L13v2-touchpad-and-lid-handle-1024x768.jpg 1024w, https://puri.sm/wp-content/uploads/2015/05/2017-07-27-12.25.23-L13v2-touchpad-and-lid-handle-300x225.jpg 300w, https://puri.sm/wp-content/uploads/2015/05/2017-07-27-12.25.23-L13v2-touchpad-and-lid-handle-768x576.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<blockquote><p>&#8220;This computer is lightning fast, and it’s easily the best laptop I’ve ever owned. More than anything, I’m glad this is a system I purchased and not a “review copy”, so I don’t have to send it back!&#8221;</p></blockquote>
<p>Well, if that was not enough to make you salivate, maybe the following will.</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/05/librem-13-and-15-sale-2018-05.jpg"><img class="size-medium wp-image-51977 alignright" src="https://puri.sm/wp-content/uploads/2018/05/librem-13-and-15-sale-2018-05-212x300.jpg" alt="" width="212" height="300" srcset="https://puri.sm/wp-content/uploads/2018/05/librem-13-and-15-sale-2018-05-212x300.jpg 212w, https://puri.sm/wp-content/uploads/2018/05/librem-13-and-15-sale-2018-05-768x1086.jpg 768w, https://puri.sm/wp-content/uploads/2018/05/librem-13-and-15-sale-2018-05-724x1024.jpg 724w, https://puri.sm/wp-content/uploads/2018/05/librem-13-and-15-sale-2018-05.jpg 794w" sizes="(max-width: 212px) 100vw, 212px" /></a>Those who have been keeping a close watch on our social media might have noticed, in addition to our announcement about collaborating with UBPorts to <a href="https://puri.sm/posts/ubports-ubuntu-touch-on-librem5-collaboration/" target="_blank" rel="noopener">facilitate Ubuntu Touch&#8217;s transition to a pure GNU+Linux stack</a> with the <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5 phone</a> hardware platform, that we quietly <strong>started a promotional sale for the Librem 15 laptop,</strong> where you could get that big screen for the same price as the Librem 13&#8217;s regular price. That is, $200 off the base price configuration! So far, it it seems people have been responding well to that promotion and spreading the word, so we&#8217;re <strong>extending it for the whole month of May.</strong></p>
<p>Of course, this would make the Librem 13 onlookers hungry&#8230; so we&#8217;re adding a special <strong>sale for the Librem 13</strong> as well, where we slice $100 off the base price. This sale will last until the end of May, too.</p>
<p>If you want to <a href="https://www.linuxjournal.com/content/update-linux-journal" target="_blank" rel="noopener">help out the Linux Journal</a>, consider becoming a subscriber or spreading the word about their latest issue:</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">New issue is out! May 2018 features a Deep Dive into <a href="https://twitter.com/hashtag/Privacy?src=hash&amp;ref_src=twsrc%5Etfw">#Privacy</a>. After working on this issue, a few of us on the Linux Journal team walked away implementing some new privacy practices&#8211; we suspect you may too after you give it a read. <a href="https://t.co/BLLMH2Ptdk">https://t.co/BLLMH2Ptdk</a> <a href="https://twitter.com/hashtag/Linux?src=hash&amp;ref_src=twsrc%5Etfw">#Linux</a> <a href="https://twitter.com/hashtag/opensource?src=hash&amp;ref_src=twsrc%5Etfw">#opensource</a> <a href="https://t.co/7Wg2A7hXNw">pic.twitter.com/7Wg2A7hXNw</a></p>
<p>&mdash; linuxjournal (@linuxjournal) <a href="https://twitter.com/linuxjournal/status/991397991784304640?ref_src=twsrc%5Etfw">May 1, 2018</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/may-2018-laptop-sale-begins/">Librem 15 sale? Librem 13 sale? Why not both?</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism and UBports officially collaborate to offer Ubuntu Touch on Librem 5</title>
		<link>https://puri.sm/posts/ubports-ubuntu-touch-on-librem5-collaboration/</link>
		<pubDate>Tue, 24 Apr 2018 15:00:03 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=50805</guid>
		<description><![CDATA[<p>Crowdfunded Librem 5 ramps up development to now offer users three fully free and open mobile operating system options San Francisco, California &#8211; April 24, 2018 — Purism and UBports are partnering to offer Ubuntu Touch as a supported operating system on Purism’s Librem 5 smartphone. Being able to work with Purism and focus on [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/ubports-ubuntu-touch-on-librem5-collaboration/">Purism and UBports officially collaborate to offer Ubuntu Touch on Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>Crowdfunded Librem 5 ramps up development to now offer users three fully free and open mobile operating system options</em></p>
<p><img class="alignnone wp-image-51478 size-full" src="https://puri.sm/wp-content/uploads/2018/04/l5ubuntu.png" alt="" width="1280" height="720" srcset="https://puri.sm/wp-content/uploads/2018/04/l5ubuntu.png 1280w, https://puri.sm/wp-content/uploads/2018/04/l5ubuntu-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/04/l5ubuntu-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/04/l5ubuntu-1024x576.png 1024w" sizes="(max-width: 1280px) 100vw, 1280px" /></p>
<p>San Francisco, California &#8211; April 24, 2018 — <a href="https://puri.sm/">Purism</a> and <a href="https://ubports.com/" target="_blank" rel="noopener">UBports</a> are partnering to offer Ubuntu Touch as a supported operating system on <a href="https://shop.puri.sm/shop/librem-5/">Purism’s Librem 5 smartphone</a>.<span id="more-50805"></span></p>
<p>Being able to work with Purism and focus on the Librem 5 hardware platform ensures that the Ubuntu Touch mobile operating system developed by UBports will be well supported, tightly integrated, and that future compatibility will remain. When the Librem 5 is delivered to pre-order customers, it will become one of just a few smartphones that support the free and open source operating system.</p>
<p>Leveraging the sizable interest generated from the 2013 Ubuntu Edge campaign that fell well short of its astronomical crowdfunding goal, Purism, the manufacturer building and delivering high-quality freedom-respecting laptops, successfully <a href="https://shop.puri.sm/shop/librem-5/">raised over $2 million last Fall</a>, allowing the company to begin building the first fully free and open modern smartphone: the Librem 5.</p>
<p>While the Librem 5 will ship with <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1" target="_blank" rel="noopener">Free Software Foundation-endorsed</a> PureOS by default, utilizing GNOME across all devices, Purism will support customers who want to easily install Ubuntu Touch offering great diversity for users around the world. In addition to UBports, Purism is working with GNOME and supporting KDE Plasma Mobile, rounding the user choices to three options come January 2019 when the Librem 5 will be shipping to customers:</p>
<ul>
<li>Librem 5 with PureOS</li>
<li>Librem 5 with PureOS (KDE Plasma Mobile)</li>
<li>Librem 5 with Ubuntu Touch</li>
</ul>
<blockquote>
<figure id="attachment_51457" style="width: 150px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2018/04/ubports-marius-fixed.jpg"><img class="wp-image-51457 size-thumbnail" src="https://puri.sm/wp-content/uploads/2018/04/ubports-marius-fixed-150x150.jpg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2018/04/ubports-marius-fixed-150x150.jpg 150w, https://puri.sm/wp-content/uploads/2018/04/ubports-marius-fixed-300x300.jpg 300w, https://puri.sm/wp-content/uploads/2018/04/ubports-marius-fixed-180x180.jpg 180w, https://puri.sm/wp-content/uploads/2018/04/ubports-marius-fixed.jpg 500w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-caption-text">Marius Gripsgård</figcaption></figure>
<p>&#8220;Having Ubuntu Touch working by default on a mobile phone such as the Librem 5 is an ideal approach to offer ease-of-use to people while increasing our install base” says Marius Gripsgård founder and chairman of the board of UBports. “Partnering with Purism will allow us to advance UBports for well supported commercial devices for the first time. The Librem 5 will be the ideal hardware for Ubuntu Touch, particularly as it will not require an Android subsystem.&#8221;</p>
<figure id="attachment_51458" style="width: 150px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2018/04/ubports-ricardo.jpg"><img class="wp-image-51458 size-thumbnail" src="https://puri.sm/wp-content/uploads/2018/04/ubports-ricardo-150x150.jpg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2018/04/ubports-ricardo-150x150.jpg 150w, https://puri.sm/wp-content/uploads/2018/04/ubports-ricardo-300x300.jpg 300w, https://puri.sm/wp-content/uploads/2018/04/ubports-ricardo-180x180.jpg 180w, https://puri.sm/wp-content/uploads/2018/04/ubports-ricardo.jpg 500w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-caption-text">Ricardo Mendoza</figcaption></figure>
<p>&#8220;Having early access to Purism’s Librem 5 hardware platform is a huge step for advancing Ubuntu Touch,” says Ricardo Mendoza, deputy chairman of the board at UBports. “Ubuntu Touch was developed with the goal of being an Android-free OS alternative for the mobile ecosystem. We believe the future of mobile is away from Android, and the Librem 5 with Ubuntu Touch presents the perfect platform to spark this revolution.&#8221;</p>
<p>&#8220;Having Ubuntu Touch shed Android entirely and utilize our hardware is a win for users,” says Todd Weaver, CEO of Purism. “While we develop, support, and recommend PureOS, allowing an alternative to users that is supported by Purism can only help the cause of improving digital rights for users.&#8221;</p></blockquote>
<h1>About UBports and Ubuntu Touch</h1>
<p><a href="https://ubports.com/ubuntu-touch/about-ut" target="_blank" rel="noopener">Ubuntu Touch</a> is a mobile version of the popular <a href="http://www.ubuntu.com/" target="_blank" rel="noopener">Ubuntu</a> desktop operating system that was originally created by Canonical. With the support of the <a href="http://www.ubports.com/" target="_blank" rel="noopener">UBports</a> Foundation, Ubuntu Touch is now completely developed and maintained by its community, which is made up of people who are passionate about privacy, freedom, and helping others. These ideals factor into the development process at every level. The ultimate goal of Ubuntu Touch is a converged device experience by having a phone/tablet, laptop and desktop on a single, privacy-oriented device.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/ubports-ubuntu-touch-on-librem5-collaboration/">Purism and UBports officially collaborate to offer Ubuntu Touch on Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Demonstrating Tamper Detection with Heads</title>
		<link>https://puri.sm/posts/demonstrating-tamper-detection-with-heads/</link>
		<pubDate>Tue, 17 Apr 2018 15:53:45 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=51194</guid>
		<description><![CDATA[<p>We are excited about the future of Heads on Librem laptops and the extra level of protection it can give customers. As a result we&#8217;ve both been writing about it a lot publicly and working on it a lot privately. What I&#8217;ve realized when I&#8217;ve talked to people about Heads and given demos, is that [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">Demonstrating Tamper Detection with Heads</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are excited about the future of Heads on Librem laptops and the extra level of protection it can give customers. As a result we&#8217;ve both been <a href="https://puri.sm/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/">writing about it</a> a lot <a href="https://puri.sm/posts/making-heads-more-usable-with-menus/">publicly</a> and <a href="https://github.com/osresearch/heads/pulls?utf8=✓&amp;q=is:pr+author:kylerankin">working on it</a> a lot <a href="https://github.com/osresearch/heads/pulls?utf8=✓&amp;q=is:pr+author:kakaroto">privately</a>. What I&#8217;ve realized when I&#8217;ve talked to people about Heads and given demos, is that many people have never seen a tamper-evident boot process before. All of the concepts around tamper-evident boot are pretty abstract and it can be difficult to fully grasp how it protects you if you&#8217;ve never seen it work.</p>
<p>We have created a short demo that walks through a normal Heads boot process and demonstrates tamper detection. In the interest of keeping the demo short I only briefly described what was happening. In this post I will elaborate on what you are seeing in the video.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-51194-70" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://videos.puri.sm/coreboot/purism-librem-coreboot-heads-tamper-detection-demo-2018-04-15.webm?_=70" /><a href="https://videos.puri.sm/coreboot/purism-librem-coreboot-heads-tamper-detection-demo-2018-04-15.webm">https://videos.puri.sm/coreboot/purism-librem-coreboot-heads-tamper-detection-demo-2018-04-15.webm</a></video></div>
<h1>Step One: Normal Boot</h1>
<p>The normal boot process for a computer that uses Heads is much like with any other computer, at least from a user experience standpoint. Like with other computers, you can bring up a full menu of different items to boot, but you can also pick one to set as your default. Once you set a boot option as a default, at boot time you can just press Enter and it will boot into your operating system just like with any other system.</p>
<figure id="attachment_51209" style="width: 1920px" class="wp-caption alignnone"><img class="size-full wp-image-51209" src="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo.png" alt="Default Heads Boot Menu" width="1920" height="1080" srcset="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo.png 1920w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-1024x576.png 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /><figcaption class="wp-caption-text">Default Heads Boot Menu</figcaption></figure>
<p>Unlike with other systems, Heads is providing extra levels of security during the boot process. At that default boot screen, you will see a 6-digit number above the menu options. That is a TOTP (Time-based One Time Password) code that Heads uses to prove to you that it hasn&#8217;t been tampered with and can be trusted. If you&#8217;ve ever used a TOTP code in the past, normally it&#8217;s so you can authenticate <em>yourself</em> to a website using Two-Factor Authentication. In this case it&#8217;s the reverse: the computer (specifically Heads) is <strong>authenticating <em>itself</em> to you</strong>! If that code matches the code on your phone, you know it&#8217;s safe to proceed.</p>
<p>Once you hit Enter during a normal boot, Heads then verifies the signatures of all of its configuration files stored in /boot based on the copy of your public GPG key it has within it. These configuration files include a file that contains sha256 checksums for the rest of the files in /boot. Once it verifies your signature for that file, Heads can trust it hasn&#8217;t been modified so it uses it to make sure the rest of the files in /boot haven&#8217;t changed. Since all of them match, they weren&#8217;t tampered with so Heads proceeds with the boot process.</p>
<h1>Step Two: Hack The Computer</h1>
<figure id="attachment_51210" style="width: 1920px" class="wp-caption alignnone"><img class="size-full wp-image-51210" src="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-1.png" alt="Hacking grub.cfg" width="1920" height="1080" srcset="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-1.png 1920w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-1-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-1-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-1-1024x576.png 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /><figcaption class="wp-caption-text">Hacking grub.cfg</figcaption></figure>
<p>Once the computer boots, I put my black hat on and &#8220;hack&#8221; my computer by defacing my /boot/grub/grub.cfg file with a comment. This is a benign hack for demonstration purposes, but the attacker could have just as easily modified grub.cfg to boot from an older kernel on your system that has a known security vulnerability, added a single user mode, or otherwise altered the boot process to make it easier to launch another attack.</p>
<p>An attack that changes a plain text configuration file leaves a trail that might be easier for a user to detect if they happened to edit the file themselves. A more sophisticated hacker would put a back door into your default initrd file (the initial file system your kernel uses when it boots) or even replace your kernel with a compromised version. Both of these kinds of attacks are almost impossible to detect without a system like Heads. Because all of these files are stored in /boot, and Heads checks all of them, it is able to detect all of these types of tampering.</p>
<h1>Step Three: Detect Tampering</h1>
<p>When the system reboots, it returns back to the main Heads boot screen. First I hit Enter to select the default boot option but this time when Heads scans all of the files in /boot, it detects that grub.cfg has been changed! Along with the warning, I also get the option to re-sign all of the files in /boot. This option exists because there are a number of perfectly legitimate reasons why your grub.cfg, initrd, kernel, or other /boot files might change either because you edited them yourself or you updated software that changed them. Otherwise if you don&#8217;t want to re-sign files you can return to the main menu.</p>
<figure id="attachment_51211" style="width: 1920px" class="wp-caption alignnone"><img class="size-full wp-image-51211" src="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-2.png" alt="Tampering detected!" width="1920" height="1080" srcset="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-2.png 1920w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-2-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-2-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-2-1024x576.png 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /><figcaption class="wp-caption-text">Tampering detected!</figcaption></figure>
<p>If you choose to re-sign all of the files, you will get an additional warning screen that explains what Heads is about to do and another chance to exit out to the main menu. If you did choose to re-sign all of the files you would then insert a USB GPG smart card that held your private keys so you could re-sign the Heads configuration files in /boot.</p>
<p>Since I knew that I didn&#8217;t want to keep that &#8220;hacked&#8221; grub.cfg file, instead of signing the files I returned to the main menu. By default Heads used to error out to a recovery shell if it detected a file was tampered with. The assumption is that the expert user could then investigate and remedy the problem from within that shell. If you aren&#8217;t an expert user in this situation you might not know how to recover and would end up being <strong>locked out of your computer</strong>!</p>
<p>We understand that there are a number of situations where a user might legitimately or accidentally change files in /boot and while it&#8217;s not advisable to boot into a system that is actually tampered with by an attacker (because among other reasons, an attacker might be able to get your disk encryption or login passwords), we also don&#8217;t want to lock you out. We&#8217;ve added an &#8220;insecure boot mode&#8221; to Heads for these circumstances. When you select that option, Heads will ignore any tamper warnings and present you with a GRUB-style menu of boot options. You can then select a boot option and Heads will boot into your system. To make sure you know that this is an unsafe option, in addition to the warnings in the user interface, we also disable the splash screen and change the console to have a red background.</p>
<figure id="attachment_51212" style="width: 1920px" class="wp-caption alignnone"><img class="size-full wp-image-51212" src="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-3.png" alt="Insecure boot mode" width="1920" height="1080" srcset="https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-3.png 1920w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-3-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-3-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/04/Screenshot-from-purism-librem-coreboot-heads-tamper-detection-demo-3-1024x576.png 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /><figcaption class="wp-caption-text">Insecure boot mode</figcaption></figure>
<h1>Step Four: (Optionally) Investigate Tampering</h1>
<p>So what should you do if Heads alerts you to tampering? Exactly how you respond to a potentially legitimate tampering alert depends on a number of factors including what kind of user you are. I&#8217;ll step through three of the most common categories of Heads user and describe how they might respond to a legitimate tampering alert.</p>
<h2>Category 1: Enterprise User</h2>
<p>In the event of tampering, enterprise users would just hand the laptop over to their IT team and pick up a replacement while the IT team investigates. Some organizations might want to go a step further and work with us to customize their Heads image with branded and customized warning messages with their custom policies or direct the employee to an internal wiki or other resources. Some enterprises may even want to go even further and remove the ability to boot a machine that sets off tampering alerts. This would also be useful for employees who take their machine overseas to ensure the machine is in a safe state before they reconnect it to the corporate network.</p>
<p>Once the IT team receives the laptop, they can then inspect the laptop for tampering using their in-house tools and procedures, and then reflash the system back to their secure, internal image. For smaller organizations who may not have those capabilities, Purism also provides support services to bring the laptop back to a clean factory state.</p>
<h2>Category 2: Expert-level End User</h2>
<p>The expert level user will likely want to inspect the system themselves in the event of a legitimate tamper alert. While I demonstrate the insecure forced boot mode in the demo, the expert user would likely use the Heads recovery shell or boot into a USB recovery disk instead (like the PureOS live install disk) to investigate from there. Otherwise, when they boot their compromised system, they will be prompted for their disk decryption passphrase and login password and risk turning those secrets over to the attacker.</p>
<p>While the Heads recovery shell is limited to a small subset of Linux command-line tools, it has enough tools for the expert user to inspect files in /boot including a text editor to inspect grub.cfg and tools to mount the encrypted root file system from a trusted environment. Provided you trust Heads itself hasn&#8217;t been tampered with, you could inspect quite a bit just from this recovery shell alone.</p>
<p>If the Heads recovery shell didn&#8217;t provide enough tools, the expert user could also boot from a USB disk, mount the /boot partition and inspect the changed files. In the case of a modified grub.cfg they would just use a text editor for this. In the case of a modified initrd they would need to extract the file and inspect the extracted file system. From there they could also decide to mount the root file system and inspect it for rootkits as well. For users who may suspect Heads itself was tampered with, they would be able to use flashrom to pull down a copy of the version of Heads on the system and inspect it directly.</p>
<h2>Category 3: Everyone Else</h2>
<p>The average user is unlikely to put on their forensics hat and inspect a compromised system. While for the most part any alerts an average user will see will likely be a direct result of package updates or other changes they know they made, there&#8217;s a possibility that sometimes they might get an alert they weren&#8217;t expecting. For instance, if you took your laptop overseas on a trip and didn&#8217;t update it or otherwise change it during the trip, a tampering alert when you got home would be much more suspicious.</p>
<p>So what&#8217;s the average user to do? No matter what, you can always fall back to the insecure boot mode so you won&#8217;t lose access to their system or files. In that case even if you couldn&#8217;t inspect or fix the errors yourself, you could at least backup your personal files and reinstall the OS to get back to a safe state. Alternatively like with enterprise users you could also take advantage of Purism support services to reflash your system to a factory state.</p>
<h1>Conclusion</h1>
<p>Hopefully watching Heads in action has helped make it a bit more clear just how it will protect you from tampering. In future posts I will walk through other Heads features and workflows including registering a new TOTP code and completely resetting the TPM.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/demonstrating-tamper-detection-with-heads/">Demonstrating Tamper Detection with Heads</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://videos.puri.sm/coreboot/purism-librem-coreboot-heads-tamper-detection-demo-2018-04-15.webm" length="2672930" type="video/webm" />
		</item>
		<item>
		<title>Initial Developer Documentation for the Librem 5 Phone Platform</title>
		<link>https://puri.sm/posts/librem5-progress-report-10/</link>
		<pubDate>Wed, 11 Apr 2018 17:29:26 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=50309</guid>
		<description><![CDATA[<p>At Purism, we are just as excited as you are about the the development boards that will be distributed this summer. Once a person receives their development board, their first thought will be &#8220;This is great! Now, what do I do with it?&#8221; In anticipation of the technical guidance that will be needed, the developer [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-10/">Initial Developer Documentation for the Librem 5 Phone Platform</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>At Purism, we are just as excited as you are about the the development boards that will be distributed this summer. Once a person receives their development board, their first thought will be &#8220;This is great! Now, what do I do with it?&#8221; In anticipation of the technical guidance that will be needed, the developer documentation effort has begun. You can already see the current state of the documentation at <a href="https://developer.puri.sm/">developer.wp.puri.sm</a></p>
<h1>Goal of the Docs</h1>
<p>The developer documentation is there as a guide for getting a new developer setup and ready to start having fun! This will include plenty of examples that will help you along towards whatever your goal with the development board may be.</p>
<p>There will be technical step-by-step instructions that are suitable for both newbies and experienced Debian developers alike. The goal of the docs is to openly welcome you and light your path along the way with examples and links to external documentation. These examples will aid you from the start of unpacking your development board to building and deploying <a href="https://flatpak.org/" target="_blank" rel="noopener">flatpak</a> applications to it—and eventually including your package into <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a>. Included, you can expect examples on how to use certain tools like flatpak, the IDEs used to build flatpak applications, and UI tools to help you design apps. The design of the Librem 5 phone interface will also be outlined in detail to provide insight into the human interface guidelines that will be followed by the core applications. Use the design section to learn about gestures you can expect on the phone. Apps you design or port to the board can use these gestures too!</p>
<p>Please note that the docs are not a complete tutorial on how to use <em>all</em> of the development tools required. There are existing documentations available for each specific tool so there&#8217;s no need to reinvent the wheel. Instead, you will be directed to those locations online so you can research further on a specific tool.</p>
<p>We welcome all test and development efforts that volunteers have to give, so there will also be information on volunteering and how to become a Purism community member in general.</p>
<h1>Work in progress</h1>
<p>The documentation is in a constant state of flux. Content is being added daily and reorganization still occurs from time-to-time. If you no longer see a page there, just search for it because chances are it has been moved to somewhere else within the site instead of removed. The aim is to write documentation that is helpful and intuitive so it is important that an intuitive path is laid out. This developer documentation is still pretty new but is filling out quickly so that you are ready to hit the ground running with your new development board in June!</p>
<p>There will be a separate announcement in the next few weeks on this same blog to call for volunteers so get ready!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-10/">Initial Developer Documentation for the Librem 5 Phone Platform</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Intel FSP reverse engineering: finding the real entry point!</title>
		<link>https://puri.sm/posts/intel-fsp-reverse-engineering-finding-the-real-entry-point/</link>
		<pubDate>Mon, 02 Apr 2018 13:37:27 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Reverse engineering]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48306</guid>
		<description><![CDATA[<p>2018-05-10 UPDATE: Intel politely asked Purism to remove this document which Intel believes may conflict with a licensing term. Since this post was informational only and has no impact on the future goals of Purism, we have complied. If you would like the repository link of the Intel FSP provided from Intel, please visit their [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/intel-fsp-reverse-engineering-finding-the-real-entry-point/">Intel FSP reverse engineering: finding the real entry point!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><i><strong>2018-05-10 UPDATE:</strong> Intel politely asked Purism to remove this document which Intel believes may conflict with a licensing term. Since this post was informational only and has no impact on the future goals of Purism, we have complied. If you would like the repository link of the Intel FSP provided from Intel, please visit their <a href="https://github.com/IntelFsp/FSP/tree/d88078a708e768c7b6ee5cbc996299d303c3c702" target="_blank" rel="noopener">publicly available code</a> on the subject.</i></p>
<p><i><strong>2018-04-23 UPDATE:</strong> after receiving a courtesy request from Intel&#8217;s Director of Software Infrastructure, we have decided to remove this post&#8217;s technical contents while we investigate our options. You are still welcome to learn about reverse engineering in general with my introductory post on the matter, <a href="https://puri.sm/posts/primer-to-reverse-engineering/">Introduction to Reverse Engineering: A Primer Guide</a>.</i></p>
<hr />
<p>Hi everyone, it&#8217;s time for another blog post from your favorite Purism Reverse Engineer (that&#8217;s me! &#8217;cause I&#8217;m the only one&#8230;)!</p>
<p>After attending 34C3 in Leipzig at the end of December, in which we (Zlatan and me) met with some of you, and had a lot of fun, I took some time off to travel Europe and fall victim to the horrible Influenza virus that so many people caught this year. After a couple more weeks of bed rest, I continued my saga in trying to find the <strong>real</strong> entry point of the Intel FSP-S module.<br />
<!-- new summary portion --><br />
Here&#8217;s the non-technical summary of the current situation: I made some good progress in reverse engineering both the FSP-S and FSP-M and I&#8217;m very happy with it so far. Unfortunately, all the code I&#8217;ve seen so far has been about setting up the FSP itself, so I haven&#8217;t actually been able to start reverse engineering the actual Silicon initialization code.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/intel-fsp-reverse-engineering-finding-the-real-entry-point/">Intel FSP reverse engineering: finding the real entry point!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem laptop orders now shipping within a week</title>
		<link>https://puri.sm/posts/librem-laptop-orders-now-shipping-within-a-week/</link>
		<pubDate>Wed, 28 Mar 2018 16:54:37 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48789</guid>
		<description><![CDATA[<p>As many team members have been travelling to negotiate hardware supplies or participate in community events lately, we are taking this opportunity to give you an update on Librem laptop operations this month, while regular posts about the Librem phone are expected to resume in a week or two. Amidst the plethora of progress we [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-laptop-orders-now-shipping-within-a-week/">Librem laptop orders now shipping within a week</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>As many team members have been travelling to negotiate hardware supplies or participate in community events lately, we are taking this opportunity to give you an update on Librem laptop operations this month, while regular posts about the Librem phone are expected to resume in a week or two.</p>
<p>Amidst the plethora of progress we blogged about recently on the mobile and security areas of our products, we also quietly achieved a very significant milestone in the life of our organisation, from the Inventory management and logistics standpoint: the <strong>ability to fulfill orders within 5 business days</strong> (on average), thanks to the inventory of Librem 13 and Librem 15 laptops we have built up.</p>
<p>Indeed, as our early supporters throughout the years have demonstrated incredible patience to wait for their preorders to arrive on their doorstep, we are deeply grateful for their investment that now allows us to fulfill new orders in merely a few days instead of months. Just look at the progress we&#8217;ve made through our efforts since the beginning of Purism, where we have now caught up with the demand:</p>
<p><img class="alignnone size-full wp-image-50498" src="https://puri.sm/wp-content/uploads/2018/03/2018-02-librem15-cumulative-shipments-graph.png" alt="" width="919" height="471" srcset="https://puri.sm/wp-content/uploads/2018/03/2018-02-librem15-cumulative-shipments-graph.png 919w, https://puri.sm/wp-content/uploads/2018/03/2018-02-librem15-cumulative-shipments-graph-300x154.png 300w, https://puri.sm/wp-content/uploads/2018/03/2018-02-librem15-cumulative-shipments-graph-768x394.png 768w" sizes="(max-width: 919px) 100vw, 919px" /></p>
<p>Note that the situation is even better than what the chart above indicates, as the remaining gap between orders and shipments of the Librem 15 actually represents orders from customers <em>who have not decided what they want to do with their previous 4K order</em><small> (we tried contacting those multiple times through email over the past few months and got no reply—if you are in this situation and have somehow not received emails from our ops department, please <a href="https://puri.sm/contact/">contact us</a> with your existing order information).</small></p>
<figure id="attachment_50499" style="width: 919px" class="wp-caption alignnone"><img class="wp-image-50499 size-full" src="https://puri.sm/wp-content/uploads/2018/03/2018-02-librem13-cumulative-shipments-graph.png" alt="" width="919" height="471" srcset="https://puri.sm/wp-content/uploads/2018/03/2018-02-librem13-cumulative-shipments-graph.png 919w, https://puri.sm/wp-content/uploads/2018/03/2018-02-librem13-cumulative-shipments-graph-300x154.png 300w, https://puri.sm/wp-content/uploads/2018/03/2018-02-librem13-cumulative-shipments-graph-768x394.png 768w" sizes="(max-width: 919px) 100vw, 919px" /><figcaption class="wp-caption-text">The Librem 13 was introduced five months after the Librem 15, which explains the chart data starting in May 2015. We have kept the X axis the same as for the Librem 15 for comparison purposes.</figcaption></figure>
<p>The increased interest in our products is also the reason why we are now <strong>able to deliver worldwide with free shipping,</strong> and invest heavily in security by eating the cost of <a href="https://puri.sm/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/">making TPM a standard feature</a> on our laptop motherboards and advancing software that integrates with it, such as coreboot and <a href="https://puri.sm/posts/purism-integrates-heads-security-firmware-with-tpm-giving-full-control-and-digital-privacy-to-laptop-users/">Heads</a>, where we are making significant contributions to those upstream projects, such as <a href="https://puri.sm/posts/making-heads-more-usable-with-menus/">a menu interface for Heads</a> or fixing various bugs in coreboot. Stay tuned for reverse engineering news in April!</p>
<figure id="attachment_50500" style="width: 551px" class="wp-caption alignleft"><a href="https://puri.sm/wp-content/uploads/2018/03/2018-03-24-13.47.05-crop.jpg"><img class=" wp-image-50500" src="https://puri.sm/wp-content/uploads/2018/03/2018-03-24-13.47.05-crop-1024x465.jpg" alt="" width="551" height="250" srcset="https://puri.sm/wp-content/uploads/2018/03/2018-03-24-13.47.05-crop-1024x465.jpg 1024w, https://puri.sm/wp-content/uploads/2018/03/2018-03-24-13.47.05-crop-300x136.jpg 300w, https://puri.sm/wp-content/uploads/2018/03/2018-03-24-13.47.05-crop-768x349.jpg 768w, https://puri.sm/wp-content/uploads/2018/03/2018-03-24-13.47.05-crop.jpg 1500w" sizes="(max-width: 551px) 100vw, 551px" /></a><figcaption class="wp-caption-text">Exhibiting at LibrePlanet 2018</figcaption></figure>
<p>We would like to thank all our users of <a href="https://puri.sm/products/" target="_blank" rel="noopener">Librem laptops</a> and <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1" target="_blank" rel="noopener">FSF endorsed</a> <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a>, as well as all those that have backed the <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5 phone</a>, and of course all those people who support us by feedback, kind words (we were psyched to see many of you showing support and interest at our booth <a href="https://puri.sm/posts/march-2018-events/">at LibrePlanet</a> last week-end!), and spreading the word. It is with this unified education approach that we can change the future of computing and digital rights for the better.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-laptop-orders-now-shipping-within-a-week/">Librem laptop orders now shipping within a week</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism at FestiĞ1 and the Librem as a Digital Hardware Wallet</title>
		<link>https://puri.sm/posts/purism-at-festig1-and-the-librem-as-a-digital-hardware-wallet/</link>
		<pubDate>Wed, 28 Mar 2018 03:15:19 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=50169</guid>
		<description><![CDATA[<p>Two weeks ago, I attended an event in Toulouse, France, where I was kindly invited by the organizers, who offered me a booth to present Purism and the Librem line. Purism, utilizing a hardware security element in our Librem Laptops as well as our upcoming Librem 5 phone will be addressing the serious issue of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-at-festig1-and-the-librem-as-a-digital-hardware-wallet/">Purism at FestiĞ1 and the Librem as a Digital Hardware Wallet</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-50282" src="https://puri.sm/wp-content/uploads/2018/03/festig1-banner.png" alt="" width="620" height="200" srcset="https://puri.sm/wp-content/uploads/2018/03/festig1-banner.png 620w, https://puri.sm/wp-content/uploads/2018/03/festig1-banner-300x97.png 300w" sizes="(max-width: 620px) 100vw, 620px" /></p>
<p>Two weeks ago, I attended an event in Toulouse, France, where I was kindly invited by the organizers, who offered me a booth to present Purism and the Librem line.</p>
<p>Purism, utilizing a hardware security element in our Librem Laptops as well as our upcoming Librem 5 phone will be addressing the serious issue of securing crypto-currencies in hardware wallets with secure offline backups.<span id="more-50169"></span></p>
<p>The FestiĞ1 was a special event to celebrate the first anniversary of the Ğ1 (pronounce &#8220;June&#8221;) libre crypto currency based on the free software <a href="https://duniter.org/en/introduction/" target="_blank" rel="noopener">Duniter</a>.</p>
<p>Even though crypto currencies are usually related to technology, the crowd that attended the event was very diverse and pretty different from the usual audiences that attend free software and technology events. A big part of the attendees didn&#8217;t know much about computer technologies.</p>
<p>I have to admit that for a few minutes, I felt quite uncomfortable and almost like an intruder while setting up my Purism booth in the middle of other booths selling organic food and merchandise in the Ğ1 currency. This feeling quickly was removed when I noticed growing interest for the Purism booth where I started to talk about our computers and philosophy.</p>
<h1>A few words about the Ğ1</h1>
<p><img class="alignleft size-thumbnail wp-image-50284" src="https://puri.sm/wp-content/uploads/2018/03/g1-logo-150x150.png" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2018/03/g1-logo-150x150.png 150w, https://puri.sm/wp-content/uploads/2018/03/g1-logo-300x300.png 300w, https://puri.sm/wp-content/uploads/2018/03/g1-logo-180x180.png 180w, https://puri.sm/wp-content/uploads/2018/03/g1-logo.png 400w" sizes="(max-width: 150px) 100vw, 150px" />There are thousands of crypto currencies out there; while Purism has partnered with Monero as an early adopter for our hardware wallets, there are countless others that will benefit from our secure element creating a ubiquitous hardware wallet for these crypto-currencies. However, in the case of the Ğ1, the term &#8220;crypto currency&#8221; is mainly a technical aspect. The Ğ1 is based on an ethical concept that defines a &#8220;Libre Currency&#8221; where people are all equal in money creation. In this case, money creation is made through a universal dividend equally shared within all the human beings members of the Ğ1 web of trust on a daily basis, giving people a decentralized unconditional basic income.</p>
<p>The Duniter project is still young and while I fully adhere with its ethical aspect and trust the security features it is built on, I think that there is still some work to do in term of privacy for everyone. Due to the ethical nature of money creation (each certified account must represent a living human being) and the non less ethical public nature of the block-chain, getting anonymity is currently not straightforward. After speaking with Stephane Laborde, inventor of the concept of &#8220;libre currency&#8221;, I understand that the privacy issue is more a technical issue than a specific requirement and there are already ways to get more privacy by using anonymous &#8220;wallets&#8221; (which are not that anonymous when used on non privacy respecting hardware).</p>
<p>With the free (as in freedom) nature of Duniter and the growing requirement, from the audience, to own the keys of their privacy, along with the advance of privacy features in computers like the Librem, I have no doubt that this issue is quickly going to evolve, and soon be no more.</p>
<h1>A lot of interest for secure and private hardware</h1>
<p><img class="alignright size-large wp-image-50299" src="https://puri.sm/wp-content/uploads/2018/03/librem5-g1-1024x603.jpg" alt="" width="450" srcset="https://puri.sm/wp-content/uploads/2018/03/librem5-g1-1024x603.jpg 1024w, https://puri.sm/wp-content/uploads/2018/03/librem5-g1-300x177.jpg 300w, https://puri.sm/wp-content/uploads/2018/03/librem5-g1-768x452.jpg 768w, https://puri.sm/wp-content/uploads/2018/03/librem5-g1.jpg 1280w" sizes="(max-width: 1024px) 100vw, 1024px" />As I said above, a big part of the people attending the event were not familiar with computer technologies and appreciated seeing Purism hardware in person at a booth. However, I noticed that there was a real interest for digital privacy and that many people I talked to, were aware of the mass surveillance issue going on with modern digital devices.</p>
<p>The main reason for inviting me to such an event was to show to the audience that there are solutions for the people to fully own the keys to secure their digital wallets. The Ğ1 digital wallet software exists, it is pretty secure and convenient by itself but what about the hardware that it is running on? The most advanced end to end encryption means nothing if one can intercept the user&#8217;s input before it gets encrypted or the incoming data as soon as it is decrypted. What about anonymity of anonymous wallets when the device can be located by non authorized third party?</p>
<p>With crypto-currencies removing the bank from the equation, you are carrying your bank around in your digital wallet, and the security of all your digital finances needs to be secured in a hardware security element found in the Librem products.</p>
<p>Purism&#8217;s goal has always been to ensure that the Librem&#8217;s owners own their own computer and data by owning their own security keys. This makes the Librem laptops and the upcoming Librem 5 phone, a good solution for ensuring that digital wallets belong to their owners only.</p>
<p>I want to thank the organizers of FestiĞ1 for making such a great event. I was very honored about the invitation, which proves that from being transparent and working for the cause of ethics, we get trust and help from different people working for the same ethical goals in many different ways. Thank you very much and see you next time!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-at-festig1-and-the-librem-as-a-digital-hardware-wallet/">Purism at FestiĞ1 and the Librem as a Digital Hardware Wallet</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Upcoming March 2018 events: LibrePlanet, Reddit AMA</title>
		<link>https://puri.sm/posts/march-2018-events/</link>
		<pubDate>Fri, 23 Mar 2018 21:16:39 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Customer Feedback]]></category>
		<category><![CDATA[Interviews]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Social media]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49791</guid>
		<description><![CDATA[<p>Ask us anything at LibrePlanet 2018 We are proud to announce that we will be attending and sponsoring the Free Software Foundation&#8217;s flagship conference, LibrePlanet, at the MIT this week-end on March 24-25th. We will also be manning a booth there, where you can try out our Librem laptops and see one of our i.MX [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/march-2018-events/">Upcoming March 2018 events: LibrePlanet, Reddit AMA</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1>Ask us anything at LibrePlanet 2018</h1>
<p><img class="alignright wp-image-15158 size-medium" src="https://puri.sm/wp-content/uploads/2017/02/libreplanet-logo-300x182.jpg" width="300" height="182" srcset="https://puri.sm/wp-content/uploads/2017/02/libreplanet-logo-300x182.jpg 300w, https://puri.sm/wp-content/uploads/2017/02/libreplanet-logo-768x465.jpg 768w, https://puri.sm/wp-content/uploads/2017/02/libreplanet-logo.jpg 825w" sizes="(max-width: 300px) 100vw, 300px" />We are proud to announce that we will be <strong>attending and sponsoring the Free Software Foundation&#8217;s flagship conference, LibrePlanet,</strong> at the MIT this week-end <a href="https://libreplanet.org/2018/">on March 24-25th</a>.</p>
<p>We will also be manning a booth there, where you can try out our Librem laptops and see one of our i.MX 6 phone prototype development boards for the Librem 5. Come and say hi! We&#8217;ll be happy to meet old friends and new Free Software enthusiasts, veterans and newcomers, and to answer any questions attendees may have for us.</p>
<h1>Ask Todd Anything online</h1>
<p>Todd Weaver, founder and CEO of Purism, will be doing a Reddit Ask Me Anything (AMA) session on March 28th at 17h00 UTC (10h00 PDT / 13h00 EDT). You can already see him scheduled in the sidebar on the right of <a href="https://reddit.com/r/IAmA/" target="_blank" rel="noopener">https://reddit.com/r/IAmA/</a>. In true Reddit tradition, he is using the picture below to authenticate into Reddit:</p>
<figure id="attachment_49803" style="width: 960px" class="wp-caption aligncenter"><img class="size-large wp-image-49803" src="https://puri.sm/wp-content/uploads/2018/03/2018-03-10-170949-1024x576.jpg" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/03/2018-03-10-170949-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2018/03/2018-03-10-170949-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2018/03/2018-03-10-170949-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2018/03/2018-03-10-170949.jpg 1280w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">The &#8220;proof&#8221; that Reddit requires</figcaption></figure>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/march-2018-events/">Upcoming March 2018 events: LibrePlanet, Reddit AMA</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Initial Plasma Mobile enablement on Librem 5 i.MX 6 test boards</title>
		<link>https://puri.sm/posts/librem5-progress-report-9/</link>
		<pubDate>Tue, 13 Mar 2018 13:31:53 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49826</guid>
		<description><![CDATA[<p>As many of you know, the Librem 5 phone will work with two options for your desktop environment, a GNOME based phone shell and Plasma Mobile. Working closely with the KDE community, we were able to install, run, and even see mobile network provider service on Plasma Mobile! The purpose of this article is to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-9/">Initial Plasma Mobile enablement on Librem 5 i.MX 6 test boards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>As many of you know, the Librem 5 phone will work with <a href="https://puri.sm/posts/gnome-and-kde-in-pureos-diversity-across-devices/">two options</a> for your desktop environment, a GNOME based phone shell and Plasma Mobile. Working closely with the KDE community, we were able to install, run, and even see mobile network provider service on Plasma Mobile! The purpose of this article is to show the progress that has been made with Plasma Mobile on the current Librem 5 development board. Here, the setup steps and overcome challenges are highlighted.</p>
<h1>The Setup</h1>
<p>The i.MX 6 board started off running <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a> (which, as you may know, is based on <em>Debian testing</em>) with a running Weston environment. Several KDE and Qt packages were needed for the Plasma Mobile environment and a few packages were not available within PureOS so needed to be built: plasma-phone-components, kpeople-vcard, and plasma-settings. For a complete list of technical steps on how Plasma Mobile was setup on the dev board, see <a href="https://developer.puri.sm/Environments/PlasmaMobile.html">this page</a>.</p>
<p>Once all of the necessary pieces were in place, running Plasma Mobile was as simple as a single command:</p>
<pre>$ kwin_wayland --drm plasma-phone</pre>
<h1>Overcome Challenge #1: The Evil Display Issue</h1>
<p><img class="wp-image-49831 alignright" src="https://puri.sm/wp-content/uploads/2018/03/bad_screen_full-e1520870479880.jpg" alt="" width="310" height="413" srcset="https://puri.sm/wp-content/uploads/2018/03/bad_screen_full-e1520870479880.jpg 3024w, https://puri.sm/wp-content/uploads/2018/03/bad_screen_full-e1520870479880-225x300.jpg 225w, https://puri.sm/wp-content/uploads/2018/03/bad_screen_full-e1520870479880-768x1024.jpg 768w" sizes="(max-width: 310px) 100vw, 310px" />That is when we discovered that the desktop just wasn’t rendering properly. The prototype phone screen looked like an old TV in-between channels. Also sometimes a KDE wallet pop-up window would appear as well (seen in the picture below).</p>
<p>So troubleshooting hats were donned and gdb dusted off. It was discovered that if the <em>export QT_QPA_PLATFORM=wayland</em> line is commented out of the plasma-phone script, then our display issue went away! But the QT_QPA_PLATFORM variable is needed to set the platform to be Wayland. So then the question became, &#8220;why is the graphics driver, <em>etnaviv,</em> not working in Wayland mode?&#8221;</p>
<p>It turns out that the missing piece was that the <em>zwp_linux_dmabuf</em> protocol was not yet supported in Plasma. For more information on why zwp_linux_dmabuf is needed for Etnaviv driver, check out <a href="https://www.pengutronix.de/en/2017-09-28-etnaviv-weston-mainline.html" target="_blank" rel="noopener">this announcement</a>.</p>
<p>There already was an upstream bug report tracking the issue, with patches to kwin and kwayland. Thanks to Fredrik Höglund for his work done on zwp_linux_dmabuf.</p>
<p>We incorporated upstream&#8217;s patches into our development build of kwin and kwayland and voilà! We were now able to export the QT_QPA_PLATFORM variable and see a beautiful Plasma display!</p>
<p><img class="alignleft wp-image-49833" src="https://puri.sm/wp-content/uploads/2018/03/good_display_full-e1520871172249.jpg" alt="" width="313" height="418" srcset="https://puri.sm/wp-content/uploads/2018/03/good_display_full-e1520871172249.jpg 3024w, https://puri.sm/wp-content/uploads/2018/03/good_display_full-e1520871172249-225x300.jpg 225w, https://puri.sm/wp-content/uploads/2018/03/good_display_full-e1520871172249-768x1024.jpg 768w" sizes="(max-width: 313px) 100vw, 313px" /><img class="wp-image-49834 alignnone" src="https://puri.sm/wp-content/uploads/2018/03/good_screenlock_full-e1520871185698.jpg" alt="" width="314" height="419" srcset="https://puri.sm/wp-content/uploads/2018/03/good_screenlock_full-e1520871185698.jpg 3024w, https://puri.sm/wp-content/uploads/2018/03/good_screenlock_full-e1520871185698-225x300.jpg 225w, https://puri.sm/wp-content/uploads/2018/03/good_screenlock_full-e1520871185698-768x1024.jpg 768w" sizes="(max-width: 314px) 100vw, 314px" /></p>
<h1>Overcome Challenge #2: The Invisible Mouse</h1>
<p>It was obvious that the keyboard worked, because it was possible to type the password to log back in from the blue lock screen. The mouse, however, seemed to be nowhere in sight. However, by moving the mouse around (assuming it’s there and just not visible) and clicking, we saw that it was possible to open applications but only by accidentally clicking the right thing.</p>
<p>The issue here is that if the DRM driver doesn’t provide the cursor plane. There is an outstanding bug report on this issue.</p>
<p>In the meantime however, we can work around this by holding Ctrl+Super keys to draw a rotating circle around the mouse cursor position, as you can see in the video below:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-49826-71" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/03/plamo_on_l5.webm?_=71" /><a href="https://puri.sm/wp-content/uploads/2018/03/plamo_on_l5.webm">https://puri.sm/wp-content/uploads/2018/03/plamo_on_l5.webm</a></video></div>
<p>This is good enough for our current needs, since ultimately we will receive the missing touch adapter hardware for the dev screen and we would no longer need to use of a traditional mouse pointer.</p>
<h1>Overcome Challenge #3: Mobile Network Provider Service</h1>
<p><img class="alignleft wp-image-49832" src="https://puri.sm/wp-content/uploads/2018/03/cell_service_full-768x1024.jpg" alt="" width="392" height="522" srcset="https://puri.sm/wp-content/uploads/2018/03/cell_service_full-768x1024.jpg 768w, https://puri.sm/wp-content/uploads/2018/03/cell_service_full-225x300.jpg 225w" sizes="(max-width: 392px) 100vw, 392px" /></p>
<p>Naturally, the next challenge we attempted was to make a phone call. First, the SIM card needs to be recognized, and the provider information retrieved from the modem. This required additional packages, some of which needed to be built from source. To actually get the Sierra Wireless MC7455 to recognize the SIM card, a PIN needed to be sent, modem brought online, and antennas attached. Then, when Plasma Mobile started, we were able to see the mobile network provider signal strength in the top left corner!</p>
<p>Due to the modem we currently have installed on our i.MX 6 board, phone calls are not supported so we could not fully test that part yet. But don’t worry, the Librem 5 will have a modem capable of actually placing phone calls 😉</p>
<h1>One step closer and 9,000 kilometers across</h1>
<p>Together with the community, Purism is making progress on the road to supporting Plasma Mobile on the Librem 5. There is still more effort needed and this collaboration with the Plasma community will be working towards the successful deployment of Plasma Mobile on the Librem 5.</p>
<p>From 27th of February to 1st of March, Todd and Nicole visited the Embedded World electronics supplier trade show in Nürnberg (Germany) to meet with potential parts suppliers, especially with representatives from NXP and distributor EBV Elektronik. Furthermore, we had productive meetings with suppliers for WiFi, BlueTooth, and sensors, and also talked to a number of board makers and designers.</p>
<p>This visit and the talks prepared us well for our next trip, this time to Shenzhen, the silicon delta of China. We have made appointments with a number of suppliers that are interested in cooperating with us on the Librem 5 phone project as well as on other hardware projects. We will have an extensive two week meeting marathon in order to narrow down the choice and pinpoint the best suppliers for our project.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-9/">Initial Plasma Mobile enablement on Librem 5 i.MX 6 test boards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/03/plamo_on_l5.webm" length="4578517" type="video/webm" />
		</item>
		<item>
		<title>Design report #4: symbiotic applications</title>
		<link>https://puri.sm/posts/librem5-progress-report-8/</link>
		<pubDate>Sat, 10 Mar 2018 23:44:03 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[User experience design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49504</guid>
		<description><![CDATA[<p>Purism&#8217;s long-term goal has always been to make computers that are as convenient as they are respectful to the people that use them. The Librem products are an ethical platform and therefore should not be discriminating anyone; instead, they are meant to be inclusive of all human beings. In other words, everyone should find in [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-8/">Design report #4: symbiotic applications</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism&#8217;s long-term goal has always been to make computers that are as convenient as they are respectful to the people that use them. The Librem products are an ethical platform and therefore should not be discriminating anyone; instead, they are meant to be inclusive of all human beings. In other words, everyone should find in their Librem a convenient and secure platform for their daily usage, and therefore accessibility should also be an important part of our ethical design roadmap.</p>
<p>We are aware that the road is long and that the Librem 5 is a challenging project, so we need some design foundations that favor convenience as much as it can lighten the development effort to get there.</p>
<h1>Apps on existing platforms compete for your attention</h1>
<p>With today&#8217;s smartphones, you usually get a minimal set of functionalities out of the box and go through installing diverse applications for your different needs. Usually those applications are proprietary and are designed around their own unethical business model; hence they compete against each other for your attention and have their own set of features to be used within the scope of the application only.</p>
<p>This can lead to a lot of redundancy and confusion in terms of functionality. A particularly blatant case is communication applications, where we see each application handling their own contacts logic, their own locked down and isolated protocol, and where a ton of applications will implement the same things for the same purpose (making calls and sending messages), with the focus typically being the flashiest application to attract and retain the most users. Let&#8217;s illustrate how ridiculous this is, conceptually:</p>
<p><img class="aligncenter size-large wp-image-49564" src="https://puri.sm/wp-content/uploads/2018/03/competing-ecosystem-1024x588.png" alt="" width="960" height="551" srcset="https://puri.sm/wp-content/uploads/2018/03/competing-ecosystem-1024x588.png 1024w, https://puri.sm/wp-content/uploads/2018/03/competing-ecosystem-300x172.png 300w, https://puri.sm/wp-content/uploads/2018/03/competing-ecosystem-768x441.png 768w, https://puri.sm/wp-content/uploads/2018/03/competing-ecosystem.png 1180w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<h1>Envisioning a harmonious app ecosystem</h1>
<p>In the real, natural world, sustainable ecosystems are made of biological entities interacting together in harmony or symbiosis. This is what makes life possible over the long term.</p>
<p>The digital world of Free/Libre &amp; open-source software, particularly in operating systems, is highly similar to the natural ecosystem. In this world, there is no such thing as isolating off or protecting a technology if you want to be part of the system. Business models and interests are completely different from the world of proprietary software. Best practices favor reuse and integration, improving user experience, reducing technical debt, increasing software quality and lowering development costs, with a &#8220;collaborative&#8221; system where different applications from different authors are made to work together.</p>
<h2>The Purpose is the Feature</h2>
<p>The idea behind the PureOS design guidelines is to replace the concept of standalone, independent and feature-competing applications with a concept of small, single-purpose, cross-integrated applications—that would interact between each other to provide a unified experience across the device (and beyond). Those small applications can be seen as &#8220;features&#8221; of the system. 1 purpose = 1 feature.</p>
<p><img class="aligncenter size-large wp-image-49559" src="https://puri.sm/wp-content/uploads/2018/03/collaborative-ecosystem-1024x639.png" alt="" width="960" height="599" srcset="https://puri.sm/wp-content/uploads/2018/03/collaborative-ecosystem-1024x639.png 1024w, https://puri.sm/wp-content/uploads/2018/03/collaborative-ecosystem-300x187.png 300w, https://puri.sm/wp-content/uploads/2018/03/collaborative-ecosystem-768x479.png 768w, https://puri.sm/wp-content/uploads/2018/03/collaborative-ecosystem.png 1180w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<p>Therefore, the Human Interface Guidelines&#8217; main principles regarding &#8220;features&#8221; development would be :</p>
<ul>
<li>Don&#8217;t see applications as independent programs but as &#8220;features&#8221; that have a single purpose and that interact with each other.</li>
<li>One &#8220;feature&#8221; application is guarantor of the security of the data flow going through it. Only make your &#8220;feature&#8221; application share data with &#8220;trusted&#8221; features or networks and in a secure way.</li>
<li>Make a &#8220;feature&#8221; application focused on one single purpose (an email client is not an address book nor a calendar)</li>
<li>Make your &#8220;feature&#8221; application rely on existing features (an email client should rely on the existing address book and the existing calendar &#8220;features&#8221;)</li>
<li>Avoid redundancy. Don&#8217;t try to reinvent existing applications. Improve them instead.</li>
<li>Setup your &#8220;feature&#8221; application by default. Make it work out of the box.</li>
</ul>
<h2>Advantages</h2>
<p>On the user&#8217;s side, the features of the device are easy to spot as they are made available through single-purpose applications displaying an obvious name. For example, the &#8220;Call&#8221; application is made to make calls, no matter the technology used behind that (e.g. Matrix, phone, voip). The &#8220;Messaging&#8221; application is used to send instant messages, no matter the technology used behind that (e.g. Matrix, SMS, XMPP). The &#8220;Contacts&#8221; application is used to manipulate and store the contacts information to be used by the &#8220;Call&#8221; and &#8220;Messaging&#8221; applications.</p>
<p>On the developer&#8217;s side, applications are as simple as they can be, the use cases are limited, all the logic that is not related to the main purpose of the application is delegated to other programs, which makes the application easier to design, implement and maintain.</p>
<h2>Data belongs to the user, not the application</h2>
<p>In this collaborative application system, where applications can interact with each other in harmony, data is not limited to the application&#8217;s logic anymore. Applications are acting as services, or &#8220;data providers&#8221;, to each other. Data can flow from one application to the other, from one device to another, from one network to another.</p>
<p>This concept implies the separation between data and functionality where the data belongs to the user only. The application that manipulates it is guarantor of its integrity and security.</p>
<hr class="ttfmake-hr" style="border-style: solid; border-top-width: 1px;" />
<p><strong>Please note:</strong> <small>these are <em>guidelines</em>, representing an overall vision. Guidelines are there simply as a way to guide application design, and to suggest best practices for application developers in general. Given that a GNU+Linux distribution like PureOS is an open platform where thousands of applications are available independently (as long as they are freedom-respecting!), you are not obligated to conform to these design guidelines to be able to distribute your application through Debian and PureOS. Furthermore, these design plans represent a broad long-term plan, not necessarily a guarantee of what will be happening &#8220;immediately&#8221; in the first released version of the platform that ships, your mileage may vary, etc.</small></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-8/">Design report #4: symbiotic applications</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Tamper-evident Boot Update: Making Heads More Usable</title>
		<link>https://puri.sm/posts/making-heads-more-usable-with-menus/</link>
		<pubDate>Fri, 09 Mar 2018 16:20:32 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49697</guid>
		<description><![CDATA[<p>We announced not too long ago that we have successfully integrated the tamper-evident boot software Heads into our Librem laptops. Heads secures the boot process so that you can trust that the BIOS and the rest of the boot process hasn&#8217;t been tampered with, but with keys that are fully under your control. Heads is [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/making-heads-more-usable-with-menus/">Tamper-evident Boot Update: Making Heads More Usable</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We announced not too long ago that <a href="https://puri.sm/posts/purism-integrates-heads-security-firmware-with-tpm-giving-full-control-and-digital-privacy-to-laptop-users/">we have successfully integrated the tamper-evident boot software Heads into our Librem laptops</a>. Heads secures the boot process so that you can trust that the BIOS and the rest of the boot process hasn&#8217;t been tampered with, but with keys that are fully under your control.</p>
<p>Heads is cutting edge software and provides a level of security beyond what you would find in a regular computer. Up to this point though, its main user base are expert-level users who are willing to hardware flash their BIOS. The current user interface is also geared more toward those expert users with command-line scripts that make the assumption that you know a fair amount about how Heads works under the hood.</p>
<p>We want all our customers to benefit from the extra security in Heads so we intend to include it by default in all of our laptops in the future. For that to work though, Heads needs to be accessible for people of all experience levels. Most users don&#8217;t want to drop to a recovery shell with an odd error message so they can type some commands if they happen to update their BIOS, and they don&#8217;t want to be locked out of their system if they forgot to update their file signatures in /boot after a kernel update.</p>
<p>When we announced that <a href="http://www.marketwired.com/press-release/security-researcher-trammell-hudson-device-maker-purism-join-forces-set-new-standard-2209477.htm">we were partnering with Trammell Hudson to use Heads on our laptops</a>, we didn&#8217;t just mean &#8220;thanks for the Free Software, see you later!&#8221; Instead, we are putting our own internal engineering efforts to the task of not just porting Heads to our hardware, but also improving it&#8211;and sharing those improvements upstream.</p>
<h1>The Delicious GUI Center</h1>
<p>The first of our improvements is focused on making the boot screen more accessible. We started by added whiptail (software that lets you display GUI menus in a console) to Heads so that we can display a boot menu that more closely resembles GRUB. We then duplicated the features of the existing Heads boot menu so that instead of this:</p>
<figure id="attachment_48764" style="width: 960px" class="wp-caption alignnone"><img class="wp-image-48764 size-large" src="https://puri.sm/wp-content/uploads/2018/02/IMG_20180215_165722-1024x762.jpg" alt="Heads booting on a Librem 13v2" width="960" height="714" srcset="https://puri.sm/wp-content/uploads/2018/02/IMG_20180215_165722-1024x762.jpg 1024w, https://puri.sm/wp-content/uploads/2018/02/IMG_20180215_165722-300x223.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/IMG_20180215_165722-768x571.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">Heads booting on a Librem 13v2</figcaption></figure>
<p>you now see this:</p>
<figure id="attachment_49700" style="width: 960px" class="wp-caption alignnone"><img class="size-large wp-image-49700" src="https://puri.sm/wp-content/uploads/2018/03/heads_menu1-1024x635.jpg" alt="Initial Heads GUI Menu" width="960" height="595" srcset="https://puri.sm/wp-content/uploads/2018/03/heads_menu1-1024x635.jpg 1024w, https://puri.sm/wp-content/uploads/2018/03/heads_menu1-300x186.jpg 300w, https://puri.sm/wp-content/uploads/2018/03/heads_menu1-768x476.jpg 768w, https://puri.sm/wp-content/uploads/2018/03/heads_menu1.jpg 1254w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">Initial Heads GUI Menu</figcaption></figure>
<p>If you hit enter, you boot straight into your OS just like with GRUB, only behind the scenes Heads is checking all the files in /boot for tampering. If you hadn&#8217;t already configured a default boot option, instead of dumping you back to a main menu with no explanation or existing out to a shell, we decided to provide a GUI so you can decide what to do next:</p>
<figure id="attachment_49704" style="width: 960px" class="wp-caption alignnone"><img class="size-large wp-image-49704" src="https://puri.sm/wp-content/uploads/2018/03/heads_menu3-1024x644.png" alt="No Default Boot Set" width="960" height="604" srcset="https://puri.sm/wp-content/uploads/2018/03/heads_menu3-1024x644.png 1024w, https://puri.sm/wp-content/uploads/2018/03/heads_menu3-300x189.png 300w, https://puri.sm/wp-content/uploads/2018/03/heads_menu3-768x483.png 768w, https://puri.sm/wp-content/uploads/2018/03/heads_menu3.png 1280w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">No Default Boot Set</figcaption></figure>
<p>If you decide to load a menu of boot options from the main menu or from this dialog, we also wrapped a GUI around the Heads boot menu that parses your GRUB config file:</p>
<figure id="attachment_49702" style="width: 960px" class="wp-caption alignnone"><img class="size-large wp-image-49702" src="https://puri.sm/wp-content/uploads/2018/03/heads_menu2-1024x556.png" alt="Heads Boot Selection Menu" width="960" height="521" srcset="https://puri.sm/wp-content/uploads/2018/03/heads_menu2-1024x556.png 1024w, https://puri.sm/wp-content/uploads/2018/03/heads_menu2-300x163.png 300w, https://puri.sm/wp-content/uploads/2018/03/heads_menu2-768x417.png 768w, https://puri.sm/wp-content/uploads/2018/03/heads_menu2.png 1279w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">Heads Boot Selection Menu</figcaption></figure>
<p>In each of the most common workflows, we&#8217;ve replaced the console output with an easier-to-use menu that also provides a bit more explanation on what&#8217;s happening if something goes wrong. For the most part the average user will just verify the TOTP code and then hit Enter to boot their system so in that way it&#8217;s not much different from a standard GRUB boot screen. These extra menus come in only if the user ever needs to deviate from the default and select a different kernel, generate a new TOTP code, or do other maintenance within Heads.</p>
<h1>What&#8217;s Next</h1>
<p>We now have these GUI menus working well in our internal Heads prototypes and we&#8217;ve also pushed our changes upstream, where most of them have already been pulled into the <a href="https://github.com/osresearch/heads/">Heads project</a>. That said, having a GUI boot menu is only part of what you need to make tamper-evident boot usable. Now that the boot menu is in a good place, our next focus is on making the overall Heads bootstrap and update process, key management, and signature generation easy (<a href="https://puri.sm/posts/purism-collaboration-with-cryptography-expert-werner-koch/">if only we had a GPG expert to help us with smart card integration, that would sure make things easier</a>). Keep an eye out for more updates along all these lines soon.</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/making-heads-more-usable-with-menus/">Tamper-evident Boot Update: Making Heads More Usable</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Partners with Cryptography Pioneer Werner Koch to Create a New Encrypted Communication Standard for Security-Focused Devices</title>
		<link>https://puri.sm/posts/purism-collaboration-with-cryptography-expert-werner-koch/</link>
		<pubDate>Thu, 08 Mar 2018 16:00:48 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49208</guid>
		<description><![CDATA[<p>Koch’s GnuPG and Smartcard encryption innovations popularized by Edward Snowden to be implemented in Purism’s Librem 5 smartphone and Librem laptop devices. SAN FRANCISCO, California — March 8th, 2018 — Purism, maker of security-focused laptops has announced today that they have joined forces with leading cryptography pioneer, Werner Koch, to integrate hardware encryption into the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-collaboration-with-cryptography-expert-werner-koch/">Purism Partners with Cryptography Pioneer Werner Koch to Create a New Encrypted Communication Standard for Security-Focused Devices</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em><i>Koch’s GnuPG and Smartcard encryption innovations popularized by Edward Snowden to be implemented in Purism’s Librem 5 smartphone and Librem laptop devices</i>.</em></p>
<p>SAN FRANCISCO, California — March 8th, 2018 — Purism, maker of security-focused laptops has announced today that they have joined forces with leading cryptography pioneer, <a href="https://en.wikipedia.org/wiki/Werner_Koch" target="_blank" rel="noopener">Werner Koch</a>, to integrate hardware encryption into the company’s Librem laptops and forthcoming <i>Librem 5</i> phone. By manufacturing hardware with its own software and services, Purism will include cryptography by default pushing the industry forward with unprecedented protection for end-user devices.<span id="more-49208"></span></p>
<p>Adding to the <a href="https://puri.sm/posts/purism-integrates-heads-security-firmware-with-tpm-giving-full-control-and-digital-privacy-to-laptop-users/">implementation and delivery of Trammel Hudson’s Heads security firmware</a> and <a href="https://puri.sm/posts/purism-partners-with-nextcloud-to-build-and-include-end-to-end-encrypted-storage-products-and-services/">partnership with Nextcloud for end-to-end encrypted storage</a>, Purism will now leverage the <a href="https://en.wikipedia.org/wiki/GNU_Privacy_Guard"><b>GnuPG</b></a> (GPG) and SmartCard designs that Werner Koch has been involved in for over a decade, to include encryption by default into its hardware, software, and services. Librem devices will also include Werner’s GPG encryption, that Edward Snowden famously used to communicate with journalists, by default into communications such as email and messaging through a new process called <i>Web Key Directory</i>, which a distributed system that allows users to select recipient permissions on communication that will be encrypted.</p>
<blockquote>
<figure id="attachment_49431" style="width: 300px" class="wp-caption alignleft"><img class="wp-image-49431 size-medium" src="https://puri.sm/wp-content/uploads/2018/03/Werner_Koch_Portrait_01.2015-2-crop-300x300.jpg" alt="" width="300" height="300" srcset="https://puri.sm/wp-content/uploads/2018/03/Werner_Koch_Portrait_01.2015-2-crop-300x300.jpg 300w, https://puri.sm/wp-content/uploads/2018/03/Werner_Koch_Portrait_01.2015-2-crop-150x150.jpg 150w, https://puri.sm/wp-content/uploads/2018/03/Werner_Koch_Portrait_01.2015-2-crop-180x180.jpg 180w, https://puri.sm/wp-content/uploads/2018/03/Werner_Koch_Portrait_01.2015-2-crop-600x600.jpg 600w, https://puri.sm/wp-content/uploads/2018/03/Werner_Koch_Portrait_01.2015-2-crop.jpg 631w" sizes="(max-width: 300px) 100vw, 300px" /><figcaption class="wp-caption-text">Werner Koch, creator of GPG</figcaption></figure>
<p>“Purism’s goal of easy-to-use cryptography built into its products is the ideal approach to gain mass adoption—Purism is manufacturing modern hardware designed to allow the users to have control of their own systems.” said Werner Koch, GPG creator and leading cryptography expert. “Leveraging cryptography in hardware, software, and services together ensures the best approach to security, and I’m excited to help advance that with Purism.”</p></blockquote>
<blockquote style="clear: both;">
<figure id="attachment_8674" style="width: 150px" class="wp-caption alignright"><img class="wp-image-8674 size-thumbnail" src="https://puri.sm/wp-content/uploads/2016/10/todd-weaver-150x150.png" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2016/10/todd-weaver-150x150.png 150w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-300x300.png 300w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver.png 500w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-100x100.png 100w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-180x180.png 180w" sizes="(max-width: 150px) 100vw, 150px" /><figcaption class="wp-caption-text">Purism CEO Todd Weaver</figcaption></figure>
<p>“We are very excited about the partnership between Purism and Werner Koch, especially being able to work closely with a foremost expert with regard to all things cryptography,” said Todd Weaver, CEO of Purism. “We continue to advance solutions aligned with our goals of privacy and security for everyone and this union adds to our growing roster of partnerships that represent our ideal approach to protecting users by default, without sacrificing convenience or usability.”</p></blockquote>
<p>With the help of Koch, Purism will also utilize secure storage with full-disk-encryption, and file encryption. The final implementation will allow the user or business to retain control by holding the keys to protect their own digital files or data.</p>
<hr />
<h1>About the Purism Librem</h1>
<p><img class="wp-image-10843 alignright" src="https://puri.sm/wp-content/uploads/2016/11/librem_family.jpg" alt="" width="422" height="301" srcset="https://puri.sm/wp-content/uploads/2016/11/librem_family.jpg 640w, https://puri.sm/wp-content/uploads/2016/11/librem_family-300x214.jpg 300w" sizes="(max-width: 422px) 100vw, 422px" /></p>
<p>Purism&#8217;s goal with the Librem <a href="/products/" target="_blank" rel="noopener">products</a> is to offer a high-end computers and phones with a simple, out-of-the-box, secure computing environment usable by ordinary users.</p>
<p>Purism&#8217;s Librem laptops feature customized components designed to increase security and freedom for end-users, <a href="https://puri.sm/coreboot/">including coreboot</a>, a neutralized <a href="https://puri.sm/learn/intel-me/">Intel Management Engine</a>, <a href="https://puri.sm/learn/avoiding-intel-amt/">Intel AMT avoidance</a>, and many other features that make this partnership possible on a technical level.</p>
<hr />
<h1>About Werner Koch</h1>
<p>Werner Koch became interested in software development in the late seventies and since then worked on systems ranging from CP/M systems to mainframes, languages from assembler to Smalltalk and applications from drivers to financial analysis systems. He is widely known as the principal author of the <a href="https://gnupg.org/" target="_blank" rel="noopener">GNU Privacy Guard</a> (GnuPG or GPG), a project he started in 1997 to foster the use of encrypted communication. Living in Europe, he was not affected by the then active U.S. export restrictions on cryptography software and thus able to make GnuPG available for everyone as Free Software. A large online community of users, developers and donors are extensively helping to maintain and extend GnuPG.</p>
<p><!-- About Purism: --> <h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.</p>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-collaboration-with-cryptography-expert-werner-koch/">Purism Partners with Cryptography Pioneer Werner Koch to Create a New Encrypted Communication Standard for Security-Focused Devices</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 puzzle pieces starting to come together—graphics, adaptive applications, docs and SDK</title>
		<link>https://puri.sm/posts/librem5-progress-report-7/</link>
		<pubDate>Sat, 03 Mar 2018 15:36:21 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[User interaction design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49252</guid>
		<description><![CDATA[<p>The Librem 5 is a big project. And like a lot of big projects, as you probably know, it can appear overwhelming, until you can break the parts down into logical steps. Like a large puzzle scattered on a table, our team has been organizing and beginning to assemble all the pieces. This is very [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-7/">Librem 5 puzzle pieces starting to come together—graphics, adaptive applications, docs and SDK</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 5 is a big project. And like a lot of big projects, as you probably know, it can appear overwhelming, until you can break the parts down into logical steps. Like a large puzzle scattered on a table, our team has been organizing and beginning to assemble all the pieces. This is very exciting to progress through the initial daunting scope, accepting the tasks, start working and then&#8230; after some time, solutions emerge and almost magically align.</p>
<p>In our previous blog posts we described what we were starting to work on, and these efforts began to prove themselves out significantly during our week-long hackfest where part of our software phone team gathered last week in Siegen, Germany.<span id="more-49252"></span> In addition to myself, we therefore had Bob, Heather, Pedro, Dorota, Adrien, Guido, and Todd joining us.</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.53.03.jpg"><img class="alignnone wp-image-49311 size-full" src="https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.53.03.jpg" alt="" width="1200" height="713" srcset="https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.53.03.jpg 1200w, https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.53.03-300x178.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.53.03-768x456.jpg 768w, https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.53.03-1024x608.jpg 1024w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<p><a href="https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.52.37.jpg"><img class="alignnone size-full wp-image-49312" src="https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.52.37.jpg" alt="" width="1200" height="463" srcset="https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.52.37.jpg 1200w, https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.52.37-300x116.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.52.37-768x296.jpg 768w, https://puri.sm/wp-content/uploads/2018/02/2018-02-22-12.52.37-1024x395.jpg 1024w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<h1>Compositor and Shell</h1>
<p>One of the most important parts of the phone user interface is the Wayland compositor and the UI &#8220;shell&#8221;. The compositor coordinates the drawing of surfaces, which basically are the different application windows, and the shell provides basic user interfaces for starting applications and e.g. control widgets like for connectivity, display brightness, rotation etc.</p>
<p>For a number of reasons—and after having evaluated several possible choices with upstream project maintainers (including GNOME Shell maintainers)—, we set out to develop a clean-slate Wayland-only compositor and shell based on Wlroots and Rootston. Guido is heavily working on this, and the results we&#8217;ve achieved within the short period of time are pretty amazing—it is the foundational work for the rest of the UI images below.</p>
<p>We now have a mostly complete compositor working on the i.MX 6 development boards working, based on Wlroots and Rootston, with a start of a small phone desktop shell (<a href="https://source.puri.sm/Librem5/phosh" target="_blank" rel="noopener">phosh</a>) providing window handling, full-screening of application windows, a first start of controls menu also allowing runtime display rotation—so you can at runtime rotate the display to either landscape or portrait mode and running applications will automatically be resized to the new display geometry.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-49252-72" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip3.webm?_=72" /><a href="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip3.webm">https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip3.webm</a></video></div>
<p>All of this is already running and working on the i.MX 6 board and proves to absolutely be performant enough to be usable for everything we need. This also proves that our approach indeed will work out. The shell component of it, <em>Phosh,</em> is still at a very early &#8220;proof of concept&#8221; stage but already allows launching some applications from it. The important part here is that all the infrastructure is in place to show such application chooser menus to exist and to launch applications from it. Now we can work on completing it and adhering to the designs that our design team has proposed.</p>
<h1>Adaptive (&#8220;Responsive&#8221;) GTK+ Applications</h1>
<p>One of the big challenges in writing graphical user interface applications is to design the UI in a way that it can be used on different screen sizes, geometries and resolutions. The phone is an extreme case of this because it has a very high resolution in a small form factor (about 5 inches) and is mostly used in portrait mode &#8220;but you can turn it into landscape mode&#8221; and you can connect it to an external larger screen… but you want to be able to use the same applications in all of these situations.</p>
<p>Therefore, graphical user interfaces need to <em>adapt</em> to their environment (window/screen size, orientation, resolution). We&#8217;ve seen this happen mainly in the website design industry in the last few years, what the industry calls &#8220;responsive&#8221; design.</p>
<p>Except we are officially calling it <strong><em>adaptive</em> design,</strong> or <strong><em>adaptive</em> applications.</strong> Not because we want to be fancy, but because &#8220;responsive&#8221; is a term that can have multiple meanings, and particularly, in the traditional software applications industry, can be interpreted as &#8220;performant&#8221;. A responsive application is something that reacts—or responds—swiftly to user interaction, and a non-responsive application is a hung up (or otherwise &#8220;not responding&#8221;) application.</p>
<p>At the moment most applications are not tailored for this kind of use case. So we looked into this issue and Adrien started to develop with a widget for <a href="https://en.wikipedia.org/wiki/GTK%2B" target="_blank" rel="noopener">GTK+</a> that could probably solve this problem—or at least make it a lot easier to create new adaptive applications and port existing ones to this new technology. The widget Adrien designed is an adaptive container widget allowing to automatically show or hide certain other widgets according to window size and geometry. As a proof of concept of how developers can simply modify an existing application to become adaptive, Adrien modified the <a href="https://wiki.gnome.org/Apps/Contacts" target="_blank" rel="noopener">GNOME Contacts</a> application to use his new &#8220;responsive&#8221; box and this turns out to work quite nicely, as you can see in this rough video, again running on the i.MX 6 board:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-49252-73" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip1.webm?_=73" /><a href="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip1.webm">https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip1.webm</a></video></div>
<p>The contacts application is a pretty simple application, at least concerning its user interface. As a next step Adrien will be testing the adaptive/responsive widget on an email client, stay tuned!</p>
<h1>Input methods</h1>
<p>Besides the compositor, shell, and UI layout, one of the most critical parts of a mobile device software suite is <em> input method handling.</em> Pushing buttons and reading text is one thing but you also want to be able to input text, and this requires a pretty complex row of software components talking to each other, involving namely the compositor and the toolkit used to develop the application. Dorota has worked on this and connected the necessary protocols and plugins, and now has a working input prototype based on the Wayland input method protocols, the Weston virtual keyboard, a GTK plugin and a sample application receiving the text in an input widget:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-49252-74" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip6.webm?_=74" /><a href="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip6.webm">https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip6.webm</a></video></div>
<p>You can see text being typed in on the virtual keyboard and showing up in the test application. While doing this Dorota also came up with the necessary methods to show and hide an input method depending of the input widget focus, etc. The same should have also been working with Qt applications already but it did not, and so Dorota is working on getting this to work. We are confident that we can soon also support Qt applications with this input method.</p>
<p>The protocol used for the input methods is not bound to the Weston virtual keyboard, i.e. it can be applied to other input methods and makes developing or adapting such input methods much easier.</p>
<h1>Telephony</h1>
<p>Last time we presented a first SMS being actually sent from our development board through the modem to some other mobile device, and we promised to work on phone calls next. Bob did a lot of research in this respect and we are beginning to understand the inner workings of oFono and Telepathy ring a lot better. We are still not completely there yet, but are starting to fill-in how it can all be done. The nice thing about researching and taking the time to fully understand the interfaces and this code is that it will allow us to very easily plug this into a dialer application and have the call establishment working.</p>
<h1>Documentation, SDK</h1>
<p>Now that the software stack becomes clearer it is very important to keep track of collected knowledge and to document this. Over the past weeks Heather has started this effort. She is not only documenting existing developmental efforts, but also integrating the products of the developers into what will become an emulator and SDK for new developers. We want to provide an integrated development experience for new developers that—in some not too distant future—shall enable development for all Purism devices, be it the laptops or the phone. We also aim at being open to different programming technologies, be it languages such as C, C++ or Python, and toolkits such as Qt or GTK+. We are of course aware that this will not work 100% &#8220;from day one&#8221; but this is our goal, and we are laying the foundation for an inclusive development approach. Heather is currently working with GNOME builder since it support a wide variety of programming languages and toolkits and it has the built-in ability to create <a href="https://flatpak.org/" target="_blank" rel="noopener">Flatpak</a> packages. She is also working on easy test deployment strategies so that developers can directly deploy an application from Builder either into a virtual machine emulator for the Librem 5 or directly onto a connected development kit or phone device or into a Flatpak package that can be shared.</p>
<p>This work is of course especially useful for our development kit users that will receive the development boards in June. Before that time we will launch a complete new website dedicated to development for PureOS and the Librem 5 phone.</p>
<h1>Hardware</h1>
<p>While our hardware team were not able to make it to Siegen, we did receive our first i.MX 8M evaluation kits last week and have begun evaluating these along with the software and drivers. We also will be evaluating a promising source for manufacturing and will be getting a factory tour from mid to end of March.</p>
<p><img class="aligncenter size-full wp-image-49257" src="https://puri.sm/wp-content/uploads/2018/02/purism-librem-5-imx8m-board.jpg" alt="" width="800" height="595" srcset="https://puri.sm/wp-content/uploads/2018/02/purism-librem-5-imx8m-board.jpg 800w, https://puri.sm/wp-content/uploads/2018/02/purism-librem-5-imx8m-board-300x223.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/purism-librem-5-imx8m-board-768x571.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<h1>The pieces are coming together</h1>
<p>A lot of pieces of our huge puzzle are snapping into place and these emerging shapes are starting to take proper form. We have a basis for the UI (compositor, shell), we have a proven way to adapt applications to the challenges of different screens (responsive box), we can input text to applications, the telephony stack becomes clearer and we have an approach for upcoming PureOS phone application developers.</p>
<p>We are extremely excited about the progress that we were able to make in such a comparably short amount of time. Stay tuned, a lot more things are coming&#8230;</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-7/">Librem 5 puzzle pieces starting to come together—graphics, adaptive applications, docs and SDK</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip3.webm" length="1468844" type="video/webm" />
<enclosure url="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip1.webm" length="1407318" type="video/webm" />
<enclosure url="https://videos.wp.puri.sm/librem_phone/dev/180223-hackfest/2018-02-23-clip6.webm" length="867130" type="video/webm" />
		</item>
		<item>
		<title>Purism Integrates Trammel Hudson’s Heads security firmware with Trusted Platform Module, giving full control and digital privacy to laptop users</title>
		<link>https://puri.sm/posts/purism-integrates-heads-security-firmware-with-tpm-giving-full-control-and-digital-privacy-to-laptop-users/</link>
		<pubDate>Tue, 27 Feb 2018 16:30:55 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49270</guid>
		<description><![CDATA[<p>Librem devices add tamper-evident features to further protect users from cybersecurity threats by offering users the full control that no mainstream computer manufacturer ever has before SAN FRANCISCO, Calif., February 27, 2018 — Purism, maker of security-focused laptops has announced today that they have successfully tested integration of Trammel Hudson’s Heads security firmware into their [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-integrates-heads-security-firmware-with-tpm-giving-full-control-and-digital-privacy-to-laptop-users/">Purism Integrates Trammel Hudson’s Heads security firmware with Trusted Platform Module, giving full control and digital privacy to laptop users</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><i>Librem devices add tamper-evident featu</i><i>res to further protect users from cybersecurity threats by offering users the full control that no mainstream computer manufacturer ever has before</i></p>
<p>SAN FRANCISCO, Calif., February 27, 2018 — Purism, maker of security-focused laptops has announced today that they have successfully tested integration of Trammel Hudson’s <a href="http://osresearch.net/" target="_blank" rel="noopener">Heads</a> security firmware into their Trusted Platform Module (TPM)-enabled coreboot-running Librem laptops. This integration allows Librem laptop users to freely inspect the code, build and install it (and customize it) themselves, and own control of the secure boot process as Heads <a href="https://puri.sm/posts/tpm-by-default-and-free-international-shipping/">uses the TPM</a> on the system to provide tamper-evidence.<span id="more-49270"></span> The update lets users test if someone has tampered with the software on their computer starting at the boot level.</p>
<p>Purism, fresh off of <a href="https://puri.sm/posts/purism-librem-laptops-completely-disable-intel-management-engine/">successfully disabling the Intel Management Engine from Librem laptops</a>, finished an integration effort that <a href="http://www.marketwired.com/press-release/security-researcher-trammell-hudson-device-maker-purism-join-forces-set-new-standard-2209477.htm" target="_blank" rel="noopener">began in April 2017 with the partnership of Purism and Trammell Hudson’s Heads project</a>, which required hardware design changes, coreboot modifications, and operating system updates to reach deployment on all new Purism laptops starting today.</p>
<blockquote><p>&#8220;Your privacy is dependent on your <i>freedom.</i> We believe that having true privacy means your computer and data should be under your control, and not controlled by big-tech corporations,&#8221; says Todd Weaver, Founder and CEO of Purism. “By activating Heads in our TPM-enabled coreboot by default on all our laptops, this critical piece combined with the rest of our security features will make Librem laptops the <a href="https://puri.sm/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/">most secure laptop</a> you can buy where <i>you</i> hold the keys.”</p></blockquote>
<blockquote><p>&#8220;Having control over our own digital privacy is a huge must-have when your business requires a strict standard to protect sensitive assets,&#8221; says Heath Behncke, Large Cap Investor. &#8220;I can confidently say that Purism Librem laptops have met that standard.&#8221;</p></blockquote>
<p>With the help of the input and investment from early TPM adopters who gave Purism the necessary “business case” and resources to work it out, Purism will now include the Heads integrated TPM chip in all new Librem 13 and Librem 15 orders by default, as a standard feature of the newest hardware revisions shipping out this month.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-integrates-heads-security-firmware-with-tpm-giving-full-control-and-digital-privacy-to-laptop-users/">Purism Integrates Trammel Hudson’s Heads security firmware with Trusted Platform Module, giving full control and digital privacy to laptop users</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem adds tamper-evident features, now most secure laptop under full customer control</title>
		<link>https://puri.sm/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/</link>
		<pubDate>Tue, 27 Feb 2018 16:00:29 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48708</guid>
		<description><![CDATA[<p>Protecting customer privacy, security and freedom is so fundamental to Purism&#8217;s mission that we codified it in our Social Purpose Corporation charter. We believe that these three concepts of privacy, security, and freedom are not just important by themselves but are also dependent on each other. For example, it&#8217;s obvious that by improving your security, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/">Librem adds tamper-evident features, now most secure laptop under full customer control</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Protecting customer privacy, security and freedom is so fundamental to Purism&#8217;s mission that we codified it in our <a href="https://puri.sm/about/social-purpose/">Social Purpose Corporation charter</a>. We believe that these three concepts of privacy, security, and freedom are not just important by themselves but are also <em>dependent</em> on each other. For example, it&#8217;s obvious that by improving your security, we help protect your privacy. What might be less obvious is how dependent your privacy is on your <em>freedom.</em> True privacy means your computer and data <strong>are under your control</strong>, not controlled by unethical big-tech corporations. When your digital life is under your control you have the freedom to share your data only when you want to. So as we consider ways to improve your security, it can&#8217;t be at the cost of privacy or freedom.</p>
<p>As part of our goal to improve security we are excited to <a href="https://puri.sm/posts/purism-integrates-heads-security-firmware-with-tpm-giving-full-control-and-digital-privacy-to-laptop-users/" target="_blank" rel="noopener">announce</a> that we have successfully integrated <a href="http://osresearch.net/">Heads</a> into our TPM-enabled coreboot-running Librem laptops. This integration effort began in April 2017 with the partnership of <a href="https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/">Purism and Trammell Hudson&#8217;s Heads project</a>, which required hardware design changes, coreboot modifications, and operating system updates to reach where we are with this announcement today. We now have a tamper-evident boot process starting with the BIOS all the way through verifying that the kernel, initrd, and boot configuration files haven&#8217;t been changed in any way. Soon Heads will be enabled by default on all our laptops and this critical piece combined with the rest of our security features will make Librem laptops the <strong>most secure laptop you can buy</strong> where <em>you</em> hold the keys.</p>
<p>In this post we will describe why Heads is such an integral part of our security and how it combines with the rest of our features to create a unique combination of security, privacy and freedom that don&#8217;t exist in any other laptop you can buy today.</p>
<figure id="attachment_48764" style="width: 960px" class="wp-caption alignnone"><img class="wp-image-48764 size-large" src="https://puri.sm/wp-content/uploads/2018/02/IMG_20180215_165722-1024x762.jpg" alt="Heads booting on a Librem 13v2 TPM" width="960" height="714" srcset="https://puri.sm/wp-content/uploads/2018/02/IMG_20180215_165722-1024x762.jpg 1024w, https://puri.sm/wp-content/uploads/2018/02/IMG_20180215_165722-300x223.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/IMG_20180215_165722-768x571.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">Heads booting on a Librem 13 with TPM</figcaption></figure>
<h1>Why Tamper-Evident Software Matters</h1>
<p>For your computer to be secure, you need to be able to trust that your software hasn&#8217;t been modified to run malicious code instead. This is one of many reasons why it&#8217;s so important that you can see the source code for all of the software on your system from your web browser to your hardware drivers to the kernel and up to your BIOS. We&#8217;ve gone to great lengths to choose hardware that can run with free software drivers, load our laptops with the <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1">FSF-endorsed</a> <a href="https://pureos.net/">PureOS</a>, use <a href="https://puri.sm/coreboot/">coreboot</a> as our Free/Libre and Open Source BIOS, and have <a href="https://puri.sm/learn/intel-me/">neutralized and disabled the Intel Management Engine</a>.</p>
<p>Unfortunately being able to see the source code isn&#8217;t enough. All of the software you run trusts the kernel, and the kernel trusts the BIOS. Without tamper-evident features that start the moment the computer turns on, an attacker can inject malicious code into your BIOS or kernel with no way to detect it. Once started, that malicious software could capture your encrypted disk or login passwords along with any other secrets or other personal information on your computer. By running tamper-evident software at boot, you get peace of mind that your system can be trusted before you start using it. With Purism&#8217;s combined approach the first bit loaded into the CPU is measured and signed by the user to prove nothing has been tampered with.</p>
<h2>Heads Above the Rest</h2>
<p>There are a number of different technologies we could have chosen to protect the boot process, but unfortunately very few of them are Free/Libre and Open Source and almost all of them work by taking control away from you and putting it into a vendor that owns the keys that determine what software you can run at boot. We have witnessed first-hand unethical laptops that ship with &#8220;<a href="https://trmm.net/Heads_FAQ#What.27s_wrong_with_UEFI_Secure_Boot.3F">Secure Boot</a>&#8221; enabled (a technology that only allows software signed with pre-approved (e.g. paid-for) corporate controlled keys to run at boot). The very limited BIOS on this machine offered no way to disable Secure Boot so it is impossible to install Debian, PureOS or any other distribution that hadn&#8217;t gotten the BIOS vendor and Microsoft&#8217;s (paid) approval.</p>
<p>Heads has a lot of advantages over all of the other boot verification technologies that make it perfect for Librem laptops. First, it is <a href="https://www.gnu.org/philosophy/free-sw.en.html">Free Software</a> that works with the <a href="https://coreboot.org/">Open Source coreboot BIOS</a> so you don&#8217;t have to take our word for it that it is backdoor-free&#8211;anybody is free to inspect the code and build and install it (and customize it) themselves.</p>
<p>Second, the way it uses <a href="https://puri.sm/posts/tpm-by-default-and-free-international-shipping/">the TPM on your system</a> to provide tamper-evidence <strong>puts the keys under your control</strong>, not ours. The fact that you retain control over the keys that secure your system is incredibly important. While we intend to make the secure boot process painless, we also don&#8217;t think you should have to trust us for it to work&#8211;you can change your keys any time.</p>
<h2>Enterprise Level Security, Easily</h2>
<p>If you manage a fleet of machines, this means with Purism Librem laptops that include TPM and Heads, you now have the ideal platform that you can tailor for your specific enterprise needs with custom features and <strong>your own trusted company keys</strong>. You can provide a trusted boot environment that protects your users from persistent malware and detects tampering while they travel, while still integrating with your custom in-house laptop images. And you can do this without having to ask us to sign your software.</p>
<p>The IT Security department&#8217;s dream of self-signed, tamper-evident, persistent-malware-detecting, laptop computer is now a reality with Purism Librem laptops.</p>
<h1>Part of a Bigger Story</h1>
<p>Having a secure boot process is the foundation of security on a modern laptop but it&#8217;s only part of the reason why Librem laptops are so secure. Here we will review some of the other security features that when combined with Heads puts Librem laptops in a totally different league.</p>
<h2>Snitches get Switches</h2>
<p>One of the first security features that set us apart was our <a href="https://puri.sm/learn/hardware-kill-switches/">hardware kill switches</a>. Unlike a software switch that asks the hardware to turn off politely and hopes it listens, our hardware kill switches sever the circuit at the hardware level. This means you don&#8217;t have to worry about Remote Access Trojan malware that can disable your webcam LED to spy on you more easily. When you hit the radio kill switch, your WiFi is completely off, and when you hit the webcam/mic kill switch, the webcam is truly powered off&#8211;no webcam stickers needed.</p>
<p>&nbsp;</p>
<h2>Extra Security with Qubes</h2>
<p>Our laptops default to PureOS because we feel it provides the best overall desktop experience for every type of user while still protecting your privacy, security and freedom. For customers who want an even higher level of security, <a href="https://qubes-os.org/">Qubes</a> uses virtualization features to provide <a href="https://www.qubes-os.org/intro/">extra security through compartmentalization</a>. In 2015, our Librem 13 (version 1) was the first (and currently only) hardware to <a href="https://www.qubes-os.org/news/2015/12/09/purism-partnership/">have received Qubes certification</a>. Our current line of laptops remains compatible, and we recently announced that our current generation of Librem 13 and 15 laptops <a href="https://puri.sm/posts/qubes4-fully-working-on-librem-laptops/">now fully work with Qubes 4.0</a>.</p>
<p>We are also investigating ways to incorporate some of the compartmentalization features of Qubes into PureOS so you can still have good security but with an easier learning curve. Disposable web browsers and protected USB ports are just some of the features we are considering.</p>
<h1>We Won&#8217;t Stop There</h1>
<p>When you combine tamper-evident secure booting with Heads, an Open Source coreboot BIOS, a neutered and disabled Intel Management Engine, hardware kill switches, and the advanced security features of Qubes, Librem laptops have a security advantage over any other laptop you can buy. Equally important, they have extra security without sacrificing your privacy, freedom, or control. While we are excited to hit this major milestone, and can&#8217;t wait to have Heads on by default for all our laptops, we aren&#8217;t stopping there.</p>
<p>A secured boot process opens the possibility for even stronger tamper-evidence that extends further into the file system. From there you can move past tamper-evidence into tamper-resistance or even tamper-proofing in some advanced applications. We are also investigating better ways to incorporate hardware tokens with our products to provide more convenient authentication and encryption while still leaving the keys in your hands.</p>
<p>Ultimately, our goal is to provide you with the most secure computer you can buy that protects your privacy while also respecting your freedom. Since these values are inter-dependent, each milestone that improves one ultimately strengthens them all, and we will continue to work to raise the bar on all of them.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/">Librem adds tamper-evident features, now most secure laptop under full customer control</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Design report #3: designing the UI Shell, part 2</title>
		<link>https://puri.sm/posts/librem5-progress-report-6/</link>
		<pubDate>Fri, 23 Feb 2018 13:00:14 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48915</guid>
		<description><![CDATA[<p>Peter has been quite busy thinking about the most ergonomic mobile gestures and came up with a complete UI shell design. While the last design report was describing the design of the lock screen and the home screen, we will discuss here about navigating within the different features of the shell. The mock-up on the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-6/">Design report #3: designing the UI Shell, part 2</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://puri.sm/wp-content/uploads/2018/02/l5-gestures.png"><img class="alignright wp-image-48971 " src="https://puri.sm/wp-content/uploads/2018/02/l5-gestures-1024x1020.png" alt="" width="450" height="448" srcset="https://puri.sm/wp-content/uploads/2018/02/l5-gestures-1024x1020.png 1024w, https://puri.sm/wp-content/uploads/2018/02/l5-gestures-150x150.png 150w, https://puri.sm/wp-content/uploads/2018/02/l5-gestures-300x300.png 300w, https://puri.sm/wp-content/uploads/2018/02/l5-gestures-768x765.png 768w, https://puri.sm/wp-content/uploads/2018/02/l5-gestures-180x180.png 180w" sizes="(max-width: 450px) 100vw, 450px" /></a>Peter has been quite busy thinking about the most ergonomic mobile gestures and came up with a complete UI shell design. While the last design report was describing the design of the lock screen and the home screen, we will discuss here about navigating within the different features of the shell.</p>
<p>The mock-up on the right describes the main navigation principles. It shows the basic gestures that can be used to navigate through the different features of the shell.</p>
<p>From top to bottom:</p>
<ul>
<li><strong>(N)</strong> &#8211; Pulls down the full list of notifications.</li>
<li><strong>(S)</strong> &#8211; Pulls down the full list of system settings.</li>
<li><strong>(Q)</strong> &#8211; Reveals the most frequently used settings.</li>
<li><strong>(W)</strong> &#8211; Quick launcher (to quickly access the communication features).</li>
<li><strong>(A)</strong> &#8211; (3 seconds) Reveals the list of running applications.</li>
<li><strong>(H)</strong> &#8211; Navigate back to the home screen.</li>
</ul>
<p>And below are a few more mockups illustrating additional planned features of the Shell:</p>
<ul>
<li>The multitasking overview screen that is revealed through the gesture (A) shows a carousel of all running apps along with their icons to make them easier to spot and access in a touch.</li>
<li>Swiping up from the bottom of the screen, from gesture (H), brings back the home screen</li>
<li>The &#8220;quick launcher&#8221; from gesture (W), in this example, is launching a list of (favorite) contacts for a quick access to the communications features.</li>
</ul>
<p><img class="alignnone" style="width: 100%; height: auto;" src="https://puri.sm/wp-content/uploads/2018/02/l5-shell-features.png" alt="" /></p>
<h1>An experience for people first, not just &#8220;app stores&#8221;</h1>
<p>Now that we have defined the main features and gestures of the shell, it should be time to take care of the applications&#8217; interfaces next.</p>
<p>If the Librem 5 was &#8220;Yet Another Android phone,&#8221; I would say &#8220;Go! Let&#8217;s make a bunch of apps!&#8221; But the Librem 5 is not just a regular phone, and Purism is very different from Apple and Google in term of philosophy and business model—they have been focusing on having the &#8220;biggest&#8221; app stores, selling apps, and mining data… and we don&#8217;t do that.</p>
<p>Therefore, before hastily moving forward with designing applications interfaces &#8220;like the other platforms&#8221;, not only must we study the current state of the mobile industry in term of User Experience, we must also try to think on how to improve it with a <em>user-centric</em> paradigm instead of necessarily app-centric. I think that, in some ways, there are many areas where the Librem 5 can bring greater simplicity, making iOS and Android look over-complicated in comparison. It may sound crazy to say that, but bear with me for a moment, we&#8217;ll get back to this later on.</p>
<p>By understanding a few concepts, we can try to define some human interface guidelines that will help getting a better user experience <em>by default.</em> This won&#8217;t prevent the phone to remain a highly customizable FLOSS platform—it will just help making the Librem 5&#8217;s &#8220;out of the box&#8221; experience more useful for everyone.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-6/">Design report #3: designing the UI Shell, part 2</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>February 2018 coreboot update now available</title>
		<link>https://puri.sm/posts/february-2018-coreboot-update/</link>
		<pubDate>Thu, 22 Feb 2018 22:48:45 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49020</guid>
		<description><![CDATA[<p>Hey everyone, I&#8217;m happy to announce the release of an update to our coreboot images for Librem 13 v2 and Librem 15 v3 machines. All new laptops will come pre-loaded with this new update, and everyone else can update their machines using our existing build script which was updated to build the newest image. Some [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/february-2018-coreboot-update/">February 2018 coreboot update now available</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hey everyone, I&#8217;m happy to announce the release of an update to our coreboot images for <strong>Librem 13 v2</strong> and <strong>Librem 15 v3</strong> machines.</p>
<p>All new laptops will come pre-loaded with this new update, and everyone else can update their machines using our existing <a href="https://source.puri.sm/kakaroto/coreboot-files/raw/master/build_coreboot.sh">build script</a> which was updated to build the newest image. Some important remarks:</p>
<ul>
<li>Please read the instructions below to make sure the image gets built properly and <strong>make sure to select the correct machine type</strong> in the menu for the build script.</li>
<li>The build script was initially written as a tool for internal use, and therefore isn&#8217;t as polished as it could be, so if you want something that just quickly applies updates without building/compiling the whole thing, we hope to provide such a (simpler) script in the future.</li>
</ul>
<h1>What&#8217;s new?</h1>
<p>This is a follow up from Kyle&#8217;s previous <a href="https://puri.sm/posts/qubes4-fully-working-on-librem-laptops/">blog post</a>, and now that the image has been fully tested, you can all enjoy it and get one of our most requested feature : VT-d support for Qubes 4.0 to work.</p>
<p>The new version is &#8220;4.7-Purism-1&#8221; and here is the ChangeLog:</p>
<blockquote>
<ul>
<li>​Update to coreboot 4.7</li>
<li>Update to FSP 2.0</li>
<li>Add IOMMU support</li>
<li>Enable TPM support</li>
<li>Fixed ATA errors at 6Gbps</li>
</ul>
</blockquote>
<p>While coreboot 4.7 has not been officially released, it was &#8220;tagged&#8221; on October 31st in coreboot&#8217;s git repository, and this release is based on that tag with the IOMMU (VT-d) and TPM support added on top of it.</p>
<p>If your laptop came with the TPM chip installed, you <strong>need to update your coreboot image</strong> to this version in order to use the TPM hardware.</p>
<h1>How to build it?</h1>
<p>To build the latest coreboot image :</p>
<ol>
<li>Download the <a href="https://source.puri.sm/kakaroto/coreboot-files/raw/master/build_coreboot.sh">build script</a><br />
<code>mkdir building-coreboot &amp;&amp; cd building-coreboot &amp;&amp; wget https://code.wp.puri.sm/kakaroto/coreboot-files/raw/master/build_coreboot.sh</code></li>
<li>Install the required dependencies:<br />
<code>sudo apt-get install git build-essential bison flex m4 zlib1g-dev gnat libpci-dev libusb-dev libusb-1.0-0-dev dmidecode bsdiff python2.7</code></li>
<li>Run the script on your Librem machine:<br />
<code>chmod +x build_coreboot.sh &amp;&amp; ./build_coreboot.sh</code></li>
<li>Follow the instructions on the screen, be sure to select your correct Librem laptop revision (Librem 13v2 or Librem 15v3), and give it time to build the image.</li>
<li>Once done, if everything went according to plan, it will ask you if you want to flash the newly built image</li>
<li>Make sure you are not running on low battery and select Yes</li>
<li>Reboot your machine once the flashing process is done.</li>
</ol>
<p>For matters specifically related to this build script (not related to how to use a TPM per se), you may also want to check out the <a href="https://forums.puri.sm/t/building-coreboot-from-source-official-script/1264" target="_blank" rel="noopener">main forum thread about our coreboot build script</a>, where discussion and testing has been going on over the past few months.</p>
<h1>Verifying the presence of a TPM</h1>
<p>If you are unsure whether or not you have a TPM installed on your system, install the <code>tpm-tools</code> package and then run <code>sudo tpm_version</code> to confirm that a TPM is detected on your system.</p>
<p><code>$ sudo tpm_version<br />
TPM 1.2 Version Info:<br />
Chip Version:        1.2.4.40<br />
Spec Level:          2<br />
Errata Revision:     3<br />
TPM Vendor ID:       IFX<br />
Vendor Specific data: 04280077 0074706d 3631ffff ff<br />
TPM Version:         01010000<br />
Manufacturer Info:   49465800</code></p>
<p>If your machine came with a TPM, you can now take advantage of its capabilities, if you already have particular uses planned for it. Enjoy!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/february-2018-coreboot-update/">February 2018 coreboot update now available</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>New Inventory with TPM by Default, Free International Shipping</title>
		<link>https://puri.sm/posts/tpm-by-default-and-free-international-shipping/</link>
		<pubDate>Thu, 22 Feb 2018 14:00:48 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48773</guid>
		<description><![CDATA[<p>In November, we announced the availability of our Trusted Platform Module as a $99 add-on for early adopters, something that would allow us to cover the additional parts &#38; labor costs, as well as test the waters to see how much demand there might be for this feature. We thought there would be &#8220;some&#8221; interest [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/tpm-by-default-and-free-international-shipping/">New Inventory with TPM by Default, Free International Shipping</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>In November, we <a href="https://puri.sm/posts/tpm-addon-for-librem-laptops/" target="_blank" rel="noopener">announced</a> the availability of our Trusted Platform Module as a $99 add-on for early adopters, something that would allow us to cover the additional parts &amp; labor costs, as well as test the waters to see how much demand there might be for this feature. We thought there would be &#8220;some&#8221; interest in that as an option, but we were not sure how much, especially since it was clearly presented as an &#8220;early preview&#8221; and offered at extra cost.</p>
<p>Well, it turns out that a <em>lot</em> of people want this. We were pleasantly surprised to see that, with orders placed since that time, <strong>98% of customers chose to have a TPM even at extra cost.</strong> This proved there is very strong market demand for the level of security this hardware add-on can provide.</p>
<h1>2018&#8217;s first new batch is in stock—with TPM</h1>
<p><img class="alignnone size-full wp-image-48802" src="https://puri.sm/wp-content/uploads/2018/02/IMG_5442.jpg" alt="" width="1500" height="847" srcset="https://puri.sm/wp-content/uploads/2018/02/IMG_5442.jpg 1500w, https://puri.sm/wp-content/uploads/2018/02/IMG_5442-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/IMG_5442-768x434.jpg 768w, https://puri.sm/wp-content/uploads/2018/02/IMG_5442-1024x578.jpg 1024w" sizes="(max-width: 1500px) 100vw, 1500px" /></p>
<p><strong>Thanks to the investment of those early TPM adopters who voted with their wallets</strong> and gave us the necessary &#8220;business case&#8221; and resources to work it out, we are extremely proud to announce that <strong>we now include the TPM chip in all new Librem 13 and Librem 15 orders by default,</strong> as a standard feature of our newest hardware revision shipping out this month.</p>
<p><img class="alignnone size-full wp-image-48801" src="https://puri.sm/wp-content/uploads/2018/02/IMG_5443.jpg" alt="" width="1000" height="628" srcset="https://puri.sm/wp-content/uploads/2018/02/IMG_5443.jpg 1000w, https://puri.sm/wp-content/uploads/2018/02/IMG_5443-300x188.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/IMG_5443-768x482.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>All the rest of the chip specifications remain the same.</p>
<p>It is still costing us money to add the TPM feature, but we decided to <strong>eat the cost,</strong> as the greater public benefit is more important than profits (and that is in line with our <a href="https://puri.sm/about/social-purpose/">social purpose</a> status and mission). <strong>Adding a TPM by default without increasing the base price</strong> is a major accomplishment toward having security by default, and paves the way for convenient security and privacy protection for everyone. In addition to the previous announcement, you can read <a href="/posts/librem-now-most-secure-laptop-under-full-user-with-tamper-evident-features/" target="_blank" rel="noopener">Kyle&#8217;s post</a> to understand the security implications.</p>
<h1>Wait, there&#8217;s more!</h1>
<ul>
<li>We are now offering <strong>Free International Shipping</strong> on all orders. This is essentially a permanent rebate of approximately 100 USD to all new international customers! As we have grown we have been able to leverage more standardized shipping options, and are now in a position to pass on that savings to Purism customers. Please note, however, that shipping insurance, local taxes, customs fees and import duties are still your responsibility as customers.</li>
<li>Thanks to popular demand, we are now offering Librem 13 and Librem 15 laptops with the backlit <strong>German keyboard layout</strong>. They are available for purchase in our store now, and will begin rolling out in mid-March.</li>
</ul>
<p>Only <strong>a few non-TPM laptops remain in stock with the UK keyboard layout, so we are making a sale</strong> today to clear out that portion of the inventory. If you were looking for a Librem 13 with the UK physical key layout and no TPM, you can grab one of the few remaining ones and get an additional $99 off the previous no-TPM base price. In other words, instead of paying $1,478 &#8220;plus shipping&#8221; for the base configuration of the Librem 13 UK, you now pay $1,379 <em>with free shipping!</em></p>
<p>We would like to thank all our users of <a href="https://puri.sm/products/" target="_blank" rel="noopener">Librem laptops</a> and <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1" target="_blank" rel="noopener">FSF endorsed</a> <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a>, as well as all those that have backed the <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5 phone</a>, and of course all those people who support us by feedback, kind words, and spreading the word. It is with this unified education approach that we can change the future of computing and digital rights for the better.</p>
<p>We have more great news in the pipeline. Next month, we hope to announce another major milestone in our inventory management &amp; shipping operations. Stay tuned!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/tpm-by-default-and-free-international-shipping/">New Inventory with TPM by Default, Free International Shipping</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The Great Puri.sm Outage of 2018</title>
		<link>https://puri.sm/posts/the-great-purism-dns-outage-of-2018/</link>
		<pubDate>Tue, 20 Feb 2018 21:37:33 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48895</guid>
		<description><![CDATA[<p>We interrupt our regular news bulletin about our FLOSS-centric security-focused laptops and phones to bring you this special announcement about a recent temporary outage of our primary domain name. Now this is a story all about how our domain got flipped-turned upside down, and I&#8217;d like to take a minute, just sit right there, I&#8217;ll [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-great-purism-dns-outage-of-2018/">The Great Puri.sm Outage of 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We interrupt our regular news bulletin about our <a href="/products/">FLOSS-centric security-focused laptops and phones</a> to bring you this special announcement about a recent temporary outage of our primary domain name.<span id="more-48895"></span></p>
<blockquote><p>Now this is a story all about how<br />
our domain got flipped-turned upside down,<br />
and I&#8217;d like to take a minute,<br />
just sit right there,<br />
I&#8217;ll tell you how we restored the glue records of puri.sm.</p></blockquote>
<h1>It Was a Dark and Stormy Night</h1>
<p><a href="https://puri.sm/wp-content/uploads/2018/02/perfect-night-storm.jpg"><img class="alignnone size-large wp-image-48947" src="https://puri.sm/wp-content/uploads/2018/02/perfect-night-storm-1024x598.jpg" alt="" width="960" height="561" srcset="https://puri.sm/wp-content/uploads/2018/02/perfect-night-storm-1024x598.jpg 1024w, https://puri.sm/wp-content/uploads/2018/02/perfect-night-storm-300x175.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/perfect-night-storm-768x449.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>Like with all major outages, our story begins in the middle of the night (well, the middle of the night in <em>my</em> timezone). Our monitoring servers alerted our sysadmins that our website was down, and when they started investigating, they discovered that the outage extended to <em>all</em> of our servers because DNS was no longer resolving. We host our own DNS, and it—along with the website and all of our other servers—was up and running fine. The problem was this:</p>
<p><code>$ whois puri.sm<br />
Domain Name: puri.sm<br />
Registration date: 05/05/2014<br />
Status: <em>Suspended</em></code></p>
<p>Even though our domain wasn&#8217;t up for renewal until May, it was marked as &#8220;suspended&#8221; for some reason unknown to us. This is significant, because when a domain gets suspended, the registry takes it offline by removing its DNS &#8220;glue&#8221; records at the TLD DNS servers, so instead of records for ns1.puri.sm and friends we had:</p>
<p><code>$ dig +trace puri.sm<br />
; &lt;&lt;&gt;&gt; DiG 9.11.2-P1-1-Debian &lt;&lt;&gt;&gt; +trace puri.sm<br />
. . .<br />
sm.                     3600    IN      SOA     dns.omniway.sm. hostmaster.telecomitalia.sm. 2018022036 43200 3600 2419200 3600<br />
;; Received 109 bytes from 194.183.64.10#53(dns.omniway.sm) in 187 ms</code></p>
<p>I truncated the above output, but you can run the same dig command on a console to see what the output <em>should</em> look like. Without our DNS glue records, even though all of our servers were up and running, DNS queries for puri.sm would stop at the .sm name servers and never move on to our name servers. We were dead in the water.</p>
<h1>How DNS Works</h1>
<p>To understand why we were offline even though our servers were up, it helps to understand a bit about how DNS works:</p>
<ol>
<li>When you look up www.puri.sm in your web browser, that browser sends the request to the recursive name server your computer has configured (often pointing at your ISP&#8217;s name servers). That recursive name server starts with root DNS servers that contain the name server records for each Top Level Domain (TLD) on the Internet, from .com to .sm.</li>
<li>A root name server then responds with the IP addresses of the TLD DNS servers (in this case for the .sm TLD).</li>
<li>Your recursive name server asks them for the address of www.puri.sm.</li>
<li>They respond with the DNS servers for wp.puri.sm.</li>
<li>Your resolver then asks one of our puri.sm name servers for the address for www.puri.sm.</li>
<li>We respond with the IP address.</li>
</ol>
<p>This sounds like a lot of steps, but in practice it&#8217;s much faster because your recursive name server (and usually your OS as well) will <em>cache</em> the responses it gets back based on the Time To Live (TTL) value each response includes. Generally the TTL for TLDs is relatively long (172800 seconds or 48 hours in the case of .sm) so recursive name servers don&#8217;t have to ask the root name servers for their records too often.</p>
<p>When you register a new domain, part of the registration process is to tell your registrar what DNS servers you wish to use (these days they tend to point to their own name servers by default, both to save you hassle and to upsell you on their DNS and hosting services). That <em>registrar</em> then communicates with the appropriate TLD <em>registry</em> over a secure channel and the registry adds the DNS glue records for that TLD. Any time you want to change those glue records, you need to go back to your registrar as they are the conduit to the TLD registry.</p>
<p>So, to repeat the problem, since our DNS glue records were removed from .sm, any recursive name server looking up a record under puri.sm would stop at the .sm DNS servers. Since we use puri.sm for most of our external and internal hosts our outage didn&#8217;t stop at our website, it extended to our mail servers, internal chat, wikis, and everything else that ended in puri.sm. For a brief time it also extended to pureos.net and puri.st domains as well because we had listed ns1-3.puri.sm as their name servers.</p>
<h1>You Had <em>One</em> Job!</h1>
<p>So that&#8217;s <em>what</em> happened but that leads us to the more important question: <strong>why</strong>. As I had mentioned, our domain didn&#8217;t expire until May so that wasn&#8217;t the issue, and we hadn&#8217;t received any notices of non-compliance, so it must have been something else. Based on <a href="http://www.nic.sm/index.php?pag=regolamento#par562">.sm&#8217;s rules of suspension</a>, there were only a few possible explanations:</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>absence of the objective and subjective elements that had originally permitted the assignment of a domain name within the ccTLD “sm”, where required;</li>
<li>non-presentation of the documents requested by the RA in accordance with article 8.2, or the presentation of false or altered documentation;</li>
<li>non “visibility/accessibility” of objects belonging to the domain name assigned for more than three months. The technical controls of said non-visibility/accessibility shall be carried out by the RA. In such cases the domain name may only be re-assigned for use to other entities once at least one month has elapsed since the date of revocation;</li>
<li>non-payment of the registration fee as required by the RA;</li>
<li>the procedures, principles, rules and criteria published in the present document and in NA documents have not been observed;</li>
<li>at the request of the NA;</li>
</ul>
</li>
</ul>
<p>Our long-suffering and amazing sysadmins Theodotos and Stelios contacted our puri.sm <em>registrar</em>, <a href="https://101domain.com/">101domain.com</a>, to find out what was going on.</p>
<p>The registrar has 24&#215;7 support thankfully, so even though it was in the middle of the night US time, we were able to talk to their support team based out of Ireland. Like with much tech support, it took some time to confirm with them that <em>yes, we hadn&#8217;t changed this domain in months (if not years)</em> and <em>yes, everything is up on our side. </em>Their immediate response was that it might take 24 to 48 hours to resolve the issue. As you might imagine, we stressed how urgent the issue was: we had an ecommerce site that was down, and therefore we were losing not just reputation but revenue.</p>
<p>They agreed to look into the problem, but with one complication: <strong>their &#8220;.sm specialist&#8221; was based out of their California office and the current team were incapable of contacting the registry!</strong> After trying multiple times to get 101domains to do something sooner, our sysadmins resigned themselves to the frustrating experience of waiting 3 hours (while our website, email, and mostly everything else was down) until the registrar&#8217;s &#8220;.sm specialist&#8221; would wake up and arrive to the office. Before the registrar&#8217;s customer support ended the chat, <strong>they actually tried to upsell us on their TLS certificate services—</strong>you know, for when the domain finally came back up. Because <em>obviously</em> we needed to buy more critical services from them.</p>
<p>Around this time, I woke up to this disaster already in progress. I was brought up to speed (challenging, without corporate chat or email) and we waited another hour for the .sm specialist to arrive at the registrar&#8217;s California office. Hopefully we could get this resolved and the site could be back up in another hour or so after that.</p>
<p>We contacted the specialist first thing in the morning, and <strong>he had no idea why the domain was suspended;</strong> he said he would contact the .sm registry but with one complication: <strong>the San Marino .sm registry office was now closed</strong> so it might take until the next day for them to respond to the email! Because their office was closed, he said all he could do is put the ticket in the queue of the team on the next support shift—that&#8217;s right, the <em>same</em> team out of Ireland we originally contacted. Because their office hours mirrored the San Marino office hours, he assured us they would get to it first thing in the morning their time.</p>
<p>Yeaaaaah.</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/02/not-sure-if.png"><img class="alignnone wp-image-48942 size-medium" src="https://puri.sm/wp-content/uploads/2018/02/not-sure-if-300x169.png" alt="" width="300" height="169" srcset="https://puri.sm/wp-content/uploads/2018/02/not-sure-if-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/02/not-sure-if-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/02/not-sure-if-1024x576.png 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://puri.sm/about/team/">Our team at Purism</a> is international and pretty good at taking matters in our own hands, so we decided to not just wait to see if 101domain.com was going to contact them. Our sysadmin Stelios contacted the San Marino registry office directly the moment they opened, and discussed the issue with their friendly staff. Remember that list of reasons why a domain might be suspended? This is the most relevant one:</p>
<blockquote><p>&#8220;non-payment of the registration fee as required by the RA;&#8221;</p></blockquote>
<p>That&#8217;s right, <strong>our registrar didn&#8217;t pay their fees to .sm</strong> so the registry suspended all of 101domain.com&#8217;s .sm domains, including ours.</p>
<p>Stelios spent the rest of the day going through all of the authentication and paperwork (in Italian!) necessary to restore puri.sm directly through the TLD. Shortly before I woke up in California, they agreed to restore our domain and said they would push to restore our DNS glue records as soon as they could.</p>
<p>At the same time, we were also curious what 101domain.com was going to do, so we also contacted the Ireland support team to check on the progress of our ticket. Their reply after a day of this? That <strong>they could not contact the registry themselves and we would have to wait for the .sm specialist in California!</strong> At this point, of course, we had already resolved matters without their help and a few hours later our DNS glue records were restored. An hour or so after that, our original support ticket was updated to say the domain was back online—as though it happened all on its own.</p>
<h1>Stopping This From Happening Again</h1>
<p>It&#8217;s hard to underscore just how frustrating an experience this was. Even if you have done everything right and your servers are up and running, your entire infrastructure can still be brought offline by a mistake at the registrar level. While we hope this never happens again, we want to be ready just in case so we are taking some additional steps.</p>
<p>Due to how domain registration works, we can&#8217;t completely remove the possibility that our domain could be suspended again in the future. What we <em>can</em> do is try to mitigate the effects with redundancy. To those ends we have registered <a href="https://purismspc.com/" class="broken_link">PurismSPC.com</a> with a different registrar and soon we will bring up a duplicate website and infrastructure under that domain. The idea here is to not just have a second domain with a redundant registrar, but have a domain <em>under a completely different and traditional TLD</em> for redundancy. We will also update our TLS certificates to list both puri.sm and purismspc.com, so you can be assured that we consider both sites valid when you visit with a web browser.</p>
<p>Issues like this remind us <strong>why we want to empower you to have direct control over your computers and data</strong>. When you <a href="/learn/eliminating-corporate-control-and-data-capitalism/">turn control over to other parties</a> everything might be &#8220;OK&#8221; for awhile, but inevitably something will go wrong someday and when it does, you discover just how powerless you are.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-great-purism-dns-outage-of-2018/">The Great Puri.sm Outage of 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 general development report — February 13, 2018</title>
		<link>https://puri.sm/posts/librem5-progress-report-5/</link>
		<pubDate>Tue, 13 Feb 2018 15:31:00 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48498</guid>
		<description><![CDATA[<p>Back from FOSDEM Being at FOSDEM 2018 was a blast! We received a lot of great feedback about what we have accomplished and what we aim to achieve.  These sorts of constructive critiques from our community are how we grow and thrive so thank you so much for this! It helps us to focus our development. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-5/">Librem 5 general development report — February 13, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1>Back from FOSDEM</h1>
<p>Being at <a href="https://fosdem.org/2018/" target="_blank" rel="noopener">FOSDEM 2018</a> was a blast! We received a lot of great feedback about what we have accomplished and what we aim to achieve.  These sorts of constructive critiques from our community are how we grow and thrive so thank you so much for this! It helps us to focus our development. Moreover, I was very impressed by the appreciation that we received from the free software community. I know that relationships between companies, even Social Purpose Corporations—like Purism, and the free software communities are a delicate balance. You need to find a good balance between being transparent, open, and free on one side but also having revenue to sustain the development on the other side. The positive feedback we received at FOSDEM and the appreciation that was expressed for our projects was great to hear.</p>
<p>We are working really hard on making ethical products, based on free/libre and open source software a reality. This is not &#8220;just a job&#8221; for anybody on the Purism staff, we all love what we do and deeply believe in the good cause we are working so hard to achieve. Your appreciation and feedback is the fuel that drives us to work on it even harder. Thank you so much!</p>
<h1>Software Work</h1>
<p>As I mentioned <a href="https://puri.sm/posts/librem5-progress-report-3/" target="_blank" rel="noopener">before</a>, we have the i.MX 6 QuadPlus test hardware on hand, so here are some photos of our development board actually running something:</p>
<p><img class="aligncenter size-full wp-image-48671" src="https://puri.sm/wp-content/uploads/2018/02/02070003-update.jpg" alt="" width="1920" height="1280" srcset="https://puri.sm/wp-content/uploads/2018/02/02070003-update.jpg 1920w, https://puri.sm/wp-content/uploads/2018/02/02070003-update-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2018/02/02070003-update-768x512.jpg 768w, https://puri.sm/wp-content/uploads/2018/02/02070003-update-1024x683.jpg 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<p>On the right, you can see the Nitrogen board with the modem card installed. On the left is our display running a browser displaying the Purism web-page and below it a terminal window in which I started the browser. To put the resolution of the display into perspective I put a Micro SD card on the display:</p>
<figure id="attachment_48680" style="width: 648px" class="wp-caption aligncenter"><a href="https://puri.sm/wp-content/uploads/2018/02/02070005-HDR.jpg"><img class="wp-image-48680 size-large" src="https://puri.sm/wp-content/uploads/2018/02/02070005-HDR-648x1024.jpg" alt="" width="648" height="1024" srcset="https://puri.sm/wp-content/uploads/2018/02/02070005-HDR-648x1024.jpg 648w, https://puri.sm/wp-content/uploads/2018/02/02070005-HDR-190x300.jpg 190w, https://puri.sm/wp-content/uploads/2018/02/02070005-HDR-768x1213.jpg 768w, https://puri.sm/wp-content/uploads/2018/02/02070005-HDR.jpg 1000w" sizes="(max-width: 648px) 100vw, 648px" /></a><figcaption class="wp-caption-text">Click to enlarge</figcaption></figure>
<p>The terminal window is about as big as three Micro SD cards! This makes it very clear that a lot of work has to be put into making applications usable on a high resolution screen and to make them finger friendly since the only input system we have is the touch screen. In the next picture I put an Euro coin on the screen and switched back to text console:</p>
<figure id="attachment_48669" style="width: 200px" class="wp-caption aligncenter"><a style="font-style: italic;" href="https://puri.sm/wp-content/uploads/2018/02/02070007-update.jpg" rel="noopener"><img class="wp-image-48669 size-medium" src="https://puri.sm/wp-content/uploads/2018/02/02070007-update-200x300.jpg" alt="" width="200" height="300" srcset="https://puri.sm/wp-content/uploads/2018/02/02070007-update-200x300.jpg 200w, https://puri.sm/wp-content/uploads/2018/02/02070007-update-768x1152.jpg 768w, https://puri.sm/wp-content/uploads/2018/02/02070007-update-683x1024.jpg 683w" sizes="(max-width: 200px) 100vw, 200px" /></a><figcaption class="wp-caption-text">Click to enlarge</figcaption></figure>
<p>Concerning the software, we are working on getting the basic framework to work with the hardware we have at hand. One essential piece is the middleware that handles the mobile modem that deals with making phone calls and sending and receiving SMS text messages. For this we want to bring up <a href="https://01.org/ofono" target="_blank" rel="noopener">oFono</a> since it is also used by <a href="https://plasma-mobile.org/" target="_blank" rel="noopener">KDE Plasma</a> mobile. We have a first success to share:</p>
<p><img class="wp-image-48668 aligncenter" src="https://puri.sm/wp-content/uploads/2018/02/pr-sms.png" alt="" width="387" height="688" srcset="https://puri.sm/wp-content/uploads/2018/02/pr-sms.png 720w, https://puri.sm/wp-content/uploads/2018/02/pr-sms-169x300.png 169w, https://puri.sm/wp-content/uploads/2018/02/pr-sms-576x1024.png 576w" sizes="(max-width: 387px) 100vw, 387px" /></p>
<p>This is the first SMS sent through oFono from the iMX board and the attached modem to a regular mobile smartphone where the screenshot was taken. So we are on the right track here and have a solution that is starting to work that suits multiple possible systems, like Plasma mobile or a future <a href="https://www.gnome.org/" target="_blank" rel="noopener">GNOME/GTK+</a> based mobile environment.</p>
<p>The SMS was sent with a python script using the native oFono DBus API. First the kernel drivers for the modem had to be enabled followed by running ofonod which autodetects the modem. Next the modem must be enabled and brought online (online-modem). Once this was done sending an SMS was as simple as:</p>
<p><code>purism@pureos:~/ofono/test$ sudo ./send-sms 07XXXXXXXXX "Sent from my Librem 5 i.MX6 dev board!"</code></p>
<p>The script itself is very simple and instructive. Simulating the reception of a text message can also be done, with a command such as this one:</p>
<p><code>purism@pureos:~/ofono/test$ sudo ./receive-smsb 'Sent to my Librem 5 i.MX6 dev board!' LocalSentTime = 2018-02-07T10:26:19+0000 SentTime = 2018-02-07T10:26:19+0000 Sender = +447XXXXXXXXX</code></p>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 2px;" />
<h1>The evolution of mobile hardware manufacturing</h1>
<p>We are building a phone, so hardware is an important part of the process. In our last blog post we talked a bit about researching hardware manufacturing partners. Since we are not building yet-another Qualcomm SOC based phone, but starting from scratch, we are working to narrow down all the design choices and fabrication partners in the coming months. This additional research phase has everything to do with how the mobile phone hardware market has evolved in the past years and I want to share how this all works with you.</p>
<p>In the early days of smartphones, a common case was that the main CPU was separated from the cellular baseband modem and that the cellular modem would run its own firmware when implementing all of the necessary protocols that operate the radio interface—at first it was GSM, then UMTS (3G) and finally LTE (4G). These protocols and the handling of the radio interface have become so complex that the necessary computational power for handling this as well as the firmware sizes have grown over time. Current 3G/4G modems include a firmware of 60 or more megabytes are becoming more common. It did not take long before storing this firmware became an issue as well as at run time since this requires significant increases of RAM usage.</p>
<p>Smartphones usually have a second CPU core for the main operating system which also runs the phone applications and interacts with the users. This means that your device must have two RAM systems as well, one for the baseband and one for the host CPU. This also means you need two storages for firmware, one for the host CPU and one for the baseband. As you may imagine, getting all of these components working together in a form factor small enough to fit into someone&#8217;s hand takes a lot of development and manufacturing resources.</p>
<h2>The advent of cheap smartphones</h2>
<p>There is extreme pressure about the cost of smartphones. In today&#8217;s commodity market, we see simple smartphones starting at prices less than $100 USD.</p>
<p>The introduction of combined chips, with radio baseband plus host CPU on one silicon die inside one chip, massively reduced costs. This allows the host CPU and baseband to share RAM and storage. Since the radio can be made in the same silicon process as the host CPU, and both can be placed in a single chip package, we see substantial cost reduction in the semiconductor manufacturing as well as the cost of manufacturing the device. This saves you from having to use a second large chip for the radio itself, an extra flash chip for its firmware, and possibly an extra RAM chip for its operation. This does not only reduce the Bill of Materials (BOM), but also PCB space, and it enables the creation of even smaller and thinner devices. Today we see many big companies offer these types of combined chipsets—such as Qualcomm, Broadcom, and Mediatek to name a few.</p>
<p>These chips caused a big shift in the mobile baseband modem market. Formerly it was common to find discrete baseband modems on the market that were applicable for mobile battery powered handsets like the one we are developing. But since the rise of the combined chipsets, the need for separated modems has dropped to a level that does not justify their development as much. You can still find modem modules and cards but these modules are usually targeted for M2M (machine to machine) communication with only limited data rates and most of them do not have audio/voice functions. They usually come in pretty large cards, such as the miniPCIe or M.2. For us this means that our choice of separated baseband modems suitable for a phone is narrowed.</p>
<h2>What this means for OEM, ODM or Build it Yourself</h2>
<p>All of this consolidation has an impact on hardware manufacturers and our choices. Pretty much all current smartphone designs by <a href="https://en.wikipedia.org/wiki/Original_equipment_manufacturer" target="_blank" rel="noopener">OEM</a>/<a href="https://en.wikipedia.org/wiki/Original_design_manufacturer" target="_blank" rel="noopener">ODM</a> manufacturers are based on the combined chipset types; this is all they know and it is where they have expertise. Almost no one is making phones with separated basebands anymore, and the ones who do are not OEMs nor ODMs. The options are further limited by our requirement not to include any proprietary firmware on our host CPU (which we wrote about before): most fabricators are unfamiliar with i.MX 6 or i.MX 8 and do not want to risk a development based on it, which narrows our hardware design and manufacturing partners to a much smaller list.</p>
<p>However, we have some promising partners that we will continue to evaluate, and we are confident that we are going to be able to design and manufacture the Librem 5 as we originally specified. We just wanted to share with you why making this particular hardware is so challenging and why our team is the best one to execute on this design. To continue to discuss with some of the manufacturers and providers, Purism will visit Embedded World, one of the world&#8217;s largest embedded electronics trade shows, in Nürnberg (Germany) in the beginning of March. And, as usual, we will continue to keep you updated on our progress!</p>
<h1>Good news with our existing evaluation boards</h1>
<p>We have been patiently waiting for the i.MX 8M to become available, all according to the forecast timeline from NXP. In the meantime, we have started developing software using the i.MX 6 QuadPlus board from <a href="https://boundarydevices.com/" target="_blank" rel="noopener">Boundary Devices</a>, specifically the NITROGEN6_MAX (Nit6Qp_MAX) since it is the closest we get to production devices before NXP releases the i.MX 8M. We have a Debian Testing based image running as a testbed on these boards while the PureOS team is preparing to build PureOS for ARM and ARM64 in special.</p>
<p>On these evaluation boards we have all the interfaces that we need for software development:</p>
<ol>
<li>Wi-Fi</li>
<li>Video input and output</li>
<li>USB for input devices</li>
<li>Serial console and a miniPCIe socket with SIM card connected for attaching a mobile modem</li>
<li>At the moment, we are using a Sierra Wireless MC7455 LTE miniPCIe modem card for development, which uses a Qualcomm MDM9230 baseband modem chip. This card is basically a USB device in a mPCIe form factor, i.e. we do not actually use the PCIe interface.</li>
<li>An extremely nice display to our kits using an HDMI-to-MIPI adapter board. The display is a 5.5&#8243; AMOLED display with full-HD resolution with the native orientation as portrait mode.</li>
</ol>
<p>This hardware setup allows us to start a lot of the software development work now to ensure our development continues in parallel until we have the i.MX 8M based hardware in hand.</p>
<p>Next on our to-do list: phone calls!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-5/">Librem 5 general development report — February 13, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Qubes 4.0 fully working on Librem laptops, coreboot added IOMMU and TPM</title>
		<link>https://puri.sm/posts/qubes4-fully-working-on-librem-laptops/</link>
		<pubDate>Thu, 08 Feb 2018 22:42:51 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48506</guid>
		<description><![CDATA[<p>It&#8217;s easy to take things for granted when your computer runs a non-free proprietary BIOS. While the BIOS that comes with your computer is usually configured to match its features that&#8217;s not always the case. You end up with a sort of binary arrangement: if your BIOS supports a feature or allows you to change [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/qubes4-fully-working-on-librem-laptops/">Qubes 4.0 fully working on Librem laptops, coreboot added IOMMU and TPM</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s easy to take things for granted when your computer runs a non-free proprietary BIOS. While the BIOS that comes with your computer is usually configured to match its features that&#8217;s not always the case. You end up with a sort of binary arrangement: if your BIOS supports a feature or allows you to change a setting, great, but if it doesn&#8217;t, you are generally out of luck. One example is with some of the new UEFI computers that ship with stripped-down BIOS options. One example we ran across recently had legacy boot disabled, secure boot enabled, and no way to change either setting, which is a terrible restriction for users wanting a free software distribution like PureOS or any another distribution that avoids the misnamed &#8220;secure boot&#8221; UEFI option.</p>
<p>From the beginning our goal has been to ship ethical computers without any proprietary code and the BIOS was one of our first targets. Starting last summer, <a href="https://puri.sm/posts/a-fleet-of-coreboot-laptops-assembles/">all our computers come with the Free/Libre and Open Source coreboot BIOS</a>. In addition to the many ethical and security advantages behind shipping an ethical BIOS/firmware, another advantage we have is that if our coreboot image doesn&#8217;t support a feature today, that doesn&#8217;t mean it won&#8217;t tomorrow.</p>
<p>We are happy to announce that due to the hard work of Youness &#8220;KaKaRoTo&#8221; Alaoui and Matt &#8220;<a href="https://mrchromebox.tech/" target="_blank" rel="noopener noreferrer">Mr. Chromebox</a>&#8221; DeVillier <strong>we have added IOMMU and TPM support to our new coreboot 4.7 BIOS.</strong> I&#8217;ve tested this personally on a Librem 13v2 with the latest <a href="https://www.qubes-os.org/" target="_blank" rel="noopener">Qubes</a> 4.0-rc4 installer and <strong>the install completes with no warnings and reboots into a functional Qubes 4 desktop with working sys-net and sys-usb HVM VMs.</strong> In this blog post I&#8217;ll go over these different features, what they are, and why they are important.<span id="more-48506"></span></p>
<h1>IOU one IOMMU</h1>
<p>As we started shipping coreboot-enabled Librem laptops, we received feedback from some customers that when they installed the early release candidates of Qubes 4.0, the installer complained that the system didn&#8217;t support IOMMU. <a href="https://en.wikipedia.org/wiki/IOMMU">IOMMU</a> (Input-Output Memory Management Unit, also known as VT-d in Intel processors) sits between devices and the physical memory on a system and presents virtual memory addresses to devices that want Direct Memory Access (DMA) such as PCI devices. It turns out that while coreboot does support IOMMU for some CPUs, that support hadn&#8217;t yet been ported to Skylake processors.</p>
<p>IOMMU is a particularly useful feature for virtualization as it allows a virtual host DMA features while protecting the memory of other VMs. This isolation feature is important to Qubes because Qubes attaches untrusted devices like USB controllers and network cards that normally require DMA access to untrusted VMs. With IOMMU, Qubes can protect the memory of trusted VMs from malicious DMA attacks on devices attached to untrusted VMs.</p>
<p>Starting with Qubes 4.0, the installer will warn users if their computers do not support certain CPU features such as IOMMU. While you can ignore the warning and complete the install, certain VMs with PCI devices attached such as sys-net and sys-usb will not start unless you change their virtualization mode from HVM to PV, bypassing the protections IOMMU provides. Up until now, this was the workaround for Librem 13v2 and 15v3 laptops as well… but <strong>with the latest coreboot image you can now install without any warnings, and HVM sys-net and sys-usb VMs will be able to start without issue:</strong></p>
<p><img class="alignnone size-full wp-image-48516" src="https://puri.sm/wp-content/uploads/2018/02/qubes4-RC4-on-librem13v2.png" alt="" width="1920" height="1080" srcset="https://puri.sm/wp-content/uploads/2018/02/qubes4-RC4-on-librem13v2.png 1920w, https://puri.sm/wp-content/uploads/2018/02/qubes4-RC4-on-librem13v2-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/02/qubes4-RC4-on-librem13v2-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/02/qubes4-RC4-on-librem13v2-1024x576.png 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<h1>Initial TPM support in our coreboot images</h1>
<p>Late last year we announced that <a href="https://puri.sm/posts/tpm-addon-for-librem-laptops/">we are offering TPM (Trusted Platform Module) as an add-on upgrade to Librem laptops</a>. The TPM acts as a kind of Hardware Security Module and lets you store keys and perform basic operations with those keys without the keys ever leaving the TPM itself. Our plan is to use the <a href="https://puri.sm/posts/measuring-the-intel-me-to-create-a-more-secure-computer/">TPM with Heads to provide tamper-proofing</a> against malware that might try to compromise the BIOS, boot loader, or kernel.</p>
<p>We have started shipping Librem laptops with TPM and behind the scenes have also been working to add support to our coreboot image. If you recently received a TPM-enabled Librem laptop and looked in dmesg output or ran a tool like tpm_version it would appear that the TPM didn&#8217;t get installed. Don&#8217;t worry&#8211;once you update coreboot the output will look more like this (taken from my Librem 13v2 TPM):</p>
<pre>$ tpm_version
 TPM 1.2 Version Info:
 Chip Version: 1.2.4.40
 Spec Level: 2
 Errata Revision: 3
 TPM Vendor ID: IFX
 Vendor Specific data: 04280077 0074706d 3631ffff ff
 TPM Version: 01010000
 Manufacturer Info: 49465800</pre>
<p>&nbsp;</p>
<h1>Coreboot and Qubes 4.0 Availability</h1>
<p>We are now finishing testing on our new coreboot image and will start including it on all new laptop shipments so if you were holding off on getting a Librem laptop until it worked well with Qubes 4.0 you don&#8217;t need to wait any longer.</p>
<p>For existing customers, we will follow up with a new blog post that walks you through how to update coreboot to the latest version step-by-step.</p>
<p>We have long provided Qubes 3.2 install disks as an option when ordering our Librem laptops but recently we have been asked why we don&#8217;t provide Qubes 4.0 instead. Right now we ship Qubes 3.2 because it&#8217;s the current stable Qubes release. If you have followed the Qubes 4.0 release candidates you know that a lot has changed behind the scenes and up until recently the release candidates still had some bugs and features to work out. With 4.0-rc4, however, it looks like things are starting to stabilize, backup/restore from Qubes 3.2 works reasonably well, and even the &#8220;Qube VM Manager&#8221; GUI program is back so it is likely that a stable 4.0 release will ship soon. Once it ships and we confirm it works as well on our hardware as 4.0-rc4 does, we will offer it as an option in place of Qubes 3.2 on our order page.</p>
<h1>What&#8217;s Next</h1>
<p>Now that we have a coreboot image that works well with Qubes 4, our next step will be to update the Qubes HCL (Hardware Compatibility List) for our current product line. For those that are curious, here&#8217;s the Qubes 4.0-rc4 qubes-hcl-report output from my Librem 13v2 laptop <em>without</em> TPM (the kind that many of our existing customers have):</p>
<pre>---
layout:  'hcl'
type:  'laptop'
hvm:  'yes'
iommu:  'yes'
slat:  'yes'
tpm:  'unknown'
remap:  'yes'
brand: |  Purism
model: |  Librem 13 v2
bios: |  4.7-Purism-1
cpu: |  Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
cpu-short: |  FIXME
chipset: |  Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers [8086:1904] (rev 08)
chipset-short: |  FIXME
gpu: |
  Intel Corporation HD Graphics 520 [8086:1916] (rev 07) (prog-if 00 [VGA controller])
  Intel Corporation Device [8086:9d24] (rev 21)
gpu-short: |  FIXME
network: |  Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
memory: |  3866
scsi: |  BIWIN SSD Rev: 7A0
usb: |  1
versions:

- works:   'FIXME:yes|no|partial'
 qubes: |   R4.0
 xen: |   4.8.3
 kernel: |   4.14.13-2
 remark: |   FIXME
 credit: |   FIXAUTHOR
 link: |   FIXLINK
---</pre>
<p>Now that TPM-enabled laptops are shipping and we have it enabled in coreboot, the next major area of focus in coreboot itself is going to be around integration with Heads. We hope to have an update along those lines soon. Also, since we continue to be able to provide extra features to our customers through coreboot updates, we are working on making the update process itself smoother.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/qubes4-fully-working-on-librem-laptops/">Qubes 4.0 fully working on Librem laptops, coreboot added IOMMU and TPM</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Designing the Mobile Experience with Convergence in Mind</title>
		<link>https://puri.sm/posts/librem5-progress-report-4/</link>
		<pubDate>Wed, 07 Feb 2018 14:10:10 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=48207</guid>
		<description><![CDATA[<p>It is always great to have the opportunity to discuss face to face with community members to get the pulse of what their thoughts are and suggestions they might have for the Librem 5 project. As such, I was happy to spend time discussing at length with people attending FOSDEM this week-end. Comments from the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-4/">Designing the Mobile Experience with Convergence in Mind</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>It is always great to have the opportunity to discuss face to face with community members to get the pulse of what their thoughts are and suggestions they might have for the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> project. As such, I was happy to spend time discussing at length with people attending FOSDEM this week-end. Comments from the many supporters made me realize that there are some points regarding goals and vision, in terms of design for the entire <a href="https://puri.sm/products/" target="_blank" rel="noopener">Librem line</a>, that needed to be expanded upon and clarified. Keep in mind that although the vision for our short and long-term design goals for the Librem 5 is becoming increasingly clearer, it is of course still &#8220;work in progress&#8221; from a design perspective; things are not set in stone and therefore we are listening (and responding) to the community&#8217;s feedback.</p>
<p><strong>Convergence</strong>, for Purism, is a long-term goal to <em>unify the human experience across different devices.</em></p>
<ul>
<li>A user interface is made of a layout and interactive elements. <strong>Different devices using different input and output technologies will have different requirements for layout and interaction.</strong> In this case, our approach will consist in designing &#8220;responsive&#8221; (adaptative) layouts and interaction patterns that will allow modern apps to adapt themselves to the device that it is running on. We don&#8217;t have to port/adapt every single existing desktop app under the sun to achieve that goal though, and our partners in the GNU+Linux community have aligned goals with this direction.</li>
<li>That approach of convergence is also about the <strong>simplicity of accessing the same data and services between different devices, transparently</strong>.</li>
<li>Part of our plan for convergence is about helping define some consistent <strong>Human Interface Guidelines</strong> and optimizing the <strong>development tools &amp; documentation</strong>, in order to help developers create a great experience across devices.</li>
</ul>
<p>The implementation of our design involves the use of existing technologies, and the UI+UX design itself is not made with a specific technology in mind. Our design work is an attempt to define a set of Human Interface Guidelines that rely on the Ethical Design manifesto and our requirements for security and privacy. The technical details of its implementation are out of the scope of this design report and should be discussed with the development team.</p>
<h1>Designing a Mobile Experience</h1>
<p>Over the last two weeks, we have been thinking about general human interaction principles for the Librem 5. Our idea is to define the best possible mobile interaction design principles and combine it with an &#8220;optimal&#8221; mobile shell experience. While what you will see below is simply a high-level overview of work in progress that may change before final public versions, it is setting the stage, and is a good starting point for our upcoming work, such as the communications features that I&#8217;ll soon write about in a separate blog post.</p>
<h2>Some Basic Principles</h2>
<p><img class="alignright wp-image-48434" src="https://puri.sm/wp-content/uploads/2018/02/l5-one-hand-accessible-area.png" alt="" width="250" srcset="https://puri.sm/wp-content/uploads/2018/02/l5-one-hand-accessible-area.png 305w, https://puri.sm/wp-content/uploads/2018/02/l5-one-hand-accessible-area-155x300.png 155w" sizes="(max-width: 305px) 100vw, 305px" /><br />
We think that a good mobile experience should define convenience and comfort when using the device. It should take into account the hardware in all its aspects along with the many different use cases. In that regard, it is important to define principles that are adapted to the physical device. One of these principles is that one-handed usage of a phone is frequent, and so our interaction design should take this fact into account.</p>
<p>One should be able to easily access the <em>most important features</em> of the phone when holding it with one hand; it supposes touching the screen with the thumb only. That doesn&#8217;t necessarily mean that <em>all</em> the screen surface and features must be accessible by the thumb (given the planned 5.5&#8243; screen size, that would not be physically possible), but that the lower area is <em>preferable</em> to access the most useful phone features by default. Those features would include answering an audio or video call, reviewing notifications, unlocking the phone, accessing the home screen, requesting a search or launching the most frequently used applications.</p>
<p>To remain useful for both right and left-handed persons, the optimal area should favor the bottom half of the screen while also avoiding going too far towards the edges (that may be more difficult to access).</p>
<p><img class="alignleft size-medium wp-image-48436" src="https://puri.sm/wp-content/uploads/2018/02/l5-point-area-300x288.png" alt="" width="300" height="288" srcset="https://puri.sm/wp-content/uploads/2018/02/l5-point-area-300x288.png 300w, https://puri.sm/wp-content/uploads/2018/02/l5-point-area.png 534w" sizes="(max-width: 300px) 100vw, 300px" /><br />
The size of the touch (tap) area is also something to take into account in order to give the user the best precision when interacting with the user interface.</p>
<p>Action targets like links, buttons, sliders and other interactive UI elements should take into consideration a sufficient surface size to be used with comfort and precision.</p>
<h2>A First Look at the Shell</h2>
<p>Peter K., our lead UI/UX designer, has been working on adapting these basic principles to the overall UI shell experience :</p>
<p><img class="aligncenter size-large wp-image-48477" src="https://puri.sm/wp-content/uploads/2018/02/l5-shell-mockups-1024x498.png" alt="" width="960" height="467" srcset="https://puri.sm/wp-content/uploads/2018/02/l5-shell-mockups-1024x498.png 1024w, https://puri.sm/wp-content/uploads/2018/02/l5-shell-mockups-300x146.png 300w, https://puri.sm/wp-content/uploads/2018/02/l5-shell-mockups-768x373.png 768w" sizes="(max-width: 960px) 100vw, 960px" /><br />
The main navigation happens at the bottom half of the screen, and similarly the majority of the interaction with the Lock Screen would happen in the lower half of the screen. When unlocked, the phone would reveal the Home Screen and show the most frequently used applications (or features) of the phone by default. Some useful widgets may use the remaining space (our example is showing music controls and web search widgets). Swiping up the frequently used applications icons reveals the full list of applications as well as the &#8220;main&#8221; search field, that is also accessible at the bottom of the screen. Less recurrent gestures, like accessing the settings or the detailed list of notifications, are available in the upper part of the screen.</p>
<h2>More to Come</h2>
<p>This was a quick appetizer regarding the ongoing design effort. Upcoming work will be about finalizing the shell experience and designing privacy-respecting communication features, so stay tuned!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-4/">Designing the Mobile Experience with Convergence in Mind</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 general development report — February 2nd, 2018</title>
		<link>https://puri.sm/posts/librem5-progress-report-3/</link>
		<pubDate>Fri, 02 Feb 2018 16:30:15 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Power management]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=47791</guid>
		<description><![CDATA[<p>The Librem 5 and recent industry news Lately, news headlines have been packed with discussions about critical CPU bugs which are not only found in Intel CPUs, but also partially in AMD CPUs and some ARM cores. At the same time, some of our backers have voiced concerns about the future of NXP in light [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-3/">Librem 5 general development report — February 2nd, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1>The Librem 5 and recent industry news</h1>
<p>Lately, news headlines have been packed with discussions about critical CPU bugs which are not only found in Intel CPUs, but also partially in AMD CPUs and some ARM cores. At the same time, some of our backers have voiced concerns about the future of NXP in light of a potential acquisition by Qualcomm. Therefore you might be wondering, &#8220;Will the Librem 5 be affected by these bugs too?&#8221; and &#8220;will the Purism team get the i.MX 8 chips as planned?&#8221;, so let&#8217;s address those questions now.</p>
<h2>Not affected by Spectre/Meltdown</h2>
<p>At the moment we are pretty confident that we will be using one of NXP&#8217;s new i.MX 8 family of CPUs/SOCs for the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> phone. More specifically we are looking at the <em>i.MX 8M</em> which features four ARM Cortex A53 cores. According to ARM, these cores are <em>not</em> affected by the issues now known as Spectre or Meltdown, which ARM&#8217;s announcement summarizes in <a href="https://developer.arm.com/support/security-update" target="_blank" rel="noopener">their security update bulletin</a>.</p>
<p>So for the moment we are pretty sure that the Librem 5 phone will not be affected, however we will continue to keep an eye on the situation since more information about these bugs is surfacing regularly. In this respect we can also happily report that we have a new consultant assisting our team in security questions concerning hardware-aided security as well as questions like &#8220;is the phone&#8217;s CPU affected by Spectre/Meltdown or not&#8221;.</p>
<h2>Qualcomm possibly buying NXP: not a concern</h2>
<p>For quite some time there have been rumors that Qualcomm might have an interest in acquiring NXP. Since we will be using an NXP chip as the main CPU, specifically one of the i.MX 8 family, we are well aware of this development and are watching it closely.</p>
<p>Qualcomm is an industry leader for high volume consumer electronics whereas NXP targets lower volume industrial customers. This results in pretty different approaches concerning support, especially for free software. Where NXP traditionally is pretty open with specifications, Qualcomm is rather hard to get information from. This is very well reflected by the Linux kernel support for the respective chips. The question is how would it affect continued free software support and availability of information on NXP SOCs if Qualcomm acquires NXP?</p>
<p>First, it is unlikely that this deal will happen at all. Qualcomm had a pretty bad financial year in 2017 so they might not be in the financial position to buy another company. Second, there is a rumor that Broadcom might acquire Qualcomm first. Third, international monopoly control organizations are still investigating if they can allow such a merger at all. Just a few days ago the EU monopoly control agreed to allow the merge but with substantial constraints, for example Qualcomm would have to license several patents free of charge, etc. Finally, there are industry obligations that NXP cannot drop easily: the way NXP works with small and medium sized customers is a cornerstone of many products and customers; changing this would severely hamper all of those businesses involved, and these changes might cause bad reputation, bad marketing and loss of market share.</p>
<p>So all in all, this merger is not really likely to happen soon and there would probably not be changes for existing products like the i.MX 8 family. If the merger happens it might affect future/unreleased products.</p>
<h1>Development outreach</h1>
<p>In addition to working on obtaining i.MX6QuadPlus development boards to be able to work properly, the phone team is also intensively researching and evaluating software that we will base our development efforts on during the next few months. We are well aware of the huge amount of work ahead of us and the great responsibility that we have committed to. As part of this research, we reached out to the GNOME human interface design team with whom we began discussions on design as well as implementation. For example, we started to implement a proof of concept widget that would make it much easier to adapt existing desktop applications to a phone or even other style of user interface. What we would like to achieve is a convergence of devices so that a single application can adapt to the user interface it is currently being used with. This is still a long way ahead of us, but we are working on it now. We will meet up also with some GNOME team members at FOSDEM to discuss possible development and design goals as well as collaboration possibilities.</p>
<p>The mobile development work for KDE/Plasma will primarily be performed by their own human interface teams. Purism will be supporting their efforts through supplying hardware and documentation about our phone development progress as it is happening. This will help ensure that that KDE/Plasma will function properly on the Librem 5 right from the factory. To understand better where we&#8217;re headed with GNOME and KDE together, take a look at <a href="https://puri.sm/posts/gnome-and-kde-in-pureos-diversity-across-devices">this blog post</a>.</p>
<p>We also reviewed and evaluated compositing managers and desktop shells that we could use for a phone UI. We aim to use <em>only</em> Wayland, trying to get rid of as much X11 legacy as we possibly can, for performance issues and for better security. From our discussions with GNOME maintainers of existing compositors and shells, we may be better off igniting a new compositor (upstreamed and backed by GNOME) in order to avoid the X11 baggage.<del></del></p>
<p>On the application and middleware side of things, we have generated an impressive list of applications we could start to modify for the phone to reach the campaign goals and we have further narrowed down middleware stacks. We are still evaluating so I do not want to go into too much detail here, in order not set any expectation. We will of course talk about this in more detail in some later blog posts.</p>
<h1>Meeting with Chip Makers</h1>
<p>As the CPU choice is pretty clear lately, we are going to have a meeting with NXP and some other chip makers at Embedded World in Nürnberg, Germany, at the end of the month. This is very encouraging since we worked for months on getting a direct contact to NXP, which we now finally have and who we will meet in person at the conference. The search for design and manufacturing partners is taking longer than expected though. Our own hardware engineering team together with the software team, especially our low level and kernel engineers, started to create a hardware BOM (bill of material) and also a &#8220;floor plan&#8221; for a potential PCB (printed circuit board) layout, but it turns out that many manufacturers are reluctant to work with the i.MX 8M since it is a new CPU/SOC. We have, however, some promising leads and good contacts so we will work on that.</p>
<h1>Purism Librem 5 team members attending FOSDEM</h1>
<p>By the way, many Purism staff members <a href="https://puri.sm/posts/meet-us-at-fosdem-2018/">will be at FOSDEM</a> this week-end, on the 3rd and 4th of February. In addition to the design and marketing team, PureOS and Librem 5 team members will be there and we would love to get in touch with you! Purism representatives dedicated to answering your questions will be wearing this polo shirt so you can easily recognize them:</p>
<p><img class="alignnone size-medium wp-image-48021" src="https://puri.sm/wp-content/uploads/2018/01/AMA-polo-front-200x300.jpg" alt="" width="200" height="300" srcset="https://puri.sm/wp-content/uploads/2018/01/AMA-polo-front-200x300.jpg 200w, https://puri.sm/wp-content/uploads/2018/01/AMA-polo-front-683x1024.jpg 683w, https://puri.sm/wp-content/uploads/2018/01/AMA-polo-front.jpg 720w" sizes="(max-width: 200px) 100vw, 200px" /></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-3/">Librem 5 general development report — February 2nd, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>GNOME and KDE in PureOS: diversity across devices</title>
		<link>https://puri.sm/posts/gnome-and-kde-in-pureos-diversity-across-devices/</link>
		<pubDate>Wed, 31 Jan 2018 20:00:14 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Tablets]]></category>
		<category><![CDATA[User experience design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=47930</guid>
		<description><![CDATA[<p>PureOS, a Free Software Foundation endorsed GNU distribution, is what Purism pre-installs on all Librem laptops (in addition to it being freely available for the public to run on their own compatible hardware or virtual machines). It comes with a GNOME desktop environment by default, and of course, since we love free ethical software, users [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/gnome-and-kde-in-pureos-diversity-across-devices/">GNOME and KDE in PureOS: diversity across devices</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a>, a Free Software Foundation <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1" target="_blank" rel="noopener">endorsed</a> GNU distribution, is what Purism pre-installs on all Librem laptops (in addition to it being freely available for the public to run on their own compatible hardware or virtual machines). It comes with a GNOME desktop environment by default, and of course, since we love free ethical software, users can use KDE that is also available within PureOS. This is the future we will continue to advance across all our devices: a PureOS GNOME-first strategy, with other Desktop Environments (DEs), such as KDE, available and supported by Purism.</p>
<p>At Purism we want a <em>unified default desktop environment,</em> and considering that we have chosen GNOME to be the default on laptops, we hope to extend GNOME to also be the default on phones. The ability for users to switch is also very powerful, and having a strong, usable, and supported alternative—that is, KDE/Plasma—for the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> offers the best of the &#8220;unified default&#8221; world and the &#8220;usable user choice&#8221; worlds.</p>
<h1>Symbiotic GNOME and KDE partnerships</h1>
<p>Purism has partnered with <strong>both</strong> GNOME and KDE for the Librem 5; what this means simply is that users running PureOS on their Librem 5 will get the choice of a GNOME environment or a KDE/Plasma environment, and the user could always switch between the two, like what is already the case on computers running PureOS. Will there be other partnerships in the future? We imagine so, since we will be happy to support any and all ethical OSes, GNU distributions, and want to make sure that the future is bright for a non-Android-non-iOS world.</p>
<p><img class="alignright size-medium wp-image-28068" src="https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity-300x177.jpg" alt="" width="300" height="177" srcset="https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity-300x177.jpg 300w, https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity-768x452.jpg 768w, https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity-1024x603.jpg 1024w, https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity.jpg 1280w" sizes="(max-width: 300px) 100vw, 300px" />While the initial GNOME and KDE partnerships mean uplifting <strong>diversity</strong> at the top level (and greater choice for users), each have a slightly different developmental and support roadmap. The reason for this is pragmatic, since KDE is very far along with their &#8220;Plasma&#8221; mobile desktop environment, while GNOME is farther behind currently. Investing time and efforts to advance the status of mobile GNOME/GTK+, aligns with our longer-term goals of a unified default desktop environment for PureOS, offering a convenient default for users. Diversity is why we are supporting and developing both GNOME/GTK+ and KDE/Plasma.</p>
<p>Therefore:</p>
<ul>
<li><strong>KDE:</strong> Purism is investing in hardware design, development kits, and supporting the KDE/Plasma community, and will be sharing all early documentation, hardware designs, and kernel development progress with the core KDE/Plasma developers and community.</li>
<li><strong>GNOME:</strong> Purism is investing the same in hardware design, development kits, and supporting the GNOME/GTK+ community as we are with the KDE/Plasma community. In addition, Purism is needing to lead some of the development within the GNOME community, since there is not a large community around an upstream-first GNOME/GTK+ for mobile yet.</li>
</ul>
<p>Choice is good, redundancy is good, but those are ideal when there is minimal additional investment required to accomplish technological parity. Since Purism uses GNOME as the default desktop environment within PureOS on our laptops, we figured we are going to invest some direct development efforts in GNOME/GTK+ for mobile to stay consistent across our default platforms. Adding KDE as a second desktop environment is directly aligned with our beliefs, and we are very excited to support KDE/Plasma on our Librem 5 phone as well as within PureOS for all our hardware. We will support additional efforts, if they align with our strict beliefs.</p>
<h2>Why not <em>just</em> use KDE/Plasma and call it a day?</h2>
<p>If we were doing short-term planning it would be easy to &#8220;just use Plasma&#8221; for the Librem 5, but that would undermine our long-term vision of having a consistent look/feel across all our devices, where GNOME/GTK+ is already the default and what we&#8217;ve invested in. Supporting both communities, while advancing GNOME/GTK+ on mobile to allow it to catch up, aligns perfectly with our short-term goals (offering Plasma on our Librem 5 hardware for early adopters who prefer this option), while meeting our long-term vision (offering a unified GNOME stack as our primary technological stack across all our hardware). It is also a good way to give back to a project that needs our help.</p>
<h2>Why not <em>just</em> push GNOME and GTK+ and forward?</h2>
<p>Because having an amazingly built Plasma offering available early to test and ship to users is a superb plan in many ways—not just for redundancy, but also because KDE/Plasma also aligns so well with our beliefs. The product readiness across these two desktop environments are so different it is not easy to compare side-by-side.</p>
<h1>Empowering both communities is possible</h1>
<p>Overall, Purism is investing the <strong>same</strong> amount across hardware, boot loader, kernel, drivers and UI/UX. These are shared resources. The deviation boils down to:</p>
<ul>
<li>GTK+ and the GNOME &#8220;shell&#8221; development, that Purism is planning to be directly invested in, in close collaboration with upstream</li>
<li>Community support: by being involved in both communities, we are effectively doubling our efforts on supporting those communities, but that is a small cost for the greater benefit of users.</li>
</ul>
<p>Supporting both KDE/Plasma and GNOME means we will continue to build, support, and release software that works well for users across Purism hardware and within PureOS. Purism fully acknowledges that each platform is in different release states, and will be working with each community in the areas required—be that software development, hardware development kits donated, community outreach, conference sponsorship, speaking engagements, and offering product for key personnel.</p>
<hr />
<p>Update/P.S.: <small>for the GNOME side of things, we are in close collaboration with upstream GNOME, and have followed GNOME Shell maintainers&#8217; recommendations to have a simpler, Wayland-only shell (&#8220;phosh&#8221;) developed. You can learn more about it in our <a href="https://puri.sm/posts/librem5-progress-report-7/">2018 March 3rd technical report</a>, in the &#8220;Compositor and Shell&#8221; section. So rest assured, those decisions have been taken with the &#8220;blessing&#8221; of upstream, based on purely technical grounds.</small></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/gnome-and-kde-in-pureos-diversity-across-devices/">GNOME and KDE in PureOS: diversity across devices</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Meet us at FOSDEM 2018!</title>
		<link>https://puri.sm/posts/meet-us-at-fosdem-2018/</link>
		<pubDate>Mon, 29 Jan 2018 19:00:31 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=47914</guid>
		<description><![CDATA[<p>Are you attending FOSDEM next week-end? So are we! Join us in this massive Free Software event in Brussels on February 3rd and 4th and ask us anything! Members of the Purism design team, Librem 5 development team, and PureOS developers will be meeting up and walking around the event, namely: François, Predrag (Peter), Jeff, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-us-at-fosdem-2018/">Meet us at FOSDEM 2018!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Are you attending <a href="https://fosdem.org/" target="_blank" rel="noopener">FOSDEM</a> next week-end? So are we! Join us in this massive Free Software event in Brussels on February 3rd and 4th and ask us anything!</p>
<p>Members of the Purism<strong> design team, Librem 5 development team, and PureOS developers</strong> will be meeting up and walking around the event, namely: François, Predrag (Peter), Jeff, Nicole, Dorota, Guido, Adrien, Matthias and Zlatan will all be on-site. You can check out what they look like on our <a href="https://puri.sm/about/team/">team</a> page. Come and say hi!</p>
<p>Jeff and François will be dedicated to answering your questions (in English or French!) and will be walking around the venue wearing clearly identifiable polo shirts, like this:</p>
<p><img class="alignnone size-large wp-image-48021" src="https://puri.sm/wp-content/uploads/2018/01/AMA-polo-front-683x1024.jpg" alt="" width="683" height="1024" srcset="https://puri.sm/wp-content/uploads/2018/01/AMA-polo-front-683x1024.jpg 683w, https://puri.sm/wp-content/uploads/2018/01/AMA-polo-front-200x300.jpg 200w, https://puri.sm/wp-content/uploads/2018/01/AMA-polo-front.jpg 720w" sizes="(max-width: 683px) 100vw, 683px" /></p>
<p>They will also be carrying our all new information booklet summarizing our approaches to security, freedom, and the goals behind our products such as the Librem 5. Feel free to take one!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-us-at-fosdem-2018/">Meet us at FOSDEM 2018!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Phone Progress Report – A Design Team Assembles</title>
		<link>https://puri.sm/posts/librem5-progress-report-2/</link>
		<pubDate>Wed, 24 Jan 2018 17:00:29 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=47402</guid>
		<description><![CDATA[<p>We have spent the last two months building our design team for the Librem 5 Phone project. We have been studying the current state of mobile design within the free software community as well as large companies that have shown success in mobile. We have been in the planning phases of development attempting to produce [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-2/">Librem 5 Phone Progress Report – A Design Team Assembles</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have spent the last two months building our design team for the <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5 Phone</a> project. We have been studying the current state of mobile design within the free software community as well as large companies that have shown success in mobile. We have been in the planning phases of development attempting to produce an ethically designed device and now that we have a working prototype we have shifted to the process of designing User Interfaces (UI) and User eXperience (UX) for the Librem 5.</p>
<h2>New members on the design team</h2>
<figure id="attachment_47657" style="width: 300px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2018/01/peterk-artwork.jpg"><img class="wp-image-47657 size-medium" src="https://puri.sm/wp-content/uploads/2018/01/peterk-artwork-300x150.jpg" alt="" width="300" height="150" srcset="https://puri.sm/wp-content/uploads/2018/01/peterk-artwork-300x150.jpg 300w, https://puri.sm/wp-content/uploads/2018/01/peterk-artwork-768x385.jpg 768w, https://puri.sm/wp-content/uploads/2018/01/peterk-artwork-1024x513.jpg 1024w, https://puri.sm/wp-content/uploads/2018/01/peterk-artwork.jpg 1280w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption class="wp-caption-text">Peter K&#8217;s Concept Art</figcaption></figure>
<p>Upon successful completion of our funding campaign, we started to look for a Designer to take care of the user experience for the Librem 5, and a web developer to help us improve the look &amp; feel (and more technical parts) of our website in general. Today, I&#8217;m glad to finally welcome them publicly!</p>
<ul>
<li>Our new UI &amp; UX Designer is <strong>Peter Kolaković</strong>, who is very talented and had already gotten involved during the campaign by creating amazing concept art (that we ended up displaying on the campaign page and that became the basis for our potential look and feel of the Librem 5).</li>
<li>Our new Web Designer is <strong>Eugen Rochko</strong>, the web development wizard who already proved his skills by creating <a href="https://joinmastodon.org/" target="_blank" rel="noopener">Mastodon</a>.</li>
</ul>
<p>We had a huge amount of talented and motivated applicants who were perfectly aligned with our philosophy of digital ethics, and so picking only two was a very difficult decision to make. Thank you to all of those who applied! We appreciate your interest, motivation, and ideas!</p>
<h2>Unified look for PureOS devices</h2>
<p><a href="https://puri.sm/wp-content/uploads/2018/01/librem13-table-dark-theme.jpg"><img class="alignleft wp-image-47682 size-medium" src="https://puri.sm/wp-content/uploads/2018/01/librem13-table-dark-theme-300x200.jpg" alt="" width="300" height="200" srcset="https://puri.sm/wp-content/uploads/2018/01/librem13-table-dark-theme-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2018/01/librem13-table-dark-theme-768x512.jpg 768w, https://puri.sm/wp-content/uploads/2018/01/librem13-table-dark-theme.jpg 960w" sizes="(max-width: 300px) 100vw, 300px" /></a>Peter has also been working on the look and feel of <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a> in an effort to make our systems convergent across devices: phone, tablet and laptop.</p>
<p><img src="https://puri.sm/wp-content/uploads/2018/01/l5-hand-300x300.png" alt="" width="300" height="300" class="alignright size-medium wp-image-47818" srcset="https://puri.sm/wp-content/uploads/2018/01/l5-hand-300x300.png 300w, https://puri.sm/wp-content/uploads/2018/01/l5-hand-150x150.png 150w, https://puri.sm/wp-content/uploads/2018/01/l5-hand-768x767.png 768w, https://puri.sm/wp-content/uploads/2018/01/l5-hand-1024x1024.png 1024w, https://puri.sm/wp-content/uploads/2018/01/l5-hand-180x180.png 180w, https://puri.sm/wp-content/uploads/2018/01/l5-hand-600x600.png 600w, https://puri.sm/wp-content/uploads/2018/01/l5-hand.png 1037w" sizes="(max-width: 300px) 100vw, 300px" />Our approach to convergence is that mobile is the motivating factor for all other platforms. We are aware that usability is different from a small touchscreen to a laptop monitor with a mouse and keyboard. We want to improve the user experience through ease of use, by creating a graphical environment that doesn&#8217;t require a steep learning curve when switching between devices. This approach is also helpful to developers who don’t want to maintain too many different outputs. Mobile design brings efficiency and simplicity first.</p>
<p>The general appearance of the user interface we&#8217;ll be designing is expected to follow current visual design approaches in the mobile industry. We expect our design to have a minimalistic aesthetic by default.</p>
<p>We are starting work on a dark theme (a &#8220;light&#8221; one will be designed as well). Here are a few mockups that we are working on (click to enlarge):</p>
<p><a href="https://puri.sm/wp-content/uploads/2018/01/l5-mockups.png"><img class="aligncenter size-large wp-image-47669" src="https://puri.sm/wp-content/uploads/2018/01/l5-mockups-1024x432.png" alt="" width="960" height="405" srcset="https://puri.sm/wp-content/uploads/2018/01/l5-mockups-1024x432.png 1024w, https://puri.sm/wp-content/uploads/2018/01/l5-mockups-300x127.png 300w, https://puri.sm/wp-content/uploads/2018/01/l5-mockups-768x324.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<h2>Community involvement approach</h2>
<p>We want any of our Librem 5 UI/UX design and development work to be a direct contribution back to the parent projects that they are based on. You may be aware that we have <a href="https://puri.sm/posts/librem5-gnome-and-kde-collaboration/" target="_blank" rel="noopener">partnered</a> with both the <a href="https://www.kde.org/" target="_blank" rel="noopener">KDE</a> and <a href="https://www.gnome.org/" target="_blank" rel="noopener">GNOME</a> projects, and so we wish to make the Librem 5 a mobile platform where the user can have a choice of Desktop Environments. Of course, KDE and GNOME are currently at fairly different levels of development with regards to mobile user experience:</p>
<figure id="attachment_47662" style="width: 169px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2018/01/kwin_screenshot_Jo1078.png"><img class="wp-image-47662 size-medium" src="https://puri.sm/wp-content/uploads/2018/01/kwin_screenshot_Jo1078-169x300.png" alt="" width="169" height="300" srcset="https://puri.sm/wp-content/uploads/2018/01/kwin_screenshot_Jo1078-169x300.png 169w, https://puri.sm/wp-content/uploads/2018/01/kwin_screenshot_Jo1078-768x1365.png 768w, https://puri.sm/wp-content/uploads/2018/01/kwin_screenshot_Jo1078-576x1024.png 576w, https://puri.sm/wp-content/uploads/2018/01/kwin_screenshot_Jo1078.png 1080w" sizes="(max-width: 169px) 100vw, 169px" /></a><figcaption class="wp-caption-text">KDE Mobile UI Example</figcaption></figure>
<ul>
<li>KDE already has a beautiful and full-featured mobile interface (that our dev team is busy on making work on the Librem 5 hardware). Whatsmore, from a design standpoint, the KDE design team has done a great job developing a set of clean, touch driven user interfaces that make it a pleasant and functional mobile environment already; there is not much to add to KDE except for a graphical touch interface specific to PureOS. Purism&#8217;s contribution to KDE may be generally focused on hardware integration and testing, rather than design.</li>
<li>GNOME developers&#8217; resources have not been focused on mobile user experience <em>per se,</em> so there is more work required to make GNOME production ready for a convergent Librem 5. In an effort to bring convergence across our devices which already run PureOS with GNOME, we are hoping to contribute design and software development efforts to the GNOME project. Our teams will develop and design the missing mobile components and improve the existing ones.</li>
</ul>
<p>This is what free software is all about—not just taking existing work &#8220;as is&#8221; but adjusting and improving things that we send back for everyone to benefit from. We&#8217;re looking forward to giving development back to these two free software giants!</p>
<h2>Conclusion</h2>
<p>As I said in a <a href="https://puri.sm/posts/we-love-ethical-design/" target="_blank" rel="noopener">previous post</a>, we are working on producing an &#8220;ethical design&#8221; that:</p>
<ul>
<li><strong>Respects Human Rights</strong> by using free/libre technologies and contributing to them for the profit of everyone.</li>
<li><strong>Respects Human Effort</strong> by unifying the user experience, making convergent designs based on a &#8220;Mobile First&#8221; approach that favors efficiency and simplicity.</li>
<li><strong>Respects Human Experience</strong> by designing a modern, clean and efficient look for PureOS.</li>
</ul>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-2/">Librem 5 Phone Progress Report – A Design Team Assembles</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Dark Caracal: State-Sponsored Spyware for Rent</title>
		<link>https://puri.sm/posts/dark-caracal-state-sponsored-spyware-for-rent/</link>
		<pubDate>Tue, 23 Jan 2018 21:30:40 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=47459</guid>
		<description><![CDATA[<p>Spyware has long been a privacy and security risk for personal computers and has been used by a number of groups—ranging from creeps who spy on and blackmail people through Remote Access Trojans, to marketers who want ever more data about you for targeted ads (such as through the Superfish malware we&#8217;ve seen preinstalled on [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/dark-caracal-state-sponsored-spyware-for-rent/">Dark Caracal: State-Sponsored Spyware for Rent</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Spyware has long been a privacy and security risk for personal computers and has been used by a number of groups—ranging from creeps who spy on and blackmail people through Remote Access Trojans, to marketers who want ever more data about you for targeted ads (such as through the <a href="https://en.wikipedia.org/wiki/Superfish" target="_blank" rel="noopener">Superfish</a> malware we&#8217;ve seen preinstalled on some &#8220;big brands&#8221; computers), to government intelligence agencies.</p>
<p><em>The Register</em> <a href="https://www.theregister.co.uk/2018/01/18/dark_caracal_malware/">recently reported</a> on an investigation by the EFF and Lookout into the &#8220;Dark Caracal&#8221; spyware network. According to the EFF, this spyware has already captured hundreds of gigabytes of data. More troubling, this spyware network is <a href="https://blog.lookout.com/dark-caracal-mobile-apt">being rented out</a> to nation states that may not be able to develop this capability in-house. Who knew government spies had their own international app store?</p>
<p>The Dark Caracal toolkit contains malware that targets Windows and Android platforms. In particular, Lookout discovered that Dark Caracal uses a particular piece of Android malware called <em>Pallas</em> that disguises itself as a legitimate Signal or WhatsApp app and tricks the unsuspecting user into installing it. Instead of relying on a rootkit, it just uses the fact that chat apps usually have access to a wide variety of permissions on your phone, so most people don&#8217;t question all the permissions the malware wants. Once installed, it uses those permissions to get audio, text messages, files, and other data via completely legitimate means and uses the network connection to send it back to the attacker.</p>
<h1>Purism, Post-Its and Personal Privacy</h1>
<p>Dark Caracal relies on Windows and Android malware, so you might wonder why I&#8217;m writing about it at Purism given not only is our Librem 5 phone not out yet, but PureOS is a completely different platform and <em>isn&#8217;t vulnerable</em> to this spyware toolkit. What makes spyware like this relevant is that we have focused on protecting customer privacy from the beginning (it&#8217;s even <a href="https://puri.sm/about/social-purpose/">part of our corporate charter</a>). Stories like this give us an opportunity to audit the privacy and security protections we put in our products to see how they&#8217;d fare if we <em>had</em> been a target.</p>
<p>By performing a tabletop thought exercise against spyware in the wild even if we aren&#8217;t vulnerable ourselves, we can rate the protections we have in place against a real-world attack and <em>proactively</em> harden things further based on any gaps we might find. It&#8217;s always easier if you start with security as a focus from the beginning instead of tacking it on at the end, so this exercise is not just useful for our existing Librem laptops but is particularly helpful as we develop the Librem 5.</p>
<h2>Software Delivery</h2>
<p>The first thing to examine is the software delivery mechanism. Malicious lookalike applications are a constant problem in mobile app stores, even more so if you add third party stores into the mix. One advantage GNU/Linux distributions have long had against other operating systems is that all of a particular distribution&#8217;s applications come from its own official repository and are signed by its developers. It&#8217;s much more difficult for a malicious application to end up in the official repository and pass the signature check, so when you use your distribution&#8217;s tool to install LibreOffice, you can be assured you are getting the real thing.</p>
<p>We get an additional advantage due to our dedication to Free Software. Like with other GNU/Linux distributions, all applications in PureOS come from a central PureOS repository and are signed with official PureOS keys. <em>Unlike</em> many GNU/Linux distributions, <a href="https://puri.sm/posts/fsf-endorses-pureos/">PureOS is a FSF-endorsed distribution</a> so all of the software in PureOS <em>must</em> be Free Software. PureOS doesn&#8217;t include packages that download proprietary codecs, unsigned Flash plugins or any other binary-only code from elsewhere on the Internet. This means you can examine the source for every package in PureOS to check for malware or backdoors.</p>
<p>This is why it&#8217;s important to be extra careful when adding third-party repositories or installing software with <code>curl | sh </code> because you bypass trusted code signing and lose many of the protections built into a GNU/Linux distribution&#8217;s native packages. Fortunately, because PureOS is derived in part from Debian, it can take advantage of the vast number of packages available in Debian&#8217;s free repository, so you are much less likely to need to install software from a third party.</p>
<h2>Hardware Privacy Protections</h2>
<p>For most vendors you would focus only on software protections against spying because that&#8217;s your only option. Fortunately we can go one step further because we also build privacy protections into the hardware itself in the form of <a href="https://puri.sm/learn/hardware-kill-switches/">kill switches</a>. Purism devices include hardware switches that allow you to cut power to radio hardware (WiFi) and to the webcam and microphone. Unlike a software hot key, these hardware switches <em>disconnect power</em> from the hardware so it can&#8217;t be bypassed by malicious software. Dark Caracal attacked both desktops and phones and so we should consider what effect our hardware privacy features would have on the spyware in both cases.</p>
<h3>Desktop Protections</h3>
<p>On a traditional laptop infected with Dark Caracal, the attacker would be able to stream video from the webcam. Depending on the sophistication of the spyware, it could possibly capture video with the LED light off, a phenomenon that has been demonstrated multiple times in recent years. Even if the victim added the high-tech spying countermeasure of <a href="https://www.engadget.com/2016/09/23/the-fbi-recommends-you-cover-your-laptops-webcam-good-reasons/">covering the webcam with tape</a>, the attacker could still capture audio off of the microphone and stream it along with the rest of the data over the WiFi connection.</p>
<p>On Librem laptops, the radio kill switch disables WiFi and the webcam/mic kill switch—you guessed it—disables the webcam and microphone together. We recommend users take advantage of the kill switches, in particular the webcam/mic switch, to disable the hardware when you aren&#8217;t using it. With the webcam/mic kill switch, even if spyware found its way on your machine, the attacker wouldn&#8217;t be able to capture any video or audio from the machine as long as the switch was off.</p>
<p>Customers especially concerned about their privacy or in a high-risk environment could take the additional precaution of using the radio kill switch to keep WiFi powered off and only turning it on briefly when they needed a network connection. In that case the attacker would have to wait until a network connection showed up and use that limited window to upload the data.</p>
<h3>Phone Protections</h3>
<p>Like with the Librem laptops, the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> phone will have kill switches, but as you&#8217;ll see, they impact a phone&#8217;s privacy even more dramatically than on a laptop. For example, the webcam/mic kill switch will protect you in much the same way as in a laptop, but unlike with a laptop, it gives you spyware protection you just wouldn&#8217;t have with a traditional phone because most phones just don&#8217;t have a good way to disable the microphone (in fact they <em>rely</em> on it being always on for voice commands). While you could tape over the camera like in a laptop, almost no one does. With a kill switch, you can leave your camera and mic off and conveniently turn it on when you need to take a selfie or make a call.</p>
<p>The radio kill switch would protect you in a similar way as on a laptop, but the Librem 5 also has an additional <em>baseband</em> kill switch. This switch powers off the cellular radio completely, not using software like in traditional airplane mode but using hardware so you know for sure it&#8217;s off. With the baseband off, you also prevent spyware from using your cellular beacon to track your location or your cellular network to send out your personal data and rack up a large cellphone bill.</p>
<h1>Conclusion</h1>
<p>It&#8217;s hard to add security and privacy protections after the fact—even harder if your company relies on customer data for its revenue. Because we value customer privacy, we continually work to increase privacy protections in our products not just in a <em>reactive</em> way based on a specific threat but in a <em>proactive</em> and general-purpose way that applies to all kinds of threats. Even though Purism products weren&#8217;t vulnerable to Dark Caracal, you can see how some of the additional protections we put in place would help keep you safer even if they were.</p>
<p>While this government-sponsored spyware was interesting because of its scope and because it was rented out to other governments, spyware like it is sadly not unique. Everyone from governments to tech companies to hackers to creepy stalkers all want a piece of your personal data and they all use different kinds of spyware to get it. Some of the greatest minds in our generation are focused on the problem of how to capture and store more and more of your data. At Purism we recognize that this data is <em>your</em> data, and we work every day to protect it.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/dark-caracal-state-sponsored-spyware-for-rent/">Dark Caracal: State-Sponsored Spyware for Rent</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Phone Progress Report &#8211; The First of Many More to Come!</title>
		<link>https://puri.sm/posts/librem5-progress-report-1/</link>
		<pubDate>Tue, 16 Jan 2018 12:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Power management]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=47090</guid>
		<description><![CDATA[<p>First, let me apologize for the silence. It was not because we went into hibernation for the winter, but because we were so busy in the initial preparation and planning of a totally new product while simultaneously orienting an entirely new development team. Since we are more settled into place now, we want to change [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-1/">Librem 5 Phone Progress Report &#8211; The First of Many More to Come!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>First, let me apologize for the silence. It was not because we went into hibernation for the winter, but because we were so busy in the initial preparation and planning of a totally new product while simultaneously orienting an entirely new development team. Since we are more settled into place now, we want to change this pattern of silence and provide regular updates. Purism will be giving weekly news update posts regarding the <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5 phone</a> project, alternating progress reports on two fronts:</p>
<ul>
<li>from the technology development point of view (the hardware, kernel, OS, etc.);</li>
<li>from the design department (UI+UX), and our collaboration with GNOME and KDE.</li>
</ul>
<p>To kickoff this new update process, today&#8217;s post will discuss the organizational and technological progress of the <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5</a> project since November 2017.</p>
<h1>New Team</h1>
<p>Just after our successful pre-order crowdfunding campaign (by the way, thank you to all of the backers!) we started to reach out to people who had applied for jobs related to the Librem 5 project. We had well <strong>over 100 applicants</strong> who showed great passion for the project and had excellent resumes.</p>
<p>Our applicants came from all over the world  with some of the most diverse backgrounds I have ever seen. Todd Weaver (CEO) and myself did more than 80 interviews with applicants over a two weeks period. In the end, <strong>we had to narrow down to 15 people</strong> that we would make offers to; it was with great regret that we had to turn down so many stellar applicants, but we had to make decisions in a timely fashion and unfortunately the budget isn&#8217;t unlimited. During the weeks that followed, we negotiated terms with our proposed team members and started to roll new people into the team (with all that involves in an organizational setting). All of the new team members are now on board as of January 2018. They are not yet shown on our team page, but we will add them soon and make an announcement to present all the individuals who have recently joined our team.</p>
<p>As amazing as our community is, we also received applications from individuals who are so enthusiastic about our project that they want to help us as volunteers! We will reach out to them shortly, now that the core team is in place and settled.</p>
<p>There are so many people to thank for the successful jump start of our phone development project! It was amazing for us to see how much energy and interest we were able to spark with our project. We want to give a big thank you to everyone for reaching out to us and we really appreciate every idea and applicant.</p>
<h1>CPU / System On Chip</h1>
<figure id="attachment_47306" style="width: 452px" class="wp-caption alignright"><img class="wp-image-47306" src="https://puri.sm/wp-content/uploads/2018/01/I.MX6QP-BLOCK-DIAGRAM-300x210.jpg" alt="" width="452" height="316" srcset="https://puri.sm/wp-content/uploads/2018/01/I.MX6QP-BLOCK-DIAGRAM-300x210.jpg 300w, https://puri.sm/wp-content/uploads/2018/01/I.MX6QP-BLOCK-DIAGRAM.jpg 599w" sizes="(max-width: 452px) 100vw, 452px" /><figcaption class="wp-caption-text">Block Diagram i.MX6</figcaption></figure>
<p>During our early phase we used a <a href="https://www.nxp.com/products/processors-and-microcontrollers/applications-processors/i.mx-applications-processors/i.mx-6-processors:IMX6X_SERIES" target="_blank" rel="noopener">NXP i.MX6</a> SOC (System On Chip) to begin software evaluation, and the results were pretty promising. This was why we listed the i.MX6 in the campaign description. The most important feature of the i.MX6 was that it is one of only a handful of SOCs supported by a highly functional free software GPU driver set, the <a href="https://github.com/etnaviv" target="_blank" rel="noopener">Etnaviv</a> driver. The Etnaviv driver has been included in the Linux mainline kernel for quite some time and the matching MESA support has evolved nicely. Briefly after our announcement we were contacted by one of the key driving forces behind the Etnaviv development effort which provides us with valuable insight in to this complex topic.</p>
<p>&nbsp;</p>
<figure id="attachment_47307" style="width: 434px" class="wp-caption alignleft"><img class="wp-image-47307" src="https://puri.sm/wp-content/uploads/2018/01/NXP-iMX_8M_BlockDiagram-FINAL-300x254.jpg" alt="" width="434" height="367" srcset="https://puri.sm/wp-content/uploads/2018/01/NXP-iMX_8M_BlockDiagram-FINAL-300x254.jpg 300w, https://puri.sm/wp-content/uploads/2018/01/NXP-iMX_8M_BlockDiagram-FINAL-768x651.jpg 768w, https://puri.sm/wp-content/uploads/2018/01/NXP-iMX_8M_BlockDiagram-FINAL-1024x868.jpg 1024w, https://puri.sm/wp-content/uploads/2018/01/NXP-iMX_8M_BlockDiagram-FINAL.jpg 1043w" sizes="(max-width: 434px) 100vw, 434px" /><figcaption class="wp-caption-text">Block Diagram i.MX8</figcaption></figure>
<p>Further work with the i.MX6 showed us that it still uses quite a lot of power so when put under load it would drain a battery quickly, as well as warm up the device.</p>
<p>NXP had been talking about a new family of SOCs, the <a href="https://www.nxp.com/products/processors-and-microcontrollers/applications-processors/i.mx-applications-processors/i.mx-8-processors:IMX8-SERIES" target="_blank" rel="noopener">i.MX8</a>, which would feature a new silicon processor and updated architecture. The release of the i.MX8 had been continuously postponed. Nevertheless, once we realized that the i.MX6 might be too power hungry, the i.MX8 became appealing to us. Hardware prototype operations are always tricky because you have to plan for emerging technologies that you meld with existing parts or materials. Components from original manufacturers sometimes never get released, are discontinued or the availability from the factory grinds to a halt for reasons beyond our control. This is the function of engaging in prototype development so that we can suffer the slings and arrows for you to provide the customer the best possible end product. We have been in active communication with all of our suppliers preparing a development plan that is beneficial for all of us.</p>
<p>At CES in Las Vegas, NXP announced the product release dates for their new SOC, the i.MX8M, along with a set of documentation. This is currently the most likely candidate we will use in the Librem 5. We are very excited about this timely announcement! At Embedded World in Nürnberg, Germany, NXP will announce details and a roadmap. We will be attending and discuss with NXP directly about the i.MX8M for the Librem 5.</p>
<p>We have also decided to use AARCH64, a.k.a. &#8220;ARM64&#8221;, for the phone software builds as soon as we have i.MX8 hardware. A build server for building ARM64 is now in place and the PureOS development team is beginning to work with the Librem 5 development team on the build process. Adding a second architecture for the <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1">FSF endorsed</a> PureOS—that will run on Librem laptops as well as the Librem 5 phone—is a major undertaking that will benefit all future Librem 5 phone development.</p>
<h1>Prototype Display for Development Boards</h1>
<p>Since the i.MX8 is still not yet easily available, and in order not to unnecessarily slow development progress, we need similar hardware to start developing software. We switched to an i.MX6 Quad Plus board which should provide similar speed for the GPU to what we will find in the i.MX8M. From our contact from the Etnaviv developers we know that they are heavily working on the i.MX8M support so we can expect that Etnaviv will be working on it within the year.</p>
<p>One of the big tasks of our software and design teams, working with our partners (GNOME, KDE, Matrix, Nextcloud, and Monero), will be to create a proper User Interface (UI) and User Experience (UX) for a phone screen. The challenges are that the screen will be between 5&#8243; to 5.5&#8243; diagonally with a resolution of up to full HD (1920&#215;1080), and a functional touchscreen! The amazing teams developing <a href="https://www.gnome.org/" target="_blank" rel="noopener">GNOME</a> and <a href="https://www.kde.org/plasma-desktop" target="_blank" rel="noopener">KDE/Plasma</a> have already done a great job laying the groundwork technologies and setting up this kind of interface to build, develop, and test with. With such great partners and development teams we are confident that we can successfully integrate the freedom, privacy, and security of <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a> with phone hardware to provide a beautiful user experience.</p>
<p><img class="alignright size-full wp-image-47309" src="https://puri.sm/wp-content/uploads/2018/01/wayland.png" alt="" width="117" height="150" /></p>
<p>To help with development, we are already in the process of sourcing components to attach 5.5&#8243; full HD displays to our development boards. Our development boards are already booting a mainline kernel into a <a href="https://wayland.freedesktop.org/" target="_blank" rel="noopener">Wayland UI</a> nicely. We are evaluating similar displays from several manufacturers. We found a supplier for a matching adapter logic board (HDMI to MIPI). Our hardware engineer has already designed an additional adapter for interfacing the display&#8217;s touchscreen so that we will realistically have a 5.5&#8243; full HD screen with touch capability on our development boards.</p>
<h1>Potential Manufacturing Sites</h1>
<p>The overall plan is to have a custom device manufacturing process setup somewhere where we can manufacture our own devices. Since November of last year we have been intensively researching and evaluating potential manufacturing partners. So far we have been in contact with over 80 potential fabricators and are in the process of negotiating capabilities and terms. No decision has been made yet. We have some promising prospects from all over the world, including Asia, Europe and the USA, and we plan on visiting some of these sites in person possibly by the end of February or March.</p>
<h1>Cooperative Relationships</h1>
<p>Now that the development team is in place we will be reaching out to our partners. Our UI/UX design team along with phone dev team are working with the GNOME UI/UX team to develop a path forward for mobile interfaces. We will also reach out to others who have partnered with us during the campaign, such as the KDE/Plasma team, Matrix, Nextcloud, Monero and many more.</p>
<h1>Conclusion</h1>
<p>I hope that the fog has been lifted, and we have answered questions you might have or assuaged fears of our silence. We hope that you enjoyed this first dive into our development process. We here at Purism are all very excited about the Librem 5 phone project, as we are passionate about all of our products, with the phone holding a special place in our hearts and those of the Free Software community. That&#8217;s what makes us different from companies rolling out &#8220;yet another Android phone&#8221;, swapping color palettes or removing headphone jacks under the guise of &#8220;innovation&#8221;&#8230;</p>
<p>See you next week for more news on the Librem 5 project!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-1/">Librem 5 Phone Progress Report &#8211; The First of Many More to Come!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism patches Meltdown and Spectre variant 2, both included in all new Librem laptops</title>
		<link>https://puri.sm/posts/purism-patches-meltdown-and-spectre-variant-2-both-included-in-all-new-librem-laptops/</link>
		<pubDate>Mon, 15 Jan 2018 23:00:44 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=46902</guid>
		<description><![CDATA[<p>Purism has released a patch for Meltdown (CVE-2017-5754, aka variant 3) as part of PureOS, and includes this latest PureOS image as part of all new Librem laptop shipments. Purism is also providing a microcode update for Intel processors to address Spectre variant 2 (CVE-2017-5715). Securing an existing PureOS installation Applying the patch for Meltdown [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-patches-meltdown-and-spectre-variant-2-both-included-in-all-new-librem-laptops/">Purism patches Meltdown and Spectre variant 2, both included in all new Librem laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism has released a patch for <a href="https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html">Meltdown (CVE-2017-5754, aka variant 3)</a> as part of PureOS, and includes this latest PureOS image as part of all new Librem laptop shipments. Purism is also providing a microcode update for Intel processors to address <a href="https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html">Spectre variant 2 (CVE-2017-5715)</a>.<span id="more-46902"></span></p>
<h1>Securing an existing PureOS installation</h1>
<h2>Applying the patch for Meltdown</h2>
<p>Running Software Update will upgrade PureOS to include the linux-kernel package and associated dependencies to the 4.14.12 patched version.</p>
<p><img class="aligncenter size-full wp-image-46913" src="https://puri.sm/wp-content/uploads/2018/01/purism-pureos-system-information.png" alt="" width="877" height="346" srcset="https://puri.sm/wp-content/uploads/2018/01/purism-pureos-system-information.png 877w, https://puri.sm/wp-content/uploads/2018/01/purism-pureos-system-information-300x118.png 300w, https://puri.sm/wp-content/uploads/2018/01/purism-pureos-system-information-768x303.png 768w" sizes="(max-width: 877px) 100vw, 877px" /></p>
<p>This update will require a reboot to apply, after which you should see that you are running 4.14.12. You can use the uname command to check:</p>
<p><code>user@librem-13v2:~$ uname -a<br />
Linux librem-13v2 4.14.0-3-amd64 #1 SMP Debian 4.14.12-2 (2018-01-06) x86_64 GNU/Linux</code></p>
<h2>Applying the patch for Spectre</h2>
<p>Unfortunately, at the moment, patching Spectre variant 2 requires applying a proprietary CPU microcode update from Intel. Since PureOS contains only free software, this means that Purism customers owning Librem laptops will need to add a new repository from Purism (completely independent of the PureOS software repositories) to download and apply this microcode update.</p>
<p>First, create a file called <code>/etc/apt/sources.list.d/purism.list</code> that contains the following lines:</p>
<pre># non-free Purism repo for microcode
deb http://deb.wp.puri.sm/pureos/ green contrib non-free</pre>
<p>You will need root permissions to edit this file so if you would like to do this with a graphical editor hit Alt-F2 and type: <code>sudo gedit /etc/apt/sources.list.d/purism.list</code> or if you want to use a text editor in a terminal type <code>sudo nano /etc/apt/sources.list.d/purism.list</code> (no text editor holy wars please!)</p>
<p>Then, add the Purism repository key to your APT keyring:</p>
<pre>wget -O - https://deb.wp.puri.sm/pureos/key/purism-nonfre-repo.gpg.key | sudo apt-key add -</pre>
<p>Once you have added the key, use <code>apt-key finger</code> to verify that you have the following key, and that its fingerprint matches:</p>
<pre>$ apt-key finger
...
pub   rsa4096 2018-01-14 [SC] [expires: 2028-01-12]
      CC2B 0E61 FE48 7DCD 96FA  632C 64CD 8D1B DE94 49B1
uid           [ unknown] Purism non-free package repository (Signing key for the Purism non-free repository for PureOS) &lt;deb@deb.wp.puri.sm&gt;</pre>
<p>Then use apt to install the intel-microcode package:</p>
<pre>$ sudo apt update
$ sudo apt install intel-microcode</pre>
<p>Version <em>20180108.1</em> or newer contains the patch for Spectre variant 2. Like with the Meltdown patch, this will require a reboot to take effect.</p>
<h1>New installations are secured</h1>
<p><a href="https://pureos.net/download/" target="_blank" rel="noopener">Downloadable PureOS installation images</a> have been updated accordingly, and anyone downloading and installing the latest images will be protected against Meltdown. If you <strong>reinstall</strong> PureOS, you will still need to perform the above steps in the &#8220;Applying the Patch for Spectre&#8221; section as PureOS doesn&#8217;t include the non-free Intel microcode package.</p>
<p>As for Purism customers, all new laptop shipments include Meltdown and Spectre patches, as they will have the latest PureOS image (that includes the Meltdown patch) preloaded and will also have the Spectre variant 2 patch applied. All <em>existing</em> Purism customers will need to follow the above steps to make sure they are protected against both Meltdown and Spectre variant 2.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-patches-meltdown-and-spectre-variant-2-both-included-in-all-new-librem-laptops/">Purism patches Meltdown and Spectre variant 2, both included in all new Librem laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Meltdown, Spectre and the Future of Secure Hardware</title>
		<link>https://puri.sm/posts/meltdown-spectre-and-the-future-of-secure-hardware/</link>
		<pubDate>Fri, 05 Jan 2018 04:07:50 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=46801</guid>
		<description><![CDATA[<p>Meltdown and Spectre are two different—but equally nasty—exploits in hardware. They are local, read-only exploits not known to corrupt, delete, nor modify data. For local single user laptops, such as Librem laptops, this is not as large of a threat as on shared servers—where a user on one virtual machine could access another user&#8217;s data [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meltdown-spectre-and-the-future-of-secure-hardware/">Meltdown, Spectre and the Future of Secure Hardware</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div style="text-align: center;"><img class="wp-image-46819 alignnone" src="https://puri.sm/wp-content/uploads/2018/01/meltdown-attack-text.png" alt="" width="174" height="339" srcset="https://puri.sm/wp-content/uploads/2018/01/meltdown-attack-text.png 257w, https://puri.sm/wp-content/uploads/2018/01/meltdown-attack-text-154x300.png 154w" sizes="(max-width: 174px) 100vw, 174px" /> <img class="wp-image-46820 alignnone" style="margin-left: 10%;" src="https://puri.sm/wp-content/uploads/2018/01/spectre-attack-text.png" alt="" width="268" height="319" srcset="https://puri.sm/wp-content/uploads/2018/01/spectre-attack-text.png 420w, https://puri.sm/wp-content/uploads/2018/01/spectre-attack-text-252x300.png 252w" sizes="(max-width: 268px) 100vw, 268px" /></div>
<p><a href="https://meltdownattack.com/" target="_blank" rel="noopener">Meltdown</a> and <a href="https://spectreattack.com/" target="_blank" rel="noopener">Spectre</a> are two different—but equally nasty—exploits in hardware. They are local, <em>read-only</em> exploits not known to corrupt, delete, nor modify data. For local single user laptops, such as Librem laptops, this is not as large of a threat as on shared servers—where a user on one virtual machine could access another user&#8217;s data on a separate virtual machine.</p>
<p>As we have <a href="https://puri.sm/posts/what-the-cia-vault-7-documents-mean/">stated</a> <a href="https://puri.sm/posts/how-purism-avoids-vault-7-dark-matter/">numerous</a> <a href="https://puri.sm/posts/efi-uefi-proven-to-be-exploited-in-vault7/">times</a>, security is a <em>game of depth.</em> To exploit any given layer, you go to a lower layer and you have access to everything higher in the stack.</p>
<p>Meltdown and Spectre are not just hardware exploits, they are the processor and microprocessor exploits. Meltdown is an exploit against the CPU which has a patch in progress, while Spectre is an exploit against the <em>design</em> of microprocessors which has a &#8220;possibility to patch upon each exploit as it is identified&#8221; in a never ending game of cat-and-mouse.</p>
<h2>Protecting from Meltdown and Spectre with PureOS</h2>
<ul>
<li>Purism&#8217;s <a href="https://pureos.net/">PureOS</a>, a Free Software Foundation <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1">endorsed distribution</a>, is releasing a patch to stop the Meltdown attack, with thanks to the quick and effective actions of the upstream Linux kernel development team.</li>
<li>Like the patch for Meltdown, PureOS will continue to release patches against any Spectre exploits as they are found and fixed, which highlights the importance of keeping up-to-date on software updates.</li>
</ul>
<h2>Countermeasures in Purism Librem hardware</h2>
<p>Purism continues to <a href="https://puri.sm/posts/measuring-the-intel-me-to-create-a-more-secure-computer/">advance security in hardware</a> through a combination of techniques, including the inclusion of TPM in Librem laptops, where we are progressing towards a turn-key TPM+Heads solution. This will allow us to provide Librem users with a strong defensive stance making future exploits less scary.</p>
<p>While these countermeasures are not direct solutions for Meltdown and Spectre, they help work towards a larger scope of measurement and indication of &#8220;known good&#8221; states. In this case, this would mean only running a Linux kernel version which has good patches applied for Meltdown and Spectre exploits. Flagging or stopping any modifications that could be exploits adds another layer of security to protect users&#8217; devices and sensitive information.</p>
<h2>The Future of Secure Hardware</h2>
<p>Intel, AMD, and ARM seem to suffer from the same issues that proprietary software suffers from: a lack of transparency that results in an unethical design which shifts us further away from an ethical society. <a href="https://en.wikipedia.org/wiki/RISC-V">RISC-V</a> is something we are closely following in the hopes that it can create a future where processor hardware can be as ethical as Free Software—meaning that the user is in control of their own hardware and software, not the developer.</p>
<p>Purism, as a Social Purposes Corporation, will continue to advance along the best paths possible to offer high-end hardware that is as secure as possible, in alignment with our strict philosophy of ethical computing.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meltdown-spectre-and-the-future-of-secure-hardware/">Meltdown, Spectre and the Future of Secure Hardware</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Measuring the Intel Management Engine to Create a More Secure Computer</title>
		<link>https://puri.sm/posts/measuring-the-intel-me-to-create-a-more-secure-computer/</link>
		<pubDate>Wed, 03 Jan 2018 22:22:59 +0000</pubDate>
		<dc:creator><![CDATA[Kyle Rankin]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=45935</guid>
		<description><![CDATA[<p>A modern computer has many different avenues for attack—ranging from local user-level exploits to root and kernel exploits, all the way down to exploits that compromise the boot loader or even the BIOS—but for over ten years the Intel Management Engine—with its full persistent access to all computer hardware combined with its secretive code base—has offered the theoretical [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/measuring-the-intel-me-to-create-a-more-secure-computer/">Measuring the Intel Management Engine to Create a More Secure Computer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A modern computer has many different avenues for attack—ranging from local user-level exploits to root and kernel exploits, all the way down to exploits that compromise the boot loader or even the BIOS—but for over ten years the <a href="https://puri.sm/learn/intel-me/">Intel Management Engine</a>—with its full persistent access to all computer hardware combined with its secretive code base—has offered the theoretical worst-case scenario for a persistent invisible attack. The recent exploit from the talented group of researchers at <em>Positive Technologies</em> moves that worst-case scenario from &#8220;theoretical&#8221; to reality. While the proof-of-concept exploit is currently limited to local access, it is only a matter of time before that same style of stack smash attack turns remote by taking advantage of systems with AMT (<a href="https://puri.sm/learn/avoiding-intel-amt/">Advanced Management Technology</a>) enabled.</p>
<p><img class="alignright wp-image-39683 size-medium" src="https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-300x200.png" alt="" width="300" height="200" srcset="https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-300x200.png 300w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-768x512.png 768w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-1024x683.png 1024w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis.png 1293w" sizes="(max-width: 300px) 100vw, 300px" />At its core, Purism fights for ethical computing and believes that free software is the best way to protect a user&#8217;s freedom, security, and privacy. This belief has meant investing in removing software that fails to provide these protections (due to their proprietary/non-free nature). From the beginning, Purism has seen the ethical issues and potential for abuse in the ME, and fought against the inclusion of the ME in CPUs starting with <a href="https://puri.sm/posts/intel-me-less-petition-goal-met-early/">petitioning Intel for an ME-less design in 2016</a>, then reverse engineering parts of the ME in 2017, to collaborating and cooperating with the other groups cleaning the ME—resulting in Purism being the <a href="https://puri.sm/posts/purism-librem-laptops-completely-disable-intel-management-engine/">first manufacturer to disable the Intel ME in modern hardware</a>.</p>
<p>The recent Intel Management Engine exploit has left many wondering how they can protect themselves, not just from this attack but also any future ones that exploit software sitting at such a fundamental level on their computer.</p>
<p>Purism offers one of the most advanced approaches by combining secure hardware, TPM, coreboot, Heads, and the FSF-compliant <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a> in its Librem laptops, helping protect against a wide variety of ME, BIOS, and boot-loader attacks beyond just wiping ME code from the computer. Below we will discuss how Librem laptops can help protect against the current ME exploit and describe some of the limitations of these countermeasures.<span id="more-45935"></span></p>
<h1>Our approach</h1>
<h2>Part 1: disable &amp; neutralize the Management Engine</h2>
<p>The first way that Purism protects against the current ME attack is by disabling the ME and then removing (&#8220;neutralizing&#8221;) the majority of the ME code/modules. Because this removes and disables the ME module and AMT featureset (in addition to the various measures we had already taken to prevent AMT from working), users are protected against any future remote ME attacks that rely on AMT. This still leaves the <em>local</em> ME exploit. Like with many other computers, Purism doesn&#8217;t prevent you from flashing your own system with a previous BIOS or a different BIOS entirely; it&#8217;s important to offer users freedom to upgrade their hardware. Unfortunately, this trade-off means that even if the <em>current</em> state of the ME firmware on a Librem isn&#8217;t vulnerable to an exploit, an attacker <em>could</em> take the extra step of rolling the code back to a vulnerable version first, then attacking.</p>
<h2>Part 2: thwart attempts to rollback into a vulnerable state</h2>
<p>Mitigating the rollback attack is more challenging, but <a href="https://puri.sm/posts/tpm-addon-for-librem-laptops/">Purism offers one solution using the TPM chip made available with all new Librem laptops</a> and Heads. With this solution, Heads will measure the BIOS and ME code at boot time, compare them with signatures stored in the TPM, and alert the user if that code has been tampered with. By doing so, the user is alerted to any attacks that have altered the ME or the BIOS in a persistent way—allowing the user to know the system needs to be considered &#8220;compromised&#8221; (or &#8220;untrusted&#8221;), so that they won&#8217;t perform any trusted actions (such as entering disk encryption passwords or other secrets).</p>
<p>The TPM/Heads solution has a few limitations if an attacker has physical access, foreknowledge of the Purism system and is willing to expend a <em>lot</em> of extra effort. The TPM/Heads solution relies on the boot guard module within the ME when it asks the ME to provide data for measurement. Because the current ME exploit attacks a part of the ME above boot guard, malicious code could (in theory) give false information to the boot guard and therefore to Heads. Fortunately, this attack is non-trivial in practice: it would require the attacker to:</p>
<ol>
<li>know about the use of the TPM and Heads on the system before they exploit;</li>
<li>take their own measurement of the current ME before they change it;</li>
<li>modify their exploit code so it provides that specific faked measurement to the boot guard.</li>
</ol>
<p>Without these extra steps, Heads would detect the tampering.</p>
<h2>Part 3: leverage TPM + Heads to protect against further exploits</h2>
<p>In addition to this specific Intel ME exploit, the TPM/Heads solution protects against a much wider range of software tampering, rootkits and other attacks. Heads can detect tampering from the ME, to the BIOS, to the boot loader, to the kernel and initrd—and even to the whole root file system if you so choose. This wipes out entire classes of attacks, and leaves an attacker stuck—with no place to persist their attack or hide their tracks.</p>
<p>This means that each time you boot your system, you get a strong assurance that the system is &#8220;clean&#8221; and that there is no exploit hiding &#8220;somewhere you can&#8217;t detect it.&#8221; When you can <em>trust</em> your system, you are empowered to type disk encryption passphrases, login passwords, or other secrets in the system without worrying the system is working against you.</p>
<h1>Conclusion and future avenues</h1>
<p>Of course, we aren&#8217;t stopping with TPM and Heads. Defense in depth is important and so we are also exploring different ways to alert on—and protect against—attacks where the attacker has physical access to the machine and can take it apart. While it can be very difficult to protect a machine against someone with physical access, a number of solutions do exist, ranging from low-tech solutions like glitter nail polish all the way to tamper-evident hardware switches or other means. We are researching a number of different ways to add physical tamper proofing to our products, and if you would be interested in such a feature or have a favorite approach you&#8217;d like us to consider we welcome your feedback—at feedback@puri.sm!</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/measuring-the-intel-me-to-create-a-more-secure-computer/">Measuring the Intel Management Engine to Create a More Secure Computer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Happy New Year! Purism Goals for 2018</title>
		<link>https://puri.sm/posts/happy-new-year-purism-goals-for-2018/</link>
		<pubDate>Wed, 03 Jan 2018 22:01:00 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=46662</guid>
		<description><![CDATA[<p>Purism has set out to change the future of computing for the better. We care about your freedom and security and we prove that by working hard to offer you convenient ethical products and services. In our relatively short existence since forming, we have achieved the following milestones: Released 3 revisions of the Librem 15 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/happy-new-year-purism-goals-for-2018/">Happy New Year! Purism Goals for 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter wp-image-46670 size-full" src="https://puri.sm/wp-content/uploads/2018/01/ny-2018-1.jpg" alt="" width="2048" height="1024" srcset="https://puri.sm/wp-content/uploads/2018/01/ny-2018-1.jpg 2048w, https://puri.sm/wp-content/uploads/2018/01/ny-2018-1-300x150.jpg 300w, https://puri.sm/wp-content/uploads/2018/01/ny-2018-1-768x384.jpg 768w, https://puri.sm/wp-content/uploads/2018/01/ny-2018-1-1024x512.jpg 1024w" sizes="(max-width: 2048px) 100vw, 2048px" /></p>
<p>Purism has set out to change the future of computing for the better. We care about your freedom and security and we prove that by working hard to offer you convenient ethical products and services. In our relatively short existence since forming, we have achieved the following milestones:</p>
<ol>
<li style="list-style-type: none;">
<ol>
<li>Released 3 revisions of the <a href="https://puri.sm/products/librem-15/">Librem 15</a> laptop.</li>
<li>Released 2 revisions of the <a href="https://puri.sm/products/librem-13/">Librem 13</a> laptop.</li>
<li><a href="/coreboot/timeline/">Persevered in our efforts</a> and upheld our promise to port <a href="https://coreboot.org/" target="_blank" rel="noopener">coreboot</a> to all our devices.</li>
<li>We have been the first manufacturer to <a href="https://puri.sm/posts/purism-librem-laptops-completely-disable-intel-management-engine/">disable the Intel Management Engine</a> (and we are currently still the only vendor of brand new devices doing this with devices shipping out <em>today</em>…).</li>
<li>Received <a href="http://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1" target="_blank" rel="noopener">FSF endorsement</a> for <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a>.</li>
<li>Exceeded our funding goal by almost 50% for our <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> phone campaign.</li>
<li>Partnered with <a href="https://matrix.org/" target="_blank" rel="noopener">Matrix</a>, <a href="https://puri.sm/posts/purism-partners-with-nextcloud-to-build-and-include-end-to-end-encrypted-storage-products-and-services/">Nextcloud</a>, <a href="https://puri.sm/posts/purism-collaborates-with-cryptocurrency-monero-to-enable-mobile-payments/">Monero</a>, <a href="https://puri.sm/posts/librem5-gnome-and-kde-collaboration/">GNOME and KDE</a></li>
</ol>
</li>
</ol>
<p>Purism has some lofty goals that seem more attainable with each advancement that we make. Our pace for these achievements is already impressive, and we plan on maintaining and exceeding that pace in 2018. This coming year, we plan to:</p>
<ul>
<li>Release the development board for the Librem 5 phone.</li>
<li>Produce great documentation for developers to write applications into PureOS (or any GNU/Linux based OS) for the Librem 5 phone.</li>
<li>Attend significantly more conferences and events; this lets us meet long-standing collaborators, improves our own knowledge, and also lets us raise awareness about our ideals and approaches to solving long-standing challenges in the industry.</li>
<li>Release our Purist Ethical Services offering (more news on this later).</li>
<li>Advance the Librem 15 and Librem 13 laptops into a version 4 model.</li>
<li>Release the much-awaited Librem tablet.</li>
<li>Release TPM + Heads as a &#8220;turn-key&#8221; product on our devices.</li>
</ul>
<p>Things are off to a great start in 2018 and we hope you are as excited as we are to push forward the causes of freedom, security and privacy—principles that we hold as dearly as you do.</p>
<p>Happy New Year from your friends at Purism <a href="https://puri.sm/about/social-purpose/">SPC</a>!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/happy-new-year-purism-goals-for-2018/">Happy New Year! Purism Goals for 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Attends Chaos Communication Congress</title>
		<link>https://puri.sm/posts/purism-attends-chaos-communication-congress/</link>
		<pubDate>Fri, 22 Dec 2017 17:49:43 +0000</pubDate>
		<dc:creator><![CDATA[Jonathan Duchnowski]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=46159</guid>
		<description><![CDATA[<p>We are attending the Chaos Communication Congress between December 27th &#8211; 30th in Leipzig, Germany. This is one of the largest gatherings of people who are interested in computer security, cryptography, privacy, and free speech in the world. Two of our staff will be attending the event. Youness Alaoui and Zlatan Todoric hope to connect [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-attends-chaos-communication-congress/">Purism Attends Chaos Communication Congress</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<figure id="attachment_46271" style="width: 154px" class="wp-caption alignright"><img class="wp-image-46271 size-full" src="https://puri.sm/wp-content/uploads/2017/12/l_chaosknoten_1.png" alt="" width="154" height="69" /><figcaption class="wp-caption-text">Chaos Computer Club hosts the CCC</figcaption></figure>
<p>We are attending the Chaos Communication Congress between December 27th &#8211; 30th in Leipzig, Germany. This is one of the largest gatherings of people who are interested in computer security, cryptography, privacy, and free speech in the world.</p>
<p>Two of our staff will be attending the event. Youness Alaoui and Zlatan Todoric hope to connect with those going or who are interested in learning more about the Congress. Please contact them on #Purism IRC channel on Freenode. Zlatan&#8217;s handle is <em>zlatan</em>, and Youness&#8217; handle is <em>KaKaRoTo</em>.</p>
<p>They can&#8217;t wait to meet you at the Chaos Communication Congress!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-attends-chaos-communication-congress/">Purism Attends Chaos Communication Congress</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>FSF adds PureOS to list of endorsed GNU/Linux distributions</title>
		<link>https://puri.sm/posts/fsf-endorses-pureos/</link>
		<pubDate>Thu, 21 Dec 2017 16:00:44 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=46143</guid>
		<description><![CDATA[<p>BOSTON, Massachusetts, USA — Thursday, December 21, 2017 — The Free Software Foundation (FSF) today announced the addition of PureOS to its list of recommended GNU/Linux distributions. The FSF&#8217;s list showcases GNU/Linux operating system distributions whose developers have made a commitment to follow its Guidelines for Free System Distributions. Each one includes and endorses exclusively [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/fsf-endorses-pureos/">FSF adds PureOS to list of endorsed GNU/Linux distributions</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>BOSTON, Massachusetts, USA — Thursday, December 21, 2017 — The Free Software Foundation (FSF) today <a href="https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1" target="_blank" rel="noopener">announced</a> the addition of PureOS to its list of recommended GNU/Linux distributions.</p>
<p><a href="http://www.gnu.org/distros/free-distros.html" target="_blank" rel="noopener">The FSF&#8217;s list</a> showcases GNU/Linux operating system distributions whose developers have made a commitment to follow its <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html" target="_blank" rel="noopener">Guidelines for Free System Distributions</a>. Each one includes and endorses exclusively free &#8220;as in freedom&#8221; software.</p>
<p>After extensive evaluation and many iterations, the FSF concluded that <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a>, a modern and user-friendly Debian-derived distribution, meets these criteria.</p>
<p><img class="size-full wp-image-46147 aligncenter" src="https://puri.sm/wp-content/uploads/2017/12/pureos-logo-small.png" alt="" width="190" height="50" /></p>
<p><img class="aligncenter size-full wp-image-46148" src="https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases.jpg" alt="" width="1920" height="1080" srcset="https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases.jpg 1920w, https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2017/12/PureOS-2017-screenshot-for-press-releases-1024x576.jpg 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<blockquote><p>&#8220;The FSF&#8217;s high standards for distributions help users know which ones will honor their desire to be fully in control of their computers and devices. These standards also help drive the development work needed to make the free world&#8217;s tools more practical and powerful than the proprietary dystopia exemplified by Windows, iOS, and Chrome. PureOS is living—and growing—proof that you can meet ethical standards while also achieving excellence in user experience,&#8221; said John Sullivan, FSF&#8217;s executive director.</p>
<p>&#8220;PureOS is a GNU operating system that embodies privacy, security, and convenience strictly with free software throughout. Working with the Free Software Foundation in this multi-year endorsement effort solidifies our longstanding belief that free software is the nucleus for all things ethical for users. Using PureOS ensures you are using an ethical operating system, committed to providing the best in privacy, security, and freedom,&#8221; said Todd Weaver, Founder &amp; CEO of Purism.</p></blockquote>
<p>FSF&#8217;s licensing and compliance manager, Donald Robertson, added,</p>
<blockquote><p>&#8220;An operating system like PureOS is a giant collection of software, much of which in the course of use encourages installation of even more software like plugins and extensions. Issues are inevitable, but the team behind PureOS worked incredibly hard to fix everything we identified. They didn&#8217;t just fix the issues for their own distribution—they sent fixes upstream, and are developing new extension &#8216;store&#8217; mechanisms that won&#8217;t recommend nonfree software to users. Our endorsement means we are confident not just in the current state of affairs, but also in the team&#8217;s commitment to quickly address any problems that do arise.&#8221;</p></blockquote>
<p>PureOS is developed through a combination of volunteer contributions and work funded by the company Purism. The FSF&#8217;s announcement today is about the PureOS distribution, which can be installed by users on many kinds of computers and devices. It is not a certification of any particular hardware shipping with PureOS. Any such endorsements will be announced separately as part of the FSF&#8217;s <a href="https://fsf.org/ryf" target="_blank" rel="noopener">Respects Your Freedom</a> device certification program.</p>
<h1>About the FSF</h1>
<p><img class="alignright" src="https://upload.wikimedia.org/wikipedia/commons/4/4a/Free_Software_Foundation_logo_and_wordmark.svg" alt="" width="498" height="58" />The Free Software Foundation, founded in 1985, is dedicated to promoting computer users&#8217; right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software—particularly the GNU operating system and its GNU/Linux variants—and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at fsf.org and gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF&#8217;s work can be made at <a href="https://donate.fsf.org/" target="_blank" rel="noopener">donate.fsf.org</a>. Its headquarters are in Boston, MA, USA. More information about the FSF, as well as important information for journalists and publishers, is at <a href="https://www.fsf.org/press" target="_blank" rel="noopener">fsf.org/press</a>.</p>
<h3>About the GNU Operating System and Linux</h3>
<p>Richard Stallman announced in September 1983 the plan to develop a free software Unix-like operating system called GNU. GNU is the only operating system developed specifically for the sake of users&#8217; freedom. See <a href="https://www.gnu.org/gnu/the-gnu-project.html" target="_blank" rel="noopener">gnu.org/gnu/the-gnu-project.html</a>.</p>
<p>In 1992, the essential components of GNU were complete, except for one, the kernel. When in 1992 the kernel Linux was re-released under the GNU GPL, making it free software, the combination of GNU and Linux formed a complete free operating system, which made it possible for the first time to run a PC without nonfree software. This combination is the GNU/Linux system. For more explanation, see <a href="https://www.gnu.org/gnu/gnu-linux-faq.html" target="_blank" rel="noopener">the GNU FAQ entry about Linux</a>.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p><strong>Donald Robertson, III</strong><br />
Licensing &amp; Compliance Manager, Free Software Foundation<br />
+1 (617) 542 5942<br />
<a href="mailto:licensing@fsf.org">licensing@fsf.org</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/fsf-endorses-pureos/">FSF adds PureOS to list of endorsed GNU/Linux distributions</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>PureOS now features AppArmor activated by default</title>
		<link>https://puri.sm/posts/pureos-apparmor-activated-by-default/</link>
		<pubDate>Wed, 20 Dec 2017 22:07:47 +0000</pubDate>
		<dc:creator><![CDATA[Jonathan Duchnowski]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=45057</guid>
		<description><![CDATA[<p>Purism, the Social Purpose Corporation focused on software freedom, privacy and security, proves it is dedicated to making its products secure straight off of the factory floor. Now, new PureOS installations (including those provided with Librem devices) have AppArmor activated by default. Let us first look at what AppArmor is, and then why we chose [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureos-apparmor-activated-by-default/">PureOS now features AppArmor activated by default</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism, the Social Purpose Corporation focused on software freedom, privacy and security, proves it is dedicated to making its products secure straight off of the factory floor. Now, new PureOS installations (including those provided with Librem devices) have <strong>AppArmor activated by default. </strong>Let us first look at what AppArmor is, and then why we chose it specifically to strengthen PureOS.<span id="more-45057"></span></p>
<h1>What is AppArmor, technically speaking?</h1>
<p><img class="wp-image-46165 alignright" src="https://puri.sm/wp-content/uploads/2017/12/1_Z5dyJHln1PvCE3HYZLOAKA-300x140.png" alt="" width="374" height="175" srcset="https://puri.sm/wp-content/uploads/2017/12/1_Z5dyJHln1PvCE3HYZLOAKA-300x140.png 300w, https://puri.sm/wp-content/uploads/2017/12/1_Z5dyJHln1PvCE3HYZLOAKA.png 450w" sizes="(max-width: 374px) 100vw, 374px" /></p>
<p>AppArmor falls into a category of security software called Mandatory Access Control (MAC) enacted through a Linux Security Module (LSM).</p>
<p>MAC is a security protocol that restrains the ability of individual resource owners to grant or deny access to objects in a computer system which is accomplished by defining criteria from the System Administrator to be enforced by the Operating System. The key factor that makes this protocol very secure is that access control policies cannot be altered by end users since the policies bypass user and application settings which might inadvertently or purposefully violate system security. All applications installed on a system with MAC have access control policies that interact directly with the kernel. On GNU/Linux systems the only user capable of making changes to the Operating System kernel is an administrator account, or Root, which means that unprivileged user accounts cannot override system critical settings. This is a primary reason GNU/Linux is commonly considered one of the most secure Operating Systems available.</p>
<p>Linux Security Modules are an integrated part of the Linux kernel&#8217;s modularity. Kernel modules are software loadable on demand if and when the functionality they provide is required or requested, such as device drivers. Modules provide a couple of benefits:</p>
<ol>
<li>One benefit is reducing the overall size of the mainline kernel based only on system needs, which reduces storage space requirements, CPU and RAM usage.</li>
<li>The second benefit is the ability to activate and deactivate modules on an active system without rebooting the entire system. You may have heard of this function before as &#8216;hotplugging&#8217; devices.</li>
<li>Security modules allow freedom of choice to your system administrators by allowing Root user access to define which access control software to use. As with all kernel modules this functionality is optional and your computer will continue to function with LSM disabled.</li>
</ol>
<p>AppArmor is one of the MACs included in the mainline Linux kernel as an optional LSM and it is the one that Purism deemed excellent enough to protect their Librem devices.</p>
<h1>Why AppArmor?</h1>
<p>Now that we&#8217;ve gotten past all of the technical details we can address the obvious burning question: <em>Why?</em></p>
<p>In theory, software developers try to write stable programs that <em>shouldn&#8217;t</em> exploit your system. In practice, all software has bugs, and even though developers do their best to debug their code before release, there is always the <em>possibility</em> of bugs having gone unnoticed and turning into security issues. A lot of security issues stem from the fact that the person coding your word processor or music player isn&#8217;t necessarily a hardware or security expert. A software developer for desktop applications may not intend on allowing exploitable code into their applications, but to err is human, and so it <em>can</em> happen.</p>
<p>AppArmor can be thought of as &#8220;immunization&#8221; for your Operating System, using the concept of &#8220;minimum privilege required&#8221; applied on a case by case basis for each application profiled. This means that protected applications are selected through evaluation of system risk.</p>
<p>Of course, fundamentally, any type of MAC limits an end-user&#8217;s ability to use their computer. The general tendency for many users of other security systems has been to disable security functions that potentially affect ease-of-use, calling them unnecessarily strict. This situation happens often in situations where users are left &#8220;on their own&#8221; without a support team or IT department to set up and monitor security protocols; a system administrator can adjust access control profiles to ensure applications perform correctly with security still in place. This is where AppArmor shines: the intuitive nature of profile authoring as well as excellent technical documentation allows efficient generation and testing security policies, and the Purism R&amp;D team takes on the job of doing this work for you in PureOS so that you can use PureOS worry-free.</p>
<p>AppArmor is <a href="https://en.wikipedia.org/wiki/Free_and_open-source_software" target="_blank" rel="noopener">Free software</a>, which is important to Purism&#8217;s ethics. Access to source code allows auditing code which ensures you that no malicious code is in your system, but it also allows for rapid bug identification and fixing. This is important since the pace of software development is currently very fast. Proprietary operating systems may claim to have native system security in place in their core, but you would never know if it really exists or works as promised because you can&#8217;t audit their code. We&#8217;re not that kind of company! Purism cares to provide users&#8217; privacy and security that they can <em>trust,</em> and this requires users to be allowed to access the source code if they want to.</p>
<p>This is why the Purism development team worked hard to set up AppArmor so that it can be activated by default in PureOS, so that every Librem device that gets shipped is as secure and trustworthy as it should be.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureos-apparmor-activated-by-default/">PureOS now features AppArmor activated by default</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>We love Ethical Design</title>
		<link>https://puri.sm/posts/we-love-ethical-design/</link>
		<pubDate>Sat, 09 Dec 2017 08:37:50 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=45556</guid>
		<description><![CDATA[<p>In our wish to bring our contribution to the betterment of society, wherever we plan to work on refining our products or existing software, we will conform to the Ethical Design Manifesto. Our philosophy and social purpose have always been in perfect unison with the principles stated in the Ethical Design Manifesto, and having it [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/we-love-ethical-design/">We love Ethical Design</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-45558" src="https://puri.sm/wp-content/uploads/2017/12/ethical-design-badge-small.png" alt="" width="563" height="500" srcset="https://puri.sm/wp-content/uploads/2017/12/ethical-design-badge-small.png 563w, https://puri.sm/wp-content/uploads/2017/12/ethical-design-badge-small-300x266.png 300w" sizes="(max-width: 563px) 100vw, 563px" /><br />
In our wish to bring our contribution to the betterment of society, wherever we plan to work on refining our products or existing software, we will conform to the <a href="https://ind.ie/ethical-design/" target="_blank" rel="noopener">Ethical Design Manifesto</a>. Our philosophy and <a href="https://puri.sm/about/social-purpose/">social purpose</a> have always been in perfect unison with the principles stated in the Ethical Design Manifesto, and having it as part of our internal design team&#8217;s policy is a good way to make sure that we always keep it in mind.</p>
<h2>What is Ethical Design?</h2>
<p>The goal of &#8220;ethical&#8221; design is to develop technology that is respectful of human beings whoever they are. It encourages the adoption of ethical business models and, all together, it is favoring a more ethical society.</p>
<p><img class="alignright size-medium wp-image-45557" src="https://puri.sm/wp-content/uploads/2017/12/ethical-design-manifesto.png" alt="" width="550" srcset="https://puri.sm/wp-content/uploads/2017/12/ethical-design-manifesto.png 652w, https://puri.sm/wp-content/uploads/2017/12/ethical-design-manifesto-300x202.png 300w" sizes="(max-width: 652px) 100vw, 652px" />According to the manifesto, ethical design aims to respect:</p>
<ul>
<li><strong>Human Rights</strong>: <em>&#8220;Technology that respects human rights is decentralised, peer-to-peer, zero-knowledge, end-to-end encrypted, free and open source, interoperable, accessible, and sustainable. It respects and protects your civil liberties, reduces inequality, and benefits democracy.&#8221;</em></li>
<li><strong>Human Effort</strong>: <em>&#8220;Technology that respects human effort is functional, convenient, and reliable. It is thoughtful and accommodating; not arrogant or demanding. It understands that you might be distracted or differently-abled. It respects the limited time you have on this planet.&#8221;</em></li>
<li><strong>Human Experience</strong>: <em>&#8220;Technology that respects human experience is beautiful, magical, and delightful. It just works. It’s intuitive. It’s invisible. It recedes into the background of your life. It gives you joy. It empowers you with superpowers. It puts a smile on your face and makes your life better.&#8221;</em></li>
</ul>
<h2>Growing the seed of an ethical society</h2>
<p>Working towards an &#8220;ethical society&#8221; may sound like fighting windmills. I personally see it as a global, constant yet disorganized wish that nonetheless tends to materialize from time to time through a common concerted effort. I don&#8217;t think that this effort is about changing some thing because of its unethical nature; it has nothing to do with a fight. Instead, it is about growing the seed of a more ethical thing that would exist next to it.</p>
<p>In line with this goal and <a href="https://puri.sm/about/social-purpose/">our social purpose</a> is the fact that we aim to work in an &#8220;upstream first&#8221; way as part of the Free Software community; in order to contribute to the common effort toward growing this ethical seed, any software development and improvement on top of an existing project is intended to be discussed and co-developed <em>upstream first.</em> We don&#8217;t want to reinvent the wheel and fork existing projects just because we don&#8217;t like the colors of the paint on the wall! This would only fraction the community&#8217;s resources and add confusion for users.</p>
<p>There are so many amazing free software projects that share our philosophy, and we hope to contribute while also ensuring these pieces of software respect human rights, human effort and human experience. These are my guiding principles for Purism&#8217;s UI and UX design projects.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/we-love-ethical-design/">We love Ethical Design</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Le Capitole du Libre 2017</title>
		<link>https://puri.sm/posts/le-capitole-du-libre-2017/</link>
		<pubDate>Fri, 01 Dec 2017 15:27:34 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=44777</guid>
		<description><![CDATA[<p>Artwork by David Revoy A great weekend. A few days ago, I was at Le Capitole du Libre which is one of the main free software events in France. The event was a real success for everyone involved. There were more people than last year, the organization was amazing and I had a very good [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/le-capitole-du-libre-2017/">Le Capitole du Libre 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: right;"><img class="aligncenter size-large wp-image-44780" src="https://puri.sm/wp-content/uploads/2017/11/2017-06-23_capitole-du-libre_mini_by-David-Revoy-1000x1024.jpg" alt="" width="960" height="983" srcset="https://puri.sm/wp-content/uploads/2017/11/2017-06-23_capitole-du-libre_mini_by-David-Revoy-1000x1024.jpg 1000w, https://puri.sm/wp-content/uploads/2017/11/2017-06-23_capitole-du-libre_mini_by-David-Revoy-293x300.jpg 293w, https://puri.sm/wp-content/uploads/2017/11/2017-06-23_capitole-du-libre_mini_by-David-Revoy-768x787.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /><br />
<em>Artwork by David Revoy</em></p>
<h2>A great weekend.</h2>
<p><a href="https://puri.sm/wp-content/uploads/2017/11/capitole-debate.jpg"><img class="alignright wp-image-44791 size-medium" src="https://puri.sm/wp-content/uploads/2017/11/capitole-debate-300x224.jpg" alt="" width="300" height="224" srcset="https://puri.sm/wp-content/uploads/2017/11/capitole-debate-300x224.jpg 300w, https://puri.sm/wp-content/uploads/2017/11/capitole-debate-768x574.jpg 768w, https://puri.sm/wp-content/uploads/2017/11/capitole-debate-1024x765.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a>A few days ago, I was at Le Capitole du Libre which is one of the main free software events in France. The event was a real success for everyone involved. There were more people than last year, the organization was amazing and I had a very good time with some very nice people.</p>
<p>There were many interesting talks and workshops ranging from purely technical to more philosophical and political subjects like &#8220;The Current State of Free Software in our Society&#8221;, which was the closing day debate on Saturday evening. It involved great names from the French free software community. As you can see from the picture, the talk was accessible to the deaf and so the event had a few sign language translators present. Big thumbs up for that!</p>
<p>Jonas, from the Purism team, joined me to give a talk as part of <a href="https://wiki.debian.org/MiniDebConf">MiniDebConf</a> (an event within an event).<br />
As for myself, I was representing Purism with a booth that was showing the Librem 13 and Librem 15 as well as promoting the upcoming Librem 5.</p>
<h2><img class="alignleft size-medium wp-image-44779" src="https://puri.sm/wp-content/uploads/2017/11/photo_4-300x224.jpg" alt="" width="300" height="224" srcset="https://puri.sm/wp-content/uploads/2017/11/photo_4-300x224.jpg 300w, https://puri.sm/wp-content/uploads/2017/11/photo_4-768x574.jpg 768w, https://puri.sm/wp-content/uploads/2017/11/photo_4-1024x765.jpg 1024w, https://puri.sm/wp-content/uploads/2017/11/photo_4.jpg 1296w" sizes="(max-width: 300px) 100vw, 300px" />Representing Purism.</h2>
<p>There was a lot of interest for the Purism booth and a lot of excitement for the Librem 5. Over the 2 day event I hadn&#8217;t stopped answering questions about our products and philosophy.</p>
<p>One of the most recurring topics was about the availability of a French keyboard layout and the availability of the Librem laptops in Europe, especially in France.</p>
<p>This issue is slowly making progress as we currently have a <a href="https://www.floss-shop.de/">reseller</a> in Germany who is at this time not able to deliver outside of Germany. Regarding the reseller, I want to clarify that I may have given some people the impression that their prices were the same as in the USA, but this is not the case. I didn&#8217;t have those prices with me at the time of the event, and the prices in Euros are indeed including the German VAT. I am sorry about the confusion.</p>
<p>We are still in the process of finding a reseller who would deliver to France and other European countries and I suspect the French keyboard layout will happen concurrently with that. Hopefully, these changes will happen some time in 2018 as the Laptop sales and the demand in Europe keep growing.</p>
<p>Anyway, as I mentioned during the event please don&#8217;t hesitate to get in touch with us through our <a href="https://forums.puri.sm/">forum</a> or by email if you have any questions or feedback.</p>
<p>Thank you everyone. I had a great time. See you next year! 🙂</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/le-capitole-du-libre-2017/">Le Capitole du Libre 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>A Primer Guide to Reverse Engineering</title>
		<link>https://puri.sm/posts/primer-to-reverse-engineering/</link>
		<pubDate>Fri, 17 Nov 2017 20:00:15 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Reverse engineering]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=43843</guid>
		<description><![CDATA[<p>Over the years, many people asked me to teach them what I do, or to explain to them how to reverse engineer assembly code in general. Sometimes I hear the infamous &#8220;How hard can it be?&#8221; catchphrase. Last week someone I was discussing with thought that the assembly language is just like a regular programming [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/primer-to-reverse-engineering/">A Primer Guide to Reverse Engineering</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><!--Recently, I've finished <strong>reverse engineering the Intel FSP-S "entry" code,</strong> that is from the entry point (FspSiliconInit) all the way to the end of the function and all the subfunctions that it calls. This is only some initial foray into reverse engineering the FSP as a whole, but reverse engineering is something that takes a lot of time and effort. Today's blog post is here to illustrate that, and to lay the foundations for understanding what I've done with the FSP code (in a future blog post).

-->Over the years, many people asked me to teach them what I do, or to explain to them how to reverse engineer assembly code in general. Sometimes I hear the infamous &#8220;How hard can it be?&#8221; catchphrase. Last week someone I was discussing with thought that the assembly language is just like a regular programming language, but in binary form—it&#8217;s easy to make that mistake if you&#8217;ve never seen what assembly is or looks like. Historically, I&#8217;ve always said that reverse engineering and ASM is &#8220;too complicated to explain&#8221; or that &#8220;If you need help to get started, then you won&#8217;t be able to finish it on your own&#8221; and various other vague responses—I often wanted to explain to others why I said things like that but I never found a way to do it. You see, when something is complex, it&#8217;s easy to say that it&#8217;s complex, but it&#8217;s much harder to explain to people <em>why</em> it&#8217;s complex.</p>
<p>I was lucky to recently stumble onto a little function while reverse engineering<!-- the Intel FSP,--> a function that was both simple and complex, where figuring out what it does was an interesting challenge that I can easily walk you through. This function wasn&#8217;t a difficult thing to understand, and by far, it&#8217;s not one of the hard or complex things to reverse engineer, but this one is &#8220;small and complex enough&#8221; that it&#8217;s a perfect example to explain, without writing an entire book or getting into the more complex aspects of reverse engineering. So <strong>today&#8217;s post serves as a &#8220;primer&#8221; guide to reverse engineering</strong> for all of those interested in the subject. <strong>It is a required read in order to understand the next blog posts I would be writing about reverse engineering.</strong> </p>
<p><strong>Note:</strong> some function and component names in this blog post have been scrambled, with names such as &#8220;BOB&#8221;, &#8220;ALICE&#8221; and &#8220;QUEEN&#8221;.</p>
<p>Ready? Strap on your geek helmet and let&#8217;s get started!</p>
<hr class="ttfmake-hr" style="border-style: dashed; border-top-width: 2px;" />
<p><strong>DISCLAIMER</strong>: I might make false statements in the blog post below, some by mistake, some intentionally for the purpose of vulgarizing the explanations. For example, when I say below that there are 9 registers in X86, I know there are more (SSE, FPU, or even just the DS or EFLAGS registers, or purposefully not mentioning EAX instead of RAX, etc.), but I just don&#8217;t want to complicate matters by going too wide in my explanations.</p>
<hr class="ttfmake-hr" style="border-style: dashed; border-top-width: 2px;" />
<h1>A prelude</h1>
<p>First things first, you need to understand some basic concepts, such as &#8220;what is ASM exactly&#8221;. I will explain some basic concepts but not <em>all</em> the basic concepts you might need. I will assume that you know at least what a programming language is and know how to write a simple &#8220;hello world&#8221; in at least one language, otherwise you&#8217;ll be completely lost.</p>
<p>So, ASM is the Assembly language, but it&#8217;s not the actual binary code that executes on the machine. It is however, very similar to it. To be more exact, the assembly language is a textual representation of the binary instructions given to the microprocessor. You see, when you compile your regular C program into an executable, the compiler will transform all your code into some very, very, very basic instructions. Those instructions are what the CPU will understand and execute. By combining a lot of small, simple and specific instructions, you can do more complex things. That&#8217;s the basis of any programming language, of course, but with assembly, the building blocks that you get are very limited. Before I&#8217;ll talk about instructions, I want to explain two concepts first which you&#8217;ll need to follow the rest of the story.</p>
<h2>The stack</h2>
<p>First I&#8217;ll explain what &#8220;the stack&#8221; is.  You may have heard of it before, or maybe you didn&#8217;t, but the important thing to know is that when you write code, you have two types of memory:</p>
<ul>
<li>The first one is your &#8220;dynamic memory&#8221;, that&#8217;s when you call &#8216;malloc&#8217; or &#8216;new&#8217; to allocate new memory, this goes from your RAM upward (or left-to-right), in the sense that if you allocate 10 bytes, you&#8217;ll first get address 0x1000 for example, then when you allocate another 30 bytes, you&#8217;ll get address 0x100A, then if you allocate another 16 bytes, you&#8217;ll get 0x1028, etc.</li>
<li>The second type of memory that you have access to is the <em>stack,</em> which is different, instead it grows downward (or right-to-left), and it&#8217;s used to store local variables in a function. So if you start with the stack at address 0x8000, then when you enter a function with 16 bytes worth of local variables, your stack now points to address 0x7FF0, then you enter another function with 64 bytes worth of local variables, and your stack now points to address 0x7FB0, etc. The way the stack works is by &#8220;stacking&#8221; data into it, you &#8220;push&#8221; data in the stack, which puts the variable/data into the stack and moves the stack pointer down, you can&#8217;t remove an item from anywhere in the stack, you can always only remove (pop) the last item you added (pushed). A stack is actually an abstract type of data, like a list, an array, a dictionary, etc. You can read more about what a stack is on <a href="https://en.wikipedia.org/wiki/Stack_(abstract_data_type)">wikipedia</a> and it shows you how you can add and remove items on a stack with this image:</li>
</ul>
<p><img class="alignnone size-medium" src="https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png" width="773" height="540" /></p>
<p>The image shows you what we call a LIFO (Last-In-First-Out) and that&#8217;s what a stack is. In the case of the computer&#8217;s stack, it grows downward in the RAM (as opposed to upward in the above image) and is used to store local variables as well as the return address for your function (the instruction that comes after the call to your function in the parent function). So when you look at a stack, you will see multiple &#8220;frames&#8221;, you&#8217;ll see your current function&#8217;s stack with all its variables, then the return address of the function that called it, and above it, you&#8217;ll see the previous function&#8217;s frame with its own variables and the address of the function that called it, and above, etc. all the way to the main function which resides at the top of the stack.</p>
<p>Here is another image that exemplifies this:</p>
<p><img class="alignnone size-medium" src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/ProgramCallStack2_en.png/350px-ProgramCallStack2_en.png" width="350" height="416" /></p>
<h2>The registers</h2>
<p>The second thing I want you to understand is that the processor has multiple &#8220;registers&#8221;. You can think of a register as a variable, but there are only 9 total registers on x86, with only 7 of them usable. So, on the x86 processor, the various registers are: EAX, EBX, ECX, EDX, EDI, ESI, EBP, ESP, EIP.</p>
<p>There are two registers in there that are special:</p>
<ul>
<li>The EIP (Instruction Pointer) contains the address of the current instruction being executed.</li>
<li>The ESP (Stack Pointer) contains the address of the stack.</li>
</ul>
<p>Access to the registers is extremely fast when compared to accessing the data in the RAM (the stack also resides on the RAM, but towards the end of it) and most operations (instructions) have to happen on registers. You&#8217;ll understand more when you read below about instructions, but basically, you can&#8217;t use an instruction to say &#8220;add value A to value B and store it into address C&#8221;, you&#8217;d need to say &#8220;move value A into register EAX, then move value B into register EBX, then add register EAX to register EBX and store the result in register ECX, then store the value of register ECX into the address C&#8221;.</p>
<h2>The instructions</h2>
<p>Let&#8217;s go back to explaining instructions now. As I explained before, the instructions are the basic building blocks of the programs, and they are very simple, they take the form of:</p>
<pre>INS OP1, OP2, OP3</pre>
<p>Where &#8220;INS&#8221; is the instruction&#8221;, and OP1, OP2, OP3 is what we call the &#8220;operand&#8221;, most instructions will only take 2 operands, some will take no operands, some will take one operand and others will take 3 operands. The operands are usually registers. Sometimes, the operand can be an actual value (what we call an &#8220;immediate value&#8221;) like &#8220;1&#8221;, &#8220;2&#8221; or &#8220;3&#8221;, etc. and sometimes, the operand is a relative position from a register, like for example &#8220;[%eax + 4]&#8221; meaning the address pointed to by the %eax register + 4 bytes. We&#8217;ll see more of that shortly. For now, let&#8217;s give you the list of the most common and used instructions:</p>
<ul>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_176.html">MOV</a>&#8220;: move data from one operand into another</li>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_5.html">ADD</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_308.html">SUB</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_210.html">MUL</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_72.html">DIV</a>&#8220;: Add, Substract, Multiply, Divide one operand with another and store the result in a register</li>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_12.html">AND</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_219.html">OR</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_330.html">XOR</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_218.html">NOT</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_216.html">NEG</a>&#8220;: Perform logical and/or/xor/not/negate operations on the operand</li>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_285.html">SHL</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_285.html">SHR</a>&#8220;: Shift Left/Shift Right the bits in the operand</li>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_35.html">CMP</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_315.html">TEST</a>&#8220;: Compare one register with an operand</li>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_147.html">JMP</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_146.html">JZ</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_146.html">JNZ</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_146.html">JB</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_146.html">JS</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_146.html">etc</a>.&#8221;: Jump to another instruction (Jump unconditionally, Jump if Zero, Jump if Not Zero, Jump if Below, Jump if Sign, etc.)</li>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_269.html">PUSH</a>/<a href="https://x86.puri.sm/html/file_module_x86_id_248.html">POP</a>&#8220;: Push an operand into the stack, or pop a value from the stack into a register</li>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_26.html">CALL</a>&#8220;: Call a function. This is the equivalent of doing a &#8220;PUSH %EIP+4&#8221; + &#8220;JMP&#8221;. I&#8217;ll get into calling conventions later..</li>
<li>&#8220;<a href="https://x86.puri.sm/html/file_module_x86_id_280.html">RET</a>&#8220;: Return from a function. This is the equivalent of doing a &#8220;POP %EIP&#8221;</li>
</ul>
<p>That&#8217;s about it, that&#8217;s what most programs are doing. Of course, there&#8217;s a lot more instructions, you can see a full list <a href="https://x86.puri.sm/">here</a>, but you&#8217;ll see that most of the other instructions are very obscure or very specific or variations on the above instructions, so really, this represents most of the instructions you&#8217;ll ever encounter.</p>
<p>I want to explain one thing before we go further down: there is an additional register I didn&#8217;t mention before called the <a href="https://en.wikipedia.org/wiki/FLAGS_register">FLAGS register</a>, which is basically just a status register that contains &#8220;flags&#8221; that indicate when some arithmetic condition happened on the last arithmetic operation. For example, if you add 1 to 0xFFFFFFFF, it will give you &#8216;0&#8217; but the &#8220;<a href="https://en.wikipedia.org/wiki/Overflow_flag">Overflow flag</a>&#8221; will be set in the FLAGS register. If you substract 5 from 0, it will give you 0xFFFFFFFB and the &#8220;<a href="https://en.wikipedia.org/wiki/Sign_flag">Sign flag</a>&#8221; will be set because the result is negative, and if you substract 3 from 3, the result will be zero and the &#8220;<a href="https://en.wikipedia.org/wiki/Zero_flag">Zero flag</a>&#8221; will be set.</p>
<p>I&#8217;ve shown you the &#8220;CMP&#8221; instruction which is used to compare a register with an operand, but you might be wondering, &#8220;What does it mean exactly to &#8216;compare&#8217;?&#8221; Well, it&#8217;s simple, the CMP instruction is the same thing as the SUB instruction, in that, it substracts one operand from another, but the difference is that it doesn&#8217;t store the result anywhere. However, it does get your flags updated in the FLAGS register. For example, if I wanted to compare %EAX register with the value &#8216;2&#8217;, and %EAX contains the value 3, this is what&#8217;s going to happen: you will substract 2 from the value, the result will be 1, but you don&#8217;t care about that, what you care about is that the ZF (Zero flag) is not set, and the SF (Sign flag is not set), which means that %eax and &#8216;2&#8217; are not equal (otherwise, ZF would be set), and that the value in %eax is superior to 2 (because SF is not set), so you know that &#8220;%eax &gt; 2&#8221; and that&#8217;s what the CMP does.</p>
<p>The TEST instruction is very similar but it does a logical AND on the two operands for testing, so it&#8217;s used for comparing logical values instead of arithmetic values (&#8220;TEST %eax, 1&#8221; can be used to check if %eax contains an odd or even number for example).</p>
<p>This is useful because the next bunch of instructions I explained in the list above is conditional Jump instructions, like &#8220;JZ&#8221; (jump if zero) or &#8220;JB&#8221; (jump if below), or &#8220;JS&#8221; (jump if sign), etc. This is what is used to implement &#8220;if, for, while, switch/case, etc.&#8221; it&#8217;s as simple as doing a &#8220;CMP&#8221; followed by a &#8220;JZ&#8221; or &#8220;JNZ&#8221; or &#8220;JB&#8221;, &#8220;JA&#8221;, &#8220;JS&#8221;, etc.</p>
<p>And if you&#8217;re wondering what&#8217;s the difference between a &#8220;Jump if below&#8221; and &#8220;Jump if sign&#8221; and &#8220;Jump if lower&#8221;, since they all mean that the comparison gave a negative result, right? Well, the &#8220;jump if below&#8221; is used for unsigned integers, while &#8220;jump if lower&#8221; is used for signed integers, while &#8220;jump if sign&#8221; can be misleading. An unsigned 3 &#8211; 4 would give us a very high positive result&#8230;  something like that, in practice, JB checks the <a href="https://en.wikipedia.org/wiki/Carry_flag">Carry Flag</a>, while JS checks the <a href="https://en.wikipedia.org/wiki/Sign_flag">Sign Flag</a> and JL checks if the Sign Flag is equal to the <a href="https://en.wikipedia.org/wiki/Overflow_flag">Overflow flag</a>. See the <a href="https://x86.puri.sm/html/file_module_x86_id_146.html">Conditional Jump</a> page for more details.</p>
<h2>A practical example</h2>
<p>Here&#8217;s a very small and simple practical example, if you have a simple C program like this:</p>
<pre>int main() {
   return add_a_and_b(2, 3);
}

int add_a_and_b(int a, int b) {
   return a + b;
}</pre>
<p>It would compile into something like this:</p>
<pre>_main:
   push   3                ; Push the second argument '3' into the stack
   push   2                ; Push the first argument '2' into the stack
   call   _add_a_and_b     ; Call the _add_a_and_b function. This will put the address of the next
                           ; instruction (add) into the stack, then it will jump into the _add_a_and_b
                           ; function by putting the address of the first instruction in the _add_a_and_b
                           ; label (push %ebx) into the EIP register
   add    %esp, 8          ; Add 8 to the esp, which effectively pops out the two values we just pushed into it
   ret                     ; Return to the parent function.... 

_add_a_and_b:
   push   %ebx             ; We're going to modify %ebx, so we need to push it to the stack
                           ; so we can restore its value when we're done
   mov    %eax, [%esp+8]   ; Move the first argument (8 bytes above the stack pointer) into EAX
   mov    %ebx, [%esp+12]  ; Move the second argument (12 bytes above the stack pointer) into EBX
   add    %eax, %ebx       ; Add EAX and EBX and store the result into EAX
   pop    %ebx             ; Pop EBX to restore its previous value
   ret                     ; Return back into the main. This will pop the value on the stack (which was
                           ; the address of the next instruction in the main function that was pushed into
                           ; the stack when the 'call' instruction was executed) into the EIP register</pre>
<p>Yep, something as simple as that, can be quite complicated in assembly. Well, it&#8217;s not really that complicated actually, but a couple of things can be confusing.</p>
<p>You have only 7 usable registers, and one stack. Every function gets its arguments passed through the stack, and can return its return value through the %eax register. If every function modified every register, then your code will break, so every function has to ensure that the other registers are unmodified when it returns (other than %eax). You pass the arguments on the stack and your return value through %eax, so what should you do if need to use a register in your function? Easy: you keep a copy on the stack of any registers you&#8217;re going to modify so you can restore them at the end of your function. In the _<em>add_a_and_b </em>function, I did that for the %ebx register as you can see. For more complex function, it can get a lot more complicated than that, but let&#8217;s not get into that for now (for the curious: compilers will create what we call a &#8220;prologue&#8221; and an &#8220;epilogue&#8221; in each function. In the prologue, you store the registers you&#8217;re going to modify, set up the %ebp (base pointer) register to point to the base of the stack when your function was entered, which allows you to access things without keeping track of the pushes/pops you do throughout the function, then in the epilogue, you pop the registers back, restore %esp to the value that was saved in %ebp, before you return).</p>
<p>The second thing you might be wondering about is with these lines:</p>
<pre>mov %eax, [%esp+8]
mov %ebx, [%esp+12]</pre>
<p>And to explain it, I will simply show you this drawing of the stack&#8217;s contents when we call those two instructions above:</p>
<p><img class="alignnone size-medium wp-image-43904" src="https://puri.sm/wp-content/uploads/2017/11/stack-300x259.png" alt="" width="300" height="259" srcset="https://puri.sm/wp-content/uploads/2017/11/stack-300x259.png 300w, https://puri.sm/wp-content/uploads/2017/11/stack-768x664.png 768w, https://puri.sm/wp-content/uploads/2017/11/stack.png 898w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>For the purposes of this exercise, we&#8217;re going to assume that the _main function is located in memory at the address 0xFFFF0000, and that each instructoin is 4 bytes long (the size of each instruction can vary depending on the instruction and on its operands). So you can see, we first pushed 3 into the stack, %esp was lowered, then we pushed 2 into the stack, %esp was lowered, then we did a &#8216;call _add_a_and_b&#8217;, which stored the address of the next instruction (4 instructions into the main, so &#8216;_main+16&#8217;) into the stack and esp was lowered, then we pushed %ebx, which I assumed here contained a value of 0, and the %esp was lowered again. If we now wanted to access the first argument to the function (2), we need to access %esp+8, which will let us skip the saved %ebx and the &#8216;Return address&#8217; that are in the stack (since we&#8217;re working with 32 bits, each value is 4 bytes). And in order to access the second argument (3), we need to access %esp+12.</p>
<h2>Binary or assembly?</h2>
<p>One question that may (or may not) be popping into your mind now is &#8220;wait, isn&#8217;t this supposed to be the &#8216;computer language&#8217;, so why isn&#8217;t this binary?&#8221; Well, it is&#8230; in a way. As I explained earlier, &#8220;the assembly language is a textual representation of the binary instructions given to the microprocessor&#8221;, what it means is that those instructions are given to the processor as is, there is no transformation of the instructions or operands or anything like that. However, the instructions are given to the microprocessor in binary form, and the text you see above is just the textual representation of it.. kind of like how &#8220;68 65 6c 6c 6f&#8221; is the hexadecimal representation of the ASCII text &#8220;hello&#8221;. What this means is that each instruction in assembly language, which we call a &#8216;mnemonic&#8217; represents a binary instruction, which we call an &#8216;opcode&#8217;, and you can see the opcodes and mnemonics in the <a href="https://x86.puri.sm/">list</a> of x86 instructions I gave you above. Let&#8217;s take the <a href="https://x86.puri.sm/html/file_module_x86_id_26.html">CALL</a> instruction for example. The opcode/mnemonic list is shown as:</p>
<table class="box">
<tbody>
<tr>
<th>Opcode</th>
<th>Mnemonic</th>
<th>Description</th>
</tr>
<tr>
<td class="grid"><code>E8 cw</code></td>
<td class="grid"><code>CALL rel16</code></td>
<td class="grid">Call near, relative, displacement relative to next instruction</td>
</tr>
<tr>
<td class="grid"><code>E8 cd</code></td>
<td class="grid"><code>CALL rel32</code></td>
<td class="grid">Call near, relative, displacement relative to next instruction</td>
</tr>
<tr>
<td class="grid"><code>FF /2</code></td>
<td class="grid"><code>CALL r/m16</code></td>
<td class="grid">Call near, absolute indirect, address given in r/m16</td>
</tr>
<tr>
<td class="grid"><code>FF /2</code></td>
<td class="grid"><code>CALL r/m32</code></td>
<td class="grid">Call near, absolute indirect, address given in r/m32</td>
</tr>
<tr>
<td class="grid"><code>9A cd</code></td>
<td class="grid"><code>CALL ptr16:16</code></td>
<td class="grid">Call far, absolute, address given in operand</td>
</tr>
<tr>
<td class="grid"><code>9A cp</code></td>
<td class="grid"><code>CALL ptr16:32</code></td>
<td class="grid">Call far, absolute, address given in operand</td>
</tr>
<tr>
<td class="grid"><code>FF /3</code></td>
<td class="grid"><code>CALL m16:16</code></td>
<td class="grid">Call far, absolute indirect, address given in m16:16</td>
</tr>
<tr>
<td class="grid"><code>FF /3</code></td>
<td class="grid"><code>CALL m16:32</code></td>
<td class="grid">Call far, absolute indirect, address given in m16:32</td>
</tr>
</tbody>
</table>
<p>This means that this same &#8220;CALL&#8221; mnemonic can have multiple addresses to call. Actually, there are four different possitiblities, each having a 16 bits and a 32 bits variant. The first possibility is to call a function with a relative displacement (Call the function 100 bytes below this current position), or an absolute address given in a register (Call the function whose address is stored in %eax) or an absolute address given as a pointer (Call the function at address 0xFFFF0100), or an absolute address given as an offset to a segment (I won&#8217;t explain segments now). In our example above, the &#8220;call _add_a_and_b&#8221; was probably stored as a call relative to the current position with 12 bytes below the current instruction (4 bytes per instruction, and we have the CALL, ADD, RET instructions to skip). This means that the instruction in the binary file was encoded as &#8220;E8 00 00 00 0C&#8221; (The E8 opcode to mean a &#8220;CALL near, relative&#8221;, and the &#8220;00 00 00 0C&#8221; to mean 12 bytes relative to the current instruction). Now, the most observant of you have probably noticed that this CALL instruction takes 5 bytes total, not 4, but as I said above, we will assume it&#8217;s 4 bytes per instruction just for the sake of keeping things simple, but yes, the CALL (in this case) is 5 bytes, and other instructions will sometimes have more or less bytes as well.</p>
<p>I chose the CALL function above for example, because I think it&#8217;s the least complicated to explain.. other instructions have even more complicated opcodes and operands (See the <a href="https://x86.puri.sm/html/file_module_x86_id_5.html">ADD</a> and <a href="https://x86.puri.sm/html/file_module_x86_id_4.html">ADC</a> (Add with Cary) instructions for example, you&#8217;ll notice the same opcodes shared between them even, so they are the same instruction, but it&#8217;s easy to give them separate mnemonics to differentiate their behaviors).</p>
<p>Here&#8217;s a screenshot showing a side by side view of the Assembly of a function with the hexadecimal view of the binary:</p>
<p><img class="alignnone size-large wp-image-44228" src="https://puri.sm/wp-content/uploads/2017/11/ida_hex-1024x475.png" alt="" width="960" height="445" srcset="https://puri.sm/wp-content/uploads/2017/11/ida_hex-1024x475.png 1024w, https://puri.sm/wp-content/uploads/2017/11/ida_hex-300x139.png 300w, https://puri.sm/wp-content/uploads/2017/11/ida_hex-768x357.png 768w, https://puri.sm/wp-content/uploads/2017/11/ida_hex.png 1385w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<p>As you can see, I have my cursor on address 0xFFF6E1D6 on the assembly view on the left, which is also highlighted on the hex view on the right. That address is a CALL instruction, and you can see the equivalent hex of &#8220;E8 B4 00 00 00&#8221;, which means it&#8217;s a CALL near, relative (E8 being the opcode for it) and the function is 0xB4 (180) bytes below our current position of 0xFFF6E1D6.</p>
<p>If you open the file with a hexadecimal editor, you&#8217;ll only see the hex view on the right, but you need to put the file into a Disassembler (such as the IDA disassembler which I&#8217;m using here, but there are cheaper alternatives as well, <a href="https://en.wikibooks.org/wiki/X86_Disassembly/Disassemblers_and_Decompilers">the list</a> can be long), and the disassembler will interpret those binary opcodes to show you the textual assembly representation which is much much easier to read.</p>
<h1>Some actual reverse engineering</h1>
<p>Now that you have the basics, let&#8217;s do a quick reverse engineering exercise&#8230; This is a very simple function that I&#8217;ve reversed recently, it comes from the SiliconInit<!-- part of the FSP-->, and it&#8217;s used to validate the UPD configuration structure (used to tell it what to do).</p>
<p>Here is the Assembly code for that function:</p>
<p><img class="alignnone size-full wp-image-43908" src="https://puri.sm/wp-content/uploads/2017/11/validate_upd_config.png" alt="" width="854" height="660" srcset="https://puri.sm/wp-content/uploads/2017/11/validate_upd_config.png 854w, https://puri.sm/wp-content/uploads/2017/11/validate_upd_config-300x232.png 300w, https://puri.sm/wp-content/uploads/2017/11/validate_upd_config-768x594.png 768w" sizes="(max-width: 854px) 100vw, 854px" /></p>
<p>This was disassembled using <a href="https://www.hex-rays.com/products/ida/">IDA</a> 7.0 (The Interactive DisAssembler) which is an incredible (but expensive) piece of software. There are other disassemblers which can do similar jobs, but I prefer IDA personally. Let&#8217;s first explain what you see on the screen.</p>
<p>On the left side, you see &#8220;seg000:FFF40xxx&#8221; this means that we are in the segment &#8220;seg000&#8221; at the address 0xFFF40xxx. I won&#8217;t explain what a segment is, because you don&#8217;t need to know it. The <em>validate_upd_config</em> function starts at address 0xFFF40311 in the RAM, and there&#8217;s not much else to understand. You can see how the address increases from one instruction to the next, it can help you calculate the size in bytes that each instruction takes in RAM for example, if you&#8217;re curious of course&#8230; (the XOR is 2 bytes, the CMP is 2 bytes, etc.).</p>
<p>As you&#8217;ve seen in my previous example, anything after a semicolon (&#8220;;&#8221;) is considered a comment and can be ignored. The &#8220;CODE XREF&#8221; comments are added by IDA to tell us that this code has a cross-references (is being called by) some other code. So when you see &#8220;CODE XREF: validate_upd_config+9&#8221; (at 0xFF40363, the RETN instruction), it means this instruction is being called (referenced by) from the function validate_upd_config and the &#8220;+9&#8221; means 9 bytes into the function (so since the function starts at 0xFFF40311, it means it&#8217;s being called from the instruction at offset 0xFFF4031A. The little &#8220;up&#8221; arrow next to it means that it comes from above the current position in the code, and if you follow the grey lines on the left side of the screen, you can follow that call up to the address 0xFFF4031A which contains the instruction &#8220;jnz short locret_FFF40363&#8221;. I assume the &#8220;j&#8221; letter right after the up arrow is to tell us that the reference comes from a &#8220;jump&#8221; instruction.</p>
<p>As you can see in the left side of the screen, there are a lot of arrows, that means that there&#8217;s a lot of jumping around in the code, even though it&#8217;s not immediatly obvious. The awesome IDA software has a &#8220;layout view&#8221; which gives us a much nicer view of the code, and it looks like this:</p>
<p><img class="alignnone size-full wp-image-43911" src="https://puri.sm/wp-content/uploads/2017/11/validate_upd_config_graph.png" alt="" width="867" height="778" srcset="https://puri.sm/wp-content/uploads/2017/11/validate_upd_config_graph.png 867w, https://puri.sm/wp-content/uploads/2017/11/validate_upd_config_graph-300x269.png 300w, https://puri.sm/wp-content/uploads/2017/11/validate_upd_config_graph-768x689.png 768w" sizes="(max-width: 867px) 100vw, 867px" /></p>
<p>Now you can see each block of code separately in their own little boxes, with arrows linking all of the boxes together whenever a jump happens. The green arrows mean that it&#8217;s a conditional jump when the condition is successful, while the red arrows means the condition was not successful. This means that a &#8220;JZ&#8221; will show a green arrow towards the code it would jump to if the result is indeed zero, and a red arrow towards the block where the result is not zero. A blue arrow means that it&#8217;s an unconditional jump.</p>
<p>I usually always do my reverse engineering using the layout view, I find it much easier to read/follow, but for the purpose of this exercise, I will use the regular linear view instead, so I think it will be easier for you to follow with that instead. The reason is mostly because the layout view doesn&#8217;t display the address of each instruction, and it&#8217;s easier to have you follow along if I can point out exactly which instruction I&#8217;m looking it by mentioning its address.</p>
<p>Now that you know how to read the assembly code, you understand the various instructions, I feel you should be ready to reverse engineering this very simple assembly code (even though it might seem complex at first). I just need to give you the following hints first:</p>
<ul>
<li>Because I&#8217;ve already reversed engineering it, you get the beautiful name &#8220;validate_upd_config&#8221; for the function, but technically, it was simply called &#8220;sub_FFF40311&#8221;</li>
<li>I had already reverse engineered the function that called it so I know that this function is receiving its arguments in an unusual way. The arguments aren&#8217;t pushed to the stack, instead, the first argument is stored in %ecx, and the second argument is stored in %edx</li>
<li>The first argument (%ecx, remember?) is an enum to indicate what type of UPD structure to validate, let me help you out and say that type &#8216;3&#8217; is &#8220;ALICE&#8221; (The configuration structure for the QueenM<!--FSPM-->, the MemoryInit function), and that type &#8216;5&#8217; is &#8220;BOB&#8221; (The configuration structure for the QueenS<!--FSPS-->, the SiliconInit function).</li>
<li>Reverse engineering is really about reading one line at a time, in a sequential manner, keep track of which blocks you reversed and be patient. You can&#8217;t look at it and expect to understand the function by viewing the big picture.</li>
<li>It is very very useful in this case to have a dual monitor, so you can have one monitor for the assembly, and the other monitor for your C code editor. In my case, I actually recently bought an ultra-wide monitor and I split screen between my IDA window and my emacs window and it&#8217;s great. It&#8217;s hard otherwise to keep going back and forth between the assembly and the C code. That being said, I would suggest you do the same thing here and have a window on the side showing you the assembly image above (not the layout view) while you read the explanation on how to reverse engineer it below.</li>
</ul>
<p>Got it? All done? No? Stop sweating and hyperventilating&#8230; I&#8217;ll explain exactly how to reverse engineer this function in the next paragraph, and you will see how simple it turns out to be!</p>
<h2>Let&#8217;s get started!</h2>
<p>The first thing I do is write the function in C. Since I know the name and its arguments already, I&#8217;ll do that:</p>
<pre>void validate_upd_config (uint8_t action, void *config) {
}</pre>
<p>Yeah, there&#8217;s not much to it yet, and I set it to return &#8220;void&#8221; because I don&#8217;t know if it returns anything else, and I gave the first argument &#8220;action&#8221; as a &#8220;uint8_t&#8221; because in the parent function it&#8217;s used a single byte register (I won&#8217;t explain for now how to differentiate 1-byte, 2-bytes, 4-bytes and 8-bytes registers). The second argument is a pointer, but I don&#8217;t know it&#8217;s a pointer to what kind of structure exactly, so I just set it as a <em>void *</em>.</p>
<p>The first instruction is a &#8220;xor eax, eax&#8221;. What does this do? It XORs the eax register with the eax register and stores the result in the eax register itself, which is the same thing as &#8220;mov eax, 0&#8221;, because <em>1 XOR 1= 0</em> and <em>0 XOR 0 = 0</em>, so if every bit in the eax register is logically XORed with itself, it will give 0 for the result. If you&#8217;re asking yourself &#8220;Why did the compiler decide to do &#8216;xor eax, eax&#8217; instead of &#8216;mov eax, 0&#8217; ?&#8221; then the answer is simple: &#8220;Because it takes less CPU clock cycles to do a XOR, than to do a move&#8221;, which means it&#8217;s more optimized and it will run faster. Besides, the XOR takes 2 bytes as you can see above (the address of the instructions jumped from FFF40311 to FFF40313), while a &#8220;mov eax, 0&#8221; would have taken 5 bytes. So it also helps keep the code smaller.</p>
<p>Alright, so now we know that eax is equal to 0, let&#8217;s keep that in mind and move along (I like to keep track of things like that as comments in my C code). Next instruction does a &#8220;cmp ecx, 3&#8221;, so it&#8217;s comparing ecx, which we already know is our first argument (uint8_t action), ok, it&#8217;s a comparison, not much to do here, again let&#8217;s keep that in mind and continue&#8230; the next instruction does a &#8220;jnz short loc_FFF40344&#8221;, which is more interesting, so if the previous comparison is NOT ZERO, then jump to the label loc_FFF40344 (for now ignore the &#8220;short&#8221;, it just helps us differentiate between the various mnemonics, and it means that the jump is a relative offset that fits in a &#8220;short word&#8221; which means 2 bytes, and you can confirm that the jnz instruction does indeed take only 2 bytes of code). Great, so there&#8217;s a jump if the result is NOT ZERO, which means that if the result is zero, the code will just continue, which means if the ecx register (action variable) is EQUAL (substraction is zero) to 3, the code will continue down to the next instruction instead of jumping&#8230; let&#8217;s do that, and in the meantime we&#8217;ll update our C code:</p>
<pre>void validate_upd_config (uint8_t action, void *config) {
   // eax = 0
   if (action == 3) {
      // 0xFFF40318 
   } else {
      // loc_FFF40344
   }
}</pre>
<p>The next instruction is &#8220;test edx, edx&#8221;.  We know that the edx register is our second argument which is the pointer to the configuration structure. As I explained above, the &#8220;test&#8221; is just like a comparison, but it does an AND instead of a substraction, so basically, you AND edx with itself.. well, of course, that has no consequence, <em>1 AND 1 = 1</em>, and <em>0 AND 0 = 0</em>, so why is it useful to test a register against itself? Simply because the TEST will update our FLAGS register&#8230; so when the next instruction is &#8220;JZ&#8221; it basically means &#8220;Jump if the edx register was zero&#8221;&#8230; And yes, doing a &#8220;TEST edx, edx&#8221;  is more optimized than doing a &#8220;CMP edx, 0&#8221;, you&#8217;re starting to catch on, yeay!</p>
<p>And indeed, the next instruction is &#8220;jz locret_FFF40363&#8221;, so if the edx register is ZERO, then jump to locret_FFF40363, and if we look at that locret_FFF40363, it&#8217;s a very simple &#8220;retn&#8221; instruction. So our code becomes:</p>
<pre>void validate_upd_config (uint8_t action, void *config) {
  // eax = 0
  if (action == 3) {
    if (config == NULL)
       return; 
  } else {
    // loc_FFF40344
  }
}</pre>
<p>Next! Now it gets slightly more complicated&#8230; the instruction is: &#8220;cmp dword ptr [edx], 554C424Bh&#8221;, which means we do a comparison of a dword (4 bytes), of the data pointed to by the pointer edx, with no offset (&#8220;[edx]&#8221; is the same as saying &#8220;edx[0]&#8221; if it was a C array for example), and we compare it to the value 554C424Bh&#8230; the &#8220;h&#8221; at the end means it&#8217;s a hexadecimal value, and with experience you can quickly notice that the hexadecimal value is all within the ASCII range, so using a Hex to ASCII converter, we realize that those 4 bytes represent the ASCII letters &#8220;KBLU&#8221; (which is why I manually added them as a comment to that instruction, so I won&#8217;t forget). So basically the instruction compares the first 4 bytes of the structure (the content pointed to by the edx pointer) to the string &#8220;KBLU&#8221;. The next instruction does a &#8220;jnz loc_FFF4035E&#8221; which means that if the comparison result is NOT ZERO (so, if they are not equal) we jump to loc_FFF4035E.</p>
<p>Instead of continuing sequentially, I will see what that loc_FFF4035E contains (of course, I did the same thing in all the previous jumps, and had to decide if I wanted to continue reverse engineering the jump or the next instruction, in this case, it seems better for me to jump, you&#8217;ll see why soon). The loc_FFF4035E label contains the following instruction: &#8220;mov, eax, 80000002h&#8221;, which means it stores the value 0x80000002 into the eax register, and then it jumps to (not really, it just naturally flows to the next instruction which happens to be the label) locret_FFF40363, which is just a &#8220;retn&#8221;. This makes our code into this:</p>
<pre>uint32_t validate_upd_config (uint8_t action, void *config) {
  // eax = 0
  if (action == 3) {
    if (config == NULL)
       return 0; 
    if (((uint32_t *)config)[0] != 0x554C524B)
       return 0x80000002;
  } else {
    // loc_FFF40344
  }
}</pre>
<p>The observant here will notice that I&#8217;ve changed the function prototype to return a uint32_t instead of &#8220;void&#8221; and my previous &#8220;return&#8221; has become &#8220;return 0&#8221; and the new code has a &#8220;return 0x80000002&#8221;. That&#8217;s because I realized at this point that the &#8220;eax&#8221; register is used to return a uint32_t value. And since the first instruction was &#8220;xor eax, eax&#8221;, and we kept in the back of our mind that &#8220;eax is initialized to 0&#8221;, it means that the use case with the (config == NULL) will return 0. That&#8217;s why I made all these changes&#8230;</p>
<p>Very well, let&#8217;s go back to where we were, since we&#8217;ve exhausted this jump, we&#8217;ll jump back in reverse to go back to the address FFF40322 and continue from there to the next instruction. It&#8217;s a &#8220;cmp dword ptr [edx+4], 4D5F4450h&#8221;, which compares the dword at edx+4 to 0x4D5F4450, which I know to be the ASCII for &#8220;PD_M&#8221;; this means that the last 3 instructions are used to compare the first 8 bytes of our pointer to &#8220;KBLUPD_M&#8221;&#8230; ohhh, light bulb above our heads, it&#8217;s comparing the pointer to the Signature of the ALICE structure (don&#8217;t forget, you weren&#8217;t supposed to know that the function is called validate_upd_config, or that the argument is a config pointer&#8230; just that it&#8217;s a pointer)! OK, now it makes sense, and while we&#8217;re at it—and since we are, of course, reading the QUEEN integration guide PDF, we then also realize what the 0x80000002 actually means. At this point, our code now becomes:</p>
<pre>EFI_STATUS validate_upd_config (uint8_t action, void *config) {
  if (action == 3) {
    ALICE *upd = (ALICE *) config;
    if (upd == NULL)
       return EFI_SUCCESS; 
    if (upd-&gt;QueenUpdHeader.Signature != 0x4D5F4450554C524B /* 'KBLUPD_M'*/)
       return EFI_INVALID_PARAMETERS;
  } else {
    // loc_FFF40344
  }
}</pre>
<p>Yay, this is starting to look like something&#8230; Now you probably got the hang of it, so let&#8217;s do things a little faster now.</p>
<ul>
<li>The next line &#8220;cmp [edx+28h], eax&#8221; compares edx+0x28 to eax. Thankfully, we know now that edx points to the ALICE structure, and we can calculate that at offset 0x28 inside that structure, it&#8217;s the field StackBase within the QueenmArchUpd field&#8230;</li>
<li>and also, we still have in the back of our minds that &#8216;eax&#8217; is initialized to zero, so, we know that the next 2 instructions are just checking if upd-&gt;QueenmArchUpd.StackBase is == NULL.</li>
<li>Then we compare the StackSize with 0x26000, but the comparison is using &#8220;jb&#8221; for the jump, which is &#8220;jump if below&#8221;, so it checks if StackSize &lt; 0x26000,</li>
<li>finally it does a &#8220;test&#8221; with &#8220;edx+30h&#8221; (which is the BootloaderTolumSize field) and 0xFFF, then it does an unconditional jump to loc_FFF4035C, which itself does a &#8220;jz&#8221; to the return..</li>
<li>which means if (BootloaderTolumSize  &amp; 0xFFF  == 0) it will return whatever EAX contained (which is zero),</li>
<li>but if it doesn&#8217;t, then it will continue to the next instruction which is the &#8220;mov eax, 80000002h&#8221;.</li>
</ul>
<p>So, we end up with this code:</p>
<pre>EFI_STATUS validate_upd_config (uint8_t action, void *config) {
  // eax = 0
  if (action == 3) {
    ALICE *upd = (ALICE *) config;
    if (upd == NULL)
       return 0;
    if (upd-&gt;QueenUpdHeader.Signature != 0x4D5F4450554C524B /* 'KBLUPD_M'*/)
       return EFI_INVALID_PARAMETERS;
    if (upd-&gt;QueenmArchUpd.StackBase == NULL)
        return EFI_INVALID_PARAMETERS;
    if (upd-&gt;QueenmArchUpd.StackSize &lt; 0x2600)
        return EFI_INVALID_PARAMETERS;
    if (upd-&gt;QueenmArchUpd.BootloaderTolumSize &amp; 0xFFF)
        return EFI_INVALID_PARAMETERS;
  } else {
    // loc_FFF40344
  }
  return EFI_SUCCESS
}</pre>
<p>Great, we just solved half of our code! Don&#8217;t forget, we jumped one way instead of another at the start of the function, now we need to go back up and explore the second branch of the code (at offset 0xFFF40344). The code is very similar, but it checks for &#8220;KBLUPD_S&#8221; Signature, and nothing else. Now we can also remove any comment/notes we have (such as the note that eax is initialized to 0) and clean up, and simplify the code if there is a need.</p>
<p>So our function ends up being (this is the final version of the function):</p>
<pre>EFI_STATUS validate_upd_config (uint8_t action, void *config) {
  if (action == 3) {
    ALICE *upd = (ALICE *) config;
    if (upd == NULL)
       return EFI_SUCCESS;
    if (upd-&gt;QueenUpdHeader.Signature != 0x4D5F4450554C524B /* 'KBLUPD_M'*/)
       return EFI_INVALID_PARAMETERS;
    if (upd-&gt;QueenmArchUpd.StackBase == NULL)
        return EFI_INVALID_PARAMETERS;
    if (upd-&gt;QueenmArchUpd.StackSize &lt; 0x2600)
        return EFI_INVALID_PARAMETERS;
    if (upd-&gt;QueenmArchUpd.BootloaderTolumSize &amp; 0xFFF)
        return EFI_INVALID_PARAMETERS;
  } else {
    BOB *upd = (BOB *) config;
    if (upd == NULL)
        return EFI_SUCCESS;
    if (upd-&gt;QueenUpdHeader.Signature != 0x535F4450554C524B /* 'KBLUPD_S'*/)
        return EFI_INVALID_PARAMETERS;
  }
  return EFI_SUCCESS
}</pre>
<p>Now this wasn&#8217;t so bad, was it? I mean, it&#8217;s time consuming, sure, it can be a little disorienting if you&#8217;re not used to it, and you have to keep track of which branches (which blocks in the layout view) you&#8217;ve already gone through, etc. but the function turned out to be quite small and simple. After all, it was mostly only doing CMP/TEST and JZ/JNZ.</p>
<p>That&#8217;s pretty much all I do when I do my reverse engineering, I go line by line, I understand what it does, I try to figure out how it fits into the bigger picture, I write equivalent C code to keep track of what I&#8217;m doing and to be able to understand what happens, so that I can later figure out what the function does exactly&#8230; Now try to imagine doing that for hundreds of functions, some of them that look like this (random function taken from the QueenM module):</p>
<p><img class="alignnone size-full wp-image-44230" src="https://puri.sm/wp-content/uploads/2017/11/long_function.png" alt="" width="1147" height="770" srcset="https://puri.sm/wp-content/uploads/2017/11/long_function.png 1147w, https://puri.sm/wp-content/uploads/2017/11/long_function-300x201.png 300w, https://puri.sm/wp-content/uploads/2017/11/long_function-768x516.png 768w, https://puri.sm/wp-content/uploads/2017/11/long_function-1024x687.png 1024w" sizes="(max-width: 1147px) 100vw, 1147px" /></p>
<p>You can see on the right, the graph overview which shows the entirety of the function layout diagram. The part on the left (the assembly) is represented by the dotted square on the graph overview (near the middle). You will notice some arrows that are thicker than the others, that&#8217;s used in IDA to represent loops. On the left side, you can notice one such thick green line coming from the bottom and the arrow pointing to a block inside our view. This means that there&#8217;s a jump condition below that can jump back to a block that is above the current block and this is basically how you do a for/while loop with assembly, it&#8217;s just a normal jump that points backwards instead of forwards.</p>
<h1>Finally, the challenge!</h1>
<p>At the beginning of this post, I mentioned a challenging function to reverse engineer. It&#8217;s not extremely challenging—it&#8217;s complex enough that you can understand the kind of things I have to deal with sometimes, but it&#8217;s simple enough that anyone who was able to follow up until now should be able to understand it (and maybe even be able to reverse engineer it on their own).</p>
<p>So, without further ado, here&#8217;s this very simple function:</p>
<p><img class="alignnone size-full wp-image-43921" src="https://puri.sm/wp-content/uploads/2017/11/sub_fff4023f.png" alt="" width="417" height="172" srcset="https://puri.sm/wp-content/uploads/2017/11/sub_fff4023f.png 417w, https://puri.sm/wp-content/uploads/2017/11/sub_fff4023f-300x124.png 300w" sizes="(max-width: 417px) 100vw, 417px" /></p>
<p>Since I&#8217;m a very nice person, I renamed the function so you won&#8217;t know what it does, and I removed my comments so it&#8217;s as virgin as it was when I first saw it. Try to reverse engineer it. Take your time, I&#8217;ll wait:</p>
<p><img class="alignnone size-full wp-image-44375" src="https://puri.sm/wp-content/uploads/2017/11/sloth.jpg" alt="" width="1000" height="750" srcset="https://puri.sm/wp-content/uploads/2017/11/sloth.jpg 1000w, https://puri.sm/wp-content/uploads/2017/11/sloth-300x225.jpg 300w, https://puri.sm/wp-content/uploads/2017/11/sloth-768x576.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>Alright, so, the first instruction is a &#8220;call $+5&#8221;, what does that even mean?</p>
<ol>
<li>When I looked at the hex dump, the instruction was simply &#8220;E8 00 00 00 00&#8221; which according to our previous <a href="https://x86.puri.sm/html/file_module_x86_id_26.html">CALL opcode table</a> means &#8220;Call near, relative, displacement relative to next instruction&#8221;, so it wants to call the instruction 0 bytes from the next instruction. Since the call opcode itself is taking 5 bytes, that means it&#8217;s doing a call to its own function but skipping the call itself, so it&#8217;s basically jumping to the &#8220;pop eax&#8221;, right? Yes&#8230;  but it&#8217;s not actually jumping to it, it&#8217;s &#8220;calling it&#8221;, which means that it just pushed into the stack the return address of the function&#8230; which means that our stack contains the address 0xFFF40244 and our next instruction to be executed is the one at the address 0xFFF40244. That&#8217;s because, if you remember, when we do a &#8220;ret&#8221;, it will pop the return address from the stack into the EIP (instruction pointer) register, that&#8217;s how it knows where to go back when the function finishes.</li>
<li>So, then the instruction does a &#8220;pop eax&#8221; which will pop that return address into EAX, thus removing it from the stack and making the call above into a regular jump (since there is no return address in the stack anymore).</li>
<li>Then it does a &#8220;sub eax, 0FFF40244h&#8221;, which means it&#8217;s substracting 0xFFF40244 from eax (which should contain 0xFFF40244), so eax now contains the value &#8220;0&#8221;, right? You bet!</li>
<li>Then it adds to eax, the value &#8220;0xFFF4023F&#8221;, which is the address of our function itself. So, eax now contains the value 0xFFF4023F.</li>
<li>It will then substract from EAX, the value pointed to by [eax-15], which means the dword (4 bytes) value at the offset 0xFFF4023F &#8211; 0xF, so the value at 0xFFF40230, right&#8230; that value is 0x1AB (yep, I know, you didn&#8217;t have this information)&#8230; so, 0xFFF4023F &#8211; 0x1AB = 0xFFF40094!</li>
<li>And then the function returns.. with the value 0xFFF40094 in EAX, so it returns 0xFFF40094, which happens to be the pointer to the QUEEN_INFO_HEADER structure in the binary.</li>
</ol>
<p>So, the function just returns 0xFFF40094, but why did it do it in such a convoluted way? The reason is simple: because the QUEEN-S code is technically meant to be loaded in RAM at the address 0xFFF40000, but it can actually reside anywhere in the RAM when it gets executed. Coreboot for example doesn&#8217;t load it in the right memory address when it executes it, so instead of returning the wrong address for the structure and crashing (remember, most of the jumps and calls use relative addresses, so the code should work regardless of where you put it in memory, but in this case returning the wrong address for a structure in memory wouldn&#8217;t work), the code tries to dynamically verify if it has been relocated and if it is, it will calculate how far away it is from where it&#8217;s supposed to be, and calculate where in memory the QUEEN_INFO_HEADER structure ended up being.</p>
<p>Here&#8217;s the explanation why:</p>
<ul>
<li>If the Queen<!--FSP--> was loaded into a different memory address, then the &#8220;call $+5&#8221; would put the exact memory address of the next instruction into the stack, so when you pop it into eax then substract from it the expected address 0xFFF40244, this means that eax will contain the <strong>offset</strong> from where it was supposed to be.</li>
<li>Above, we said eax would be equal to zero, yes, that&#8217;s true, but <em>only</em> in the usecase where the Queen<!--FSP--> is in the right memory address, as expected, otherwise, eax would simply contain the offset. Then you add to it 0xFFFF4023F which is the address of our function, and with the offset, that means eax now contains the exact memory address of the current function, wherever it was actually placed in RAM!</li>
<li>Then when it grabs the value 0x1AB (because that value is stored in RAM 15 bytes before the start of the function, that will work just fine) and substracts it from our current position, it gives us the address in RAM of the QUEEN_INFO_HEADER (because the compiler knows that the structure is located exactly 0x1AB bytes before the current function). This just makes everything be relative.</li>
</ul>
<p>Isn&#8217;t that great!? 😉 It&#8217;s so simple, but it does require some thinking to figure out what it does and some thinking to understand why it does it that way&#8230; but then you end up with the problem of &#8220;How do I write this in C&#8221;? Honestly, I don&#8217;t know how, I just wrote this in my C file:</p>
<pre>// Use Position-independent code to make this relocatable
void *get_queen_info_header() {
    return 0xFFF40094; 
}</pre>
<p>I think the compiler takes care of doing all that magic on its own when you use the -fPIC compiler option (for gcc), which means &#8220;Position-Independent Code&#8221;.</p>
<h1>What this means for Purism</h1>
<p>On my side, <strong>I&#8217;ve finished reverse engineering the <!--FSP-S -->entry code</strong>—from the entry point <!--(FspSiliconInit) -->all the way to the end of the function and all the subfunctions that it calls.</p>
<p>This only represents 9 functions however, and about 115 lines of C code; I haven&#8217;t yet fully figured out where exactly it&#8217;s going in order to execute the rest of the code. What happens is that the last function it calls (it actually jumps into it) grabs a variable from some area in memory, and within that variable, it will copy a value into the ESP, thus replacing our stack pointer, and then it does a &#8220;RETN&#8221;&#8230; which means that it&#8217;s not actually returning to the function that called it (coreboot), it&#8217;s returning… &#8220;somewhere&#8221;, depending on what the new stack contains, but I don&#8217;t know where (or how) this new stack is created, so I need to track it down in order to find what the return address is, find where the &#8220;retn&#8221; is returning us into, so I can unlock plenty of new functions and continue reverse engineering this.</p>
<p>I&#8217;ve already made some progress on that front (I know where the new stack tells us to return into) but you will have to wait until my next blog post before I can explain it all to you. It&#8217;s long and complicated enough that it needs its own post, and this one is long enough already.</p>
<h1>Other stories from strange lands</h1>
<p>You never really know what to expect when you start reverse engineering assembly. Here are some other stories from my past experiences.</p>
<ul>
<li>I once spent a few days reverse engineering a function until about 30% of it when I finally realized that the function was… the C++ &#8220;+ operator&#8221; of the std::string class (which by the way, with the use of C++ templates made it excruciatingly hard to understand)!</li>
<li>I once had to reverse engineer over 5000 lines of assembly code that all resolved into&#8230; 7 lines of C code. The code was for creating a hash and it was doing a lot of manipulation on data with different values on every iteration. There was a LOT of xor, or, and, shifting left and right of data, etc., which took maybe a hundred or so lines of assembly and it was all inside a loop, which the compiler decided that—to optimize it—it would unravel the loop (this means that instead of doing a jmp, it will just copy-paste the same code again), so instead of having to reverse engineer the code once and then see that it&#8217;s a loop that runs 64 times, I had to reverse engineer the same code 64 times because it was basically getting copy-pasted by the compiler in a single block but the compiler was &#8220;nice&#8221; enough that it was using completely different registers for every repetition of the loop, and the data was getting shifted in a weird way and using different constants and different variables at every iteration, and—as if that wasn&#8217;t enough— every 1/4th of the loop, changing the algorithm and making it very difficult to predict the pattern, forcing me to completely reverse engineer the 5000+ assembly lines into C, then slowly refactor and optimize the C code until it became that loop with 7 lines of code inside it… If you&#8217;re curious you can see the code <a href="https://github.com/tomhennigan/amsn/blob/master/amsn/utils/webcamsn/src/kidhash.c#L39">here</a> at line 39, where there is some operation common to all iterations, then 4 different operations depending on which iteration we are doing, and the variables used for each operation changes after each iteration (P, PP, PPP and PPPP get swapped every time), and the constant values and the indices used are different for each iteration as well (see <a href="https://github.com/tomhennigan/amsn/blob/master/amsn/utils/webcamsn/src/constants.h">constants.h</a>). It was complicated and took a long while to reverse engineer.</li>
<li>Below is the calling graph of the PS3 firmware I worked on some years ago. All of these functions have been entirely reverse engineered (each black rectangle is actually an entire function, and the arrows show which function calls which other function), and the result was the <a href="https://github.com/kakaroto/ps3xport">ps3xport</a> tool. As you can see, sometimes a function can be challenging to reverse, and sometimes a single function can call so many nested functions that it can get pretty complicated to keep track of what is doing what and how everything fits together. That function at the top of the graph was probably very simple, but it brought with it so much complexity because of a single &#8220;call&#8221;:<br />
<a href="https://puri.sm/wp-content/uploads/2017/11/wingraph.png"><img class="alignnone wp-image-43928 size-large" src="https://puri.sm/wp-content/uploads/2017/11/wingraph-1024x382.png" alt="" width="960" height="358" srcset="https://puri.sm/wp-content/uploads/2017/11/wingraph-1024x382.png 1024w, https://puri.sm/wp-content/uploads/2017/11/wingraph-300x112.png 300w, https://puri.sm/wp-content/uploads/2017/11/wingraph-768x287.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></li>
</ul>
<h1>Perseverance prevails</h1>
<p>In conclusion:</p>
<ul>
<li>Reverse engineering isn&#8217;t just about learning a new language, it&#8217;s a very different experience from &#8220;learning Java/Python/Rust after you&#8217;ve mastered C&#8221;, because of the way it works; it can sometimes be very easy and boring, sometimes it will be very challenging for a very simple piece of code.</li>
<li>It&#8217;s all about perseverance, being very careful (it&#8217;s easy to get lost or make a mistake, and very hard to track down and fix a mistake/typo if you make one), and being <em>very</em> patient. We&#8217;re talking days, weeks, <em>months.</em> That&#8217;s why reverse engineering is something that very few people do (compared to the number of people who do general software development). Remember also that our first example was 82 bytes of code, and the second one was only 19 bytes long, and most of the time, when you need to reverse engineer something, it&#8217;s many hundreds of KBs of code.</li>
</ul>
<p>All that being said, the satisfaction you get when you finish reverse engineering some piece of code, when you <em>finally</em> understand how it works and can reproduce its functionality with open source software of your own, cannot be described with words. The feeling of achievement that you get makes all the efforts worth it!</p>
<p>I hope this write-up helps everyone get a fresh perspective on what it means to &#8220;reverse engineer the code&#8221;, why it takes so long, and why it&#8217;s rare to find someone with the skills, experience and patience to do this kind of stuff for months—as it can be frustrating, and we sometimes need to take a break from it and do something else in order to renew our brain cells.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/primer-to-reverse-engineering/">A Primer Guide to Reverse Engineering</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Trusted Platform Module now available as an add-on for Librem laptops</title>
		<link>https://puri.sm/posts/tpm-addon-for-librem-laptops/</link>
		<pubDate>Wed, 15 Nov 2017 22:21:38 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=44229</guid>
		<description><![CDATA[<p>Over the past few months, we have been busy with a plethora of great projects being set afoot. We have been incrementally building a laptop inventory to ship from, we have been continuing the coreboot enablement work on our laptops, neutralizing—and then disabling—the Intel Management Engine, and launching our much awaited Librem phone campaign, which [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/tpm-addon-for-librem-laptops/">Trusted Platform Module now available as an add-on for Librem laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Over the past few months, we have been busy with a plethora of great projects being set afoot. We have been incrementally building a laptop inventory to ship from, we have been continuing the coreboot enablement work on our laptops, <a href="https://puri.sm/learn/intel-me/">neutralizing—and then disabling—the Intel Management Engine</a>, and launching our much awaited <a href="https://shop.puri.sm/shop/librem-5/">Librem phone</a> campaign, which ended in a very motivating success—involving many great organizations part of the Free Software community, such as Matrix, KDE e.v., the GNOME Foundation, Nextcloud, and Monero.</p>
<p>It really has been a whirlwind of events, and this has been happening in parallel to us continuing our existing R&amp;D and operations work, such as preparing a new batch of laptops—namely the much anticipated Librem 13 <em>with i7 processor.</em></p>
<p>One particular security R&amp;D project dear to our hearts has been <a href="https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/">the beginning of our collaboration with &#8220;Heads&#8221; developer Trammell Hudson</a>, a project that has been quietly going on behind the scenes for the past few months. We are very pleased to announce today that we are making a positive step to make this effort within reach of early adopters, with the <strong>availability of a Trusted Platform Module (TPM) as an optional component for currently pending and near-future laptop orders.</strong><span id="more-44229"></span></p>
<h1>What is a TPM? Is it for me?</h1>
<p>A <a href="https://en.wikipedia.org/wiki/Trusted_Platform_Module" target="_blank" rel="noopener">Trusted Platform Module</a> is a specialized computer chip dedicated to enabling hardware-based (or, I would say, hardware<em>-augmented</em>) security, allowing you to secure your operating system and boot process <em>at the hardware level,</em> with your own cryptographic keys. It <strong>facilitates password protection</strong> (by storing keys in the dedicated hardware module and preventing &#8220;dictionary&#8221; attacks) and <strong>provides platform integrity verification</strong> (allows you to know whether your computer is behaving as intended or not, from a &#8220;deep security&#8221; standpoint).</p>
<p>The functionality provided by a TPM is useful if you care deeply about the security of your system, to the point where you want absolute certainty that your boot has not been compromised—by viruses, criminal activity, or some other hostile force trying to take over your system—allowing you to enforce a &#8220;trusted boot chain&#8221; through our <a href="/coreboot/">coreboot firmware</a>, signed and verified with your own encryption keys, using a special coreboot payload such as <a href="http://osresearch.net/" target="_blank" rel="noopener">Heads</a>, for example. You can read more about the implications in <a href="http://www.tomshardware.com/news/purism-heads-rootkit-tampering-protection,34128.html" target="_blank" rel="noopener">this article</a> by Tom&#8217;s Hardware.</p>
<p>At the moment, we simply provide the hardware. We do not yet provide a turn-key &#8220;hardware+software&#8221; solution for this, so consider this an add-on for early adopters and security professionals, not a product for Joe Plumber.</p>
<h1>This is amazing! How do I get one with my order?</h1>
<p>If you already have a pending Librem 13 or Librem 15 order, please email ops@puri.sm to request this feature to be added to your order, which will ship out in the coming weeks. A $99 fee will apply (to cover parts and labor costs, as we are hand-soldering the TPMs on a case-by-case basis).</p>
<p>If you haven&#8217;t made an order yet, you can simply select it in the options available in the <a href="https://shop.puri.sm/shop/librem-13/">Librem 13 shop page</a> and <a href="https://shop.puri.sm/shop/librem-15/">Librem 15 shop page</a>.</p>
<h1>What are your future plans?</h1>
<p>As you can imagine, we are testing the market first by providing this as an optional component that we solder onto the motherboard on a case-by-case basis during final assembly. If there is enough demand, we plan to incorporate this as a standard feature into all our future motherboard designs.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/tpm-addon-for-librem-laptops/">Trusted Platform Module now available as an add-on for Librem laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Announcing the Librem Phone Ringtone Contest winners</title>
		<link>https://puri.sm/posts/librem5-ringtone-contest-winners/</link>
		<pubDate>Mon, 13 Nov 2017 22:15:34 +0000</pubDate>
		<dc:creator><![CDATA[Mladen Pejaković]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[User experience design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=43967</guid>
		<description><![CDATA[<p>As part of our Librem 5 phone campaign page, we included a public ringtone contest. The response was overwhelming, and our team did not have an easy task of picking winners: we had to listen and rank over 150 sounds sorted in 5 categories! The most intense battle took over the ringtone category, where the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-ringtone-contest-winners/">Announcing the Librem Phone Ringtone Contest winners</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>As part of our <a href="https://shop.puri.sm/shop/librem-5/">Librem 5 phone</a> campaign page, we included a public ringtone contest. The response was overwhelming, and our team did not have an easy task of picking winners: we had to listen and rank over 150 sounds sorted in 5 categories! The most intense battle took over the ringtone category, where the winner won by merely 3% of our votes. Now that the list of winners and runner-ups is final, we will contact winners to inform them that they won a Librem 5 phone! Here are the top-ranked entries we received.</p>
<p><span id="more-43967"></span></p>
<h1>Ringtone</h1>
<p>1. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-phone-call-by-Feandesign.ogg" controls="controls"></audio> by Feandesign — 14.8%<br />
2. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-phone-call-2-by-Imre-Gombos.ogg" controls="controls"></audio> by Imre Gombos — 11.1%<br />
3. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-phone-call-3-by-Nohumanconcept.ogg" controls="controls"></audio> by Nohumanconcept — 11.1%<br />
4. Others — 63.0%</p>
<h1>Videocall</h1>
<p>1. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-video-call-by-Feandesign.ogg" controls="controls"></audio> by Feandesign — 25.0%<br />
2. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-video-call-2-by-Yuri-Witte.ogg" controls="controls"></audio> by Yuri Witte — 17.3%<br />
3. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-video-call-3-by-Úlfur.ogg" controls="controls"></audio> by Úlfur <em>(&#8220;Quantum Ringtone&#8221;)</em> — 11.5%<br />
4. Others — 46.2%</p>
<h1>Power-on</h1>
<p>1. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-power-on-by-Antonio-Paternina-Alvarez.ogg" controls="controls"></audio> by Antonio Paternina Alvarez — 21.8%<br />
2. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-power-on-2-by-Brad-In-NZ.ogg" controls="controls"></audio> by &#8220;Brad in NZ&#8221; — 14.5%<br />
3. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-power-on-3-by-Dinesh-Manajipet.ogg" controls="controls"></audio> by Dinesh Manajipet — 7.3%<br />
4. Others — 56.4%</p>
<h1>Text message</h1>
<p>1. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-text-message-by-Baptiste-Gelez.ogg" controls="controls"></audio> by Baptiste Gelez — 22.9%<br />
2. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-text-message-2-by-Oliver-Owen.ogg" controls="controls"></audio> by Oliver Owen <em>(&#8220;Upward Bell&#8221;)</em> — 14.6%<br />
3. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-text-message-3-by-Oliver-Owen.ogg" controls="controls"></audio> by Oliver Owen <em>(&#8220;Pop&#8221;)</em> — 12.5%<br />
4. Others — 50.0%</p>
<h1>Email notification</h1>
<p>1. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-email-notification-by-Baptiste-Gelez.ogg" controls="controls"></audio> by Baptiste Gelez — 36.8%<br />
2. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-email-notification-2-by-Pablo-Somonte.ogg" controls="controls"></audio> by Pablo Somonte — 16.3%<br />
3. <audio src="https://puri.sm/wp-content/uploads/2017/11/Librem-5-email-notification-3-by-Feandesign.ogg" controls="controls"></audio> by Feandesign — 10.2%<br />
4. Others — 36.7%</p>
<p>Congratulations to all the winners, and many thanks to all who participated! The #1-ranked sounds above will be featured as the default sounds used by the Librem 5 phone. You will of course be able to choose to use your own sounds if you prefer—it is, after all, <em>your</em> phone.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-ringtone-contest-winners/">Announcing the Librem Phone Ringtone Contest winners</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-phone-call-by-Feandesign.ogg" length="192570" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-phone-call-2-by-Imre-Gombos.ogg" length="78052" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-phone-call-3-by-Nohumanconcept.ogg" length="73740" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-video-call-by-Feandesign.ogg" length="213909" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-video-call-2-by-Yuri-Witte.ogg" length="143795" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-video-call-3-by-Úlfur.ogg" length="25615" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-power-on-by-Antonio-Paternina-Alvarez.ogg" length="34127" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-power-on-2-by-Brad-In-NZ.ogg" length="81375" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-power-on-3-by-Dinesh-Manajipet.ogg" length="84388" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-text-message-by-Baptiste-Gelez.ogg" length="17650" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-text-message-2-by-Oliver-Owen.ogg" length="6536" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-text-message-3-by-Oliver-Owen.ogg" length="9808" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-email-notification-by-Baptiste-Gelez.ogg" length="23363" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-email-notification-2-by-Pablo-Somonte.ogg" length="17511" type="audio/ogg" />
<enclosure url="https://puri.sm/wp-content/uploads/2017/11/Librem-5-email-notification-3-by-Feandesign.ogg" length="88746" type="audio/ogg" />
		</item>
		<item>
		<title>Running Plasma Mobile on an i.MX 6 test board</title>
		<link>https://puri.sm/posts/running-plasma-mobile-on-an-imx6-test-board/</link>
		<pubDate>Thu, 02 Nov 2017 15:00:04 +0000</pubDate>
		<dc:creator><![CDATA[Matthias Klumpp]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=43523</guid>
		<description><![CDATA[<p>On the road to a working mobile phone, doing some initial evaluation and testing of the current state of existing user interfaces and frameworks is key, to evaluate what can readily serve as building blocks and what needs work. Last weekend I did an initial experiment in getting Plasma Mobile working on our i.MX 6 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/running-plasma-mobile-on-an-imx6-test-board/">Running Plasma Mobile on an i.MX 6 test board</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>On the road to a working mobile phone, doing some initial evaluation and testing of the current state of existing user interfaces and frameworks is key, to evaluate what can readily serve as building blocks and what needs work. Last weekend I did an initial experiment in getting Plasma Mobile working on our i.MX 6 based test development board, using a 4.13.5 Linux kernel and stock Debian Testing. Initially, I encountered a few problems with KWin not wanting to start a Wayland compositor due to not recognizing the device as OpenGL ES 2.0 capable and also not finding a few needed OpenGL extensions. After some digging and with help from Plasma Mobile developer Bhushan Shah we tracked this issue down to a bug in <a href="https://github.com/anholt/libepoxy">libepoxy</a> that was solved a long time ago. Unfortunately, Debian&#8217;s packaged version of this library was very old, so I upgraded it to a newer version manually (and we will get it updated in Debian soon). This resulted in a working Plasma Shell on the device.</p>
<p>The next step was compiling and installing the Plasma Mobile components from current Git master repository and running the mobile shell. This initially led to graphical glitches in the display, which were caused by KWin running as root (which you should never do as a user, but I did not think this would also cause major issues just for testing whether the shell works or not). After switching to a regular user for running the KWin wayland compositor and removing a dead call to upstart from the plasma-phone launch script, I could start the Plasma Mobile/Phone shell with the <code>kwin_wayland --drm --xwayland plasma-phone</code> command.</p>
<p>Here are the screenshots you have probably been waiting for the whole time:</p>
<figure id="attachment_43526" style="width: 960px" class="wp-caption alignnone"><img class="size-large wp-image-43526" src="https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_1-1024x608.jpg" alt="" width="960" height="570" srcset="https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_1-1024x608.jpg 1024w, https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_1-300x178.jpg 300w, https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_1-768x456.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">Plasma Mobile on i.MX 6 main view</figcaption></figure>
<figure id="attachment_43527" style="width: 960px" class="wp-caption alignnone"><img class="size-large wp-image-43527" src="https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_2-1024x641.jpg" alt="" width="960" height="601" srcset="https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_2-1024x641.jpg 1024w, https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_2-300x188.jpg 300w, https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_2-768x481.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">Plasma Mobile on i.mx6 running the Discover application center</figcaption></figure>
<figure id="attachment_43528" style="width: 960px" class="wp-caption alignnone"><img class="size-large wp-image-43528" src="https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_3-1024x675.jpg" alt="" width="960" height="633" srcset="https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_3-1024x675.jpg 1024w, https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_3-300x198.jpg 300w, https://puri.sm/wp-content/uploads/2017/11/plasma-mobile-imx6_3-768x506.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-caption-text">Plasma Mobile on i.mx6 App drawer</figcaption></figure>
<p>Of course this is not a final product, by any stretch of the imagination. It&#8217;s simply a test to see that it runs. There is a lot to do in terms of performance improvements, as Plasma Mobile still runs pretty slow on this kind of hardware (which could be less of a problem in case we use the i.MX 8 platform). Also, these initial tests were done using recent—but not the most up to date—versions of Plasma, KDE Framework and Qt (KWin/Plasma 5.10.5, KF 5.37.0, Qt 5.9.1), while a lot of performance improvements and bug fixes went into the latest versions. So it is definitely worth switching as soon as possible to tracking KDE&#8217;s latest development releases to benefit early from improvements done in the whole stack.</p>
<p>In general, Plasma Mobile already provides a usable (albeit alpha-quality) mobile interface today. The Qt Quick/QML based <a href="https://techbase.kde.org/Kirigami">Kirigami</a> component library and interface guidelines also provide a nice framework for mobile application developers, that have been tested on Android as well, and works nicely on and with the Plasma Mobile shell.</p>
<p>We are looking forward to seeing what we can do with the Plasma Mobile shell in future. Many thanks to Bhushan and the KDE community for helping with some issues encountered when making Plasma work on the i.MX 6, and their plans on making a real Plasma Mobile alpha release soon. If you are interested in the Plasma Mobile roadmap, <a href="https://vizzzion.org/blog/2017/10/plasma-mobile-roadmap/">this recent post from Sebastian Kügler</a> might be interesting for you.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/running-plasma-mobile-on-an-imx6-test-board/">Running Plasma Mobile on an i.MX 6 test board</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Librem Laptops Completely Disable Intel&#8217;s Management Engine</title>
		<link>https://puri.sm/posts/purism-librem-laptops-completely-disable-intel-management-engine/</link>
		<pubDate>Thu, 19 Oct 2017 18:10:07 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=31568</guid>
		<description><![CDATA[<p>SAN FRANCISCO, Calif., October 19, 2017 — Purism&#8217;s Librem Laptops, running coreboot, are now available with the Intel Management Engine completely and verifiably disabled. &#8220;Disabling the Management Engine, long believed to be impossible, is now possible and available in all current Librem laptops, it is also available as a software update for previously shipped recent [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-laptops-completely-disable-intel-management-engine/">Purism Librem Laptops Completely Disable Intel&#8217;s Management Engine</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>SAN FRANCISCO, Calif., October 19, 2017 — Purism&#8217;s Librem Laptops, running <a href="https://coreboot.org/" target="_blank" rel="noopener">coreboot</a>, are now available with the <a href="https://puri.sm/learn/intel-me/">Intel Management Engine</a> completely and verifiably <a href="https://puri.sm/posts/deep-dive-into-intel-me-disablement">disabled</a>.</p>
<blockquote><p>&#8220;Disabling the Management Engine, long believed to be impossible, is now possible and available in all current Librem laptops, it is also available as a software update for previously shipped recent Librem laptops.&#8221; says Todd Weaver, Founder &amp; CEO of Purism.</p></blockquote>
<p><img class="alignright size-medium wp-image-39683" src="https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-300x200.png" alt="" width="300" height="200" srcset="https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-300x200.png 300w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-768x512.png 768w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-1024x683.png 1024w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis.png 1293w" sizes="(max-width: 300px) 100vw, 300px" />The Management Engine (ME), part of Intel AMT, is a separate CPU that can run and control a computer even when powered off. The ME has been the bane of the security market since 2008 on all Intel based CPUs, with publicly released exploits against it, is now disabled by default on all Purism Librem laptops.</p>
<p>Disabling the Management Engine is no easy task, and it has taken security researchers years to find a way to properly and verifiably disable it. Purism, because it runs coreboot and maintains its own BIOS firmware update process has been able to release and ship coreboot that disables the Management Engine from running, directly halting the ME CPU without the ability of recovery.</p>
<blockquote><p>&#8220;Purism Librem laptops were already the most secure current Intel based computers available on the market today, but disabling the management engine solidifies that statement clearly.&#8221; says Zlatan Todoric, CTO of Purism.</p></blockquote>
<p>The Librem 13 and Librem 15 <a href="https://puri.sm/products/">products</a> can be purchased today and will arrive with the Management Engine disabled by default, and it can be verified to be disabled with the source code released to confirm the disablement is accurate. Showing &#8220;ME: FW Partition Table : BAD; ME: Bringup Loader Failure : YES&#8221;</p>
<blockquote><p>&#8220;Purism, in the long-term pursuit of liberating hardware at the lowest levels, still has more work to do. Removing the management engine entirely is the next step beyond just disabling it. Coreboot also includes another binary, the Intel FSP, a less worrisome but still important binary to liberate, incorporating a free vBIOS is another step Purism plans to take. The road to a completely free system on current Intel CPUs is not over, but the largest step of disabling the Management Engine is arguably the largest milestone to cross.&#8221; says Youness Alaoui, Hardware Enablement Developer at Purism.</p></blockquote>
<p>See also: our <a href="https://puri.sm/posts/deep-dive-into-intel-me-disablement/">technical write-up</a> on disabling the Management Engine on Purism laptops.</p>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 2px;" />
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-laptops-completely-disable-intel-management-engine/">Purism Librem Laptops Completely Disable Intel&#8217;s Management Engine</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Deep dive into Intel Management Engine disablement</title>
		<link>https://puri.sm/posts/deep-dive-into-intel-me-disablement/</link>
		<pubDate>Thu, 19 Oct 2017 15:38:48 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=31772</guid>
		<description><![CDATA[<p>Starting today, our second generation of laptops (based on the 6th gen Intel Skylake platform) will now come with the Intel Management Engine neutralized and disabled by default. Users who already received their orders can also update their flash to disable the ME on their machines. In this post, I will dig deeper and explain [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/deep-dive-into-intel-me-disablement/">Deep dive into Intel Management Engine disablement</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Starting today, our second generation of laptops (based on the 6th gen Intel Skylake platform) will now come with the <a href="https://puri.sm/learn/intel-me/">Intel Management Engine</a> neutralized <em>and</em> disabled by default. Users who already received their orders can also update their flash to disable the ME on their machines.</p>
<p>In this post, I will dig deeper and explain in more details what this means exactly, and why it wasn&#8217;t done before today for the laptops that were shipping this spring and summer.</p>
<h1>The life and times of the ME</h1>
<p>Think of the ME as having 4 possible states:</p>
<p><img class="alignnone size-large wp-image-39684" src="https://puri.sm/wp-content/uploads/2017/10/intel-me-status-eye-1024x223.png" alt="" width="960" height="209" srcset="https://puri.sm/wp-content/uploads/2017/10/intel-me-status-eye-1024x223.png 1024w, https://puri.sm/wp-content/uploads/2017/10/intel-me-status-eye-300x65.png 300w, https://puri.sm/wp-content/uploads/2017/10/intel-me-status-eye-768x167.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<ol>
<li>Fully operational ME: the ME is running normally like it does on other manufacturers&#8217; machines (note that this could be a consumer or corporate ME image, which vary widely in the features they &#8216;provide&#8217;)</li>
<li>Neutralized ME: the ME is neutralized/neutered by removing the most &#8220;mission-critical&#8221; components from it, such as the kernel and network stack.</li>
<li>Disabled ME: the ME is officially &#8220;disabled&#8221; and is known to be completely stopped and non-functional</li>
<li>Removed ME: the ME is completely <em>removed</em> and doesn&#8217;t execute anything at any time, at all.</li>
</ol>
<p>In <a href="https://puri.sm/posts/neutralizing-intel-management-engine-on-librem-laptops/">my previous blog post about taming the ME</a>, we discussed how we neutralize the ME (note that this was on the first generation, Broadwell-based Purism laptops back then), but we&#8217;ve taken things one step further today by not only neutralizing the ME but also by <em>disabling</em> it. The difference between the two might not be immediately visible to some of you, so I&#8217;ll clarify below.</p>
<ul>
<li>A <em>neutralized</em> ME is a ME image which had most of its code removed.<img class="alignright wp-image-39688" src="https://puri.sm/wp-content/uploads/2017/10/intel-me-cleaner-1024x579.png" alt="" width="514" height="291" srcset="https://puri.sm/wp-content/uploads/2017/10/intel-me-cleaner-1024x579.png 1024w, https://puri.sm/wp-content/uploads/2017/10/intel-me-cleaner-300x170.png 300w, https://puri.sm/wp-content/uploads/2017/10/intel-me-cleaner-768x434.png 768w" sizes="(max-width: 514px) 100vw, 514px" />
<ul>
<li>The way the ME firmware is packaged on the flash, is in the form of multiple <strong>modules</strong>, and each module has a specific task, such as : Hardware initialization, Firmware updates, Kernel, Network stack, Audio/Video processing, HECI communication over PCI, Java virtual machine, etc. When the ME is neutralized using the <a href="https://github.com/corna/me_cleaner">me_cleaner</a> tool, most of the modules will be removed. As we&#8217;ve seen on Broadwell, that meant almost 93% of the code is removed and only 7% remains (that proportion is different on Skylake, see further below).</li>
<li>A neutralized ME means that the ME firmware will encounter an error during its regular boot cycle; It will not find some of its critical modules and it will throw an error and somehow fail to proceed. However, the ME remains operational, it just can&#8217;t do anything &#8220;valuable&#8221;. While it&#8217;s unable to communicate with the main CPU through the HECI commands, the PCI interface to the ME processor is still active and lets us poke at the status of the ME for example, which lets us see which error caused it to stop functioning.</li>
</ul>
</li>
<li>When the ME is <em>disabled</em> using the &#8220;HAP&#8221; method (thanks to the <a href="http://blog.ptsecurity.com/2017/08/disabling-intel-me.html"><em>Positive Technologies</em></a> for discovering this trick), however, it doesn&#8217;t throw an error &#8220;because it can&#8217;t load a module&#8221;: it actually stops itself in a graceful manner, by design.</li>
</ul>
<p>The two approaches are similar in that they both stop the execution of the ME during the hardware initialization (BUP) phase, but with the ME disabled through the HAP method, the ME stops on its own, without putting up a fight, potentially disabling things that the forceful &#8220;me_cleaner&#8221; approach, with the &#8220;unexpected error&#8221; state, wouldn&#8217;t have disabled. The PCI interface for example, is entirely unable to communicate with the ME processor, and the status of the ME is not even retrievable.</p>
<p>So the big, visible difference for us, between a neutralized and a disabled ME, is that the neutralized ME might appear &#8220;normal&#8221; when coreboot accesses its status, or it might show that it has terminated due to an error, while a disabled ME simply doesn&#8217;t give us a status at all—so coreboot will even think that the ME partition is corrupted. Another advantage, is that, from my understanding of the <em>Positive Technologies&#8217;s </em>research, a disabled ME stops its execution <em>before</em> a neutralized ME does, so there is at least a little bit of extra code that doesn&#8217;t get executed when the ME is disabled, compared to a neutralized ME.</p>
<h1>Kill it with fire! Then dump it into a volcano.</h1>
<p>In our case, we went with an ME that is both neutered <em>and</em> disabled. By doing so, we provide maximum security; even if the disablement of the ME isn&#8217;t functioning properly, the ME would still fail to load its mission-critical modules and will therefore be safe from any potential exploits or backdoors (unless one is found in the very early boot process of the ME).</p>
<p>I want to talk about the neutralizing of the Skylake ME then follow up on how the ME was disabled. However, I first want you to understand the differences between the ME on <em>Broadwell</em> systems (ME version 10.x) and the ME on <em>Skylake</em> systems (ME version 11.0.x).</p>
<ul>
<li>The Intel Management Engine can be seen as two things; first, the isolated processor core that run the Management Engine is considered &#8220;The ME&#8221;, and second, the firmware that runs on the ME Core is also considered as being &#8220;the ME&#8221;. I often used the two terms interchangeably, but to avoid confusion, I will from now on (try to) refer to them, respectively, as the<strong><em> ME Core</em></strong> and the <strong><em>ME Firmware</em></strong>, but note that if I simply say <em>the ME</em>, then I am probably referring to the ME Firmware.</li>
<li>The ME Firmware 10.x was used on Broadwell systems which had an <a href="https://en.wikipedia.org/wiki/ARC_(processor)">ARC core</a>, while the ME Firmware 11.0.x used on Skylake systems uses an <a href="https://en.wikipedia.org/wiki/X86">x86 core</a>. What this means is that the <em>architecture</em> used by the ME core is completely different (kind of like how PowerPC and Intel macs used a different architecture, or how most mobile devices use an ARM architecture, the Broadwell ME Core used an ARC architecture). This means that the difference between the 10.x and 11.0.x ME firmwares is major, and the cores themselves are also very different. It&#8217;s a bit like comparing arabic to korean!<br />
<a href="https://puri.sm/wp-content/uploads/2017/10/arab-vs-kor.png"><img class="size-large wp-image-39685 alignnone" src="https://puri.sm/wp-content/uploads/2017/10/arab-vs-kor-1024x400.png" alt="" width="960" height="375" srcset="https://puri.sm/wp-content/uploads/2017/10/arab-vs-kor-1024x400.png 1024w, https://puri.sm/wp-content/uploads/2017/10/arab-vs-kor-300x117.png 300w, https://puri.sm/wp-content/uploads/2017/10/arab-vs-kor-768x300.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></li>
<li>As the format of the ME firmware changed significantly, it took a while to figure out how to decompress the modules and understand how to remove the modules without breaking anything else. Nicola Corna, the author of the me_cleaner tool, recently was able to add support for Skylake machines by removing all the non essential modules.</li>
</ul>
<p>In my <a href="https://puri.sm/posts/neutralizing-intel-management-engine-on-librem-laptops/">last ME-related post</a>, I gave everyone a rundown of the modules that were in the ME 10.x firmware and which ones were remaining after it was neutered, so, for Skylake, here is the list of modules in a regular ME 11.0.x firmware:</p>
<pre>-rw-r--r-- 1 kakaroto kakaroto 184320 Aug 29 16:33 bup.mod
-rw-r--r-- 1 kakaroto kakaroto  36864 Aug 29 16:33 busdrv.mod
-rw-r--r-- 1 kakaroto kakaroto  32768 Aug 29 16:33 cls.mod
-rw-r--r-- 1 kakaroto kakaroto 163840 Aug 29 16:33 crypto.mod
-rw-r--r-- 1 kakaroto kakaroto 389120 Aug 29 16:33 dal_ivm.mod
-rw-r--r-- 1 kakaroto kakaroto  24576 Aug 29 16:33 dal_lnch.mod
-rw-r--r-- 1 kakaroto kakaroto  49152 Aug 29 16:33 dal_sdm.mod
-rw-r--r-- 1 kakaroto kakaroto  16384 Aug 29 16:33 evtdisp.mod
-rw-r--r-- 1 kakaroto kakaroto  16384 Aug 29 16:33 fpf.mod
-rw-r--r-- 1 kakaroto kakaroto  45056 Aug 29 16:33 fwupdate.mod
-rw-r--r-- 1 kakaroto kakaroto  16384 Aug 29 16:33 gpio.mod
-rw-r--r-- 1 kakaroto kakaroto   8192 Aug 29 16:33 hci.mod
-rw-r--r-- 1 kakaroto kakaroto  36864 Aug 29 16:33 heci.mod
-rw-r--r-- 1 kakaroto kakaroto  28672 Aug 29 16:33 hotham.mod
-rw-r--r-- 1 kakaroto kakaroto  28672 Aug 29 16:33 icc.mod
-rw-r--r-- 1 kakaroto kakaroto  16384 Aug 29 16:33 ipc_drv.mod
-rw-r--r-- 1 kakaroto kakaroto  11832 Aug 29 16:33 ish_bup.mod
-rw-r--r-- 1 kakaroto kakaroto  24576 Aug 29 16:33 ish_srv.mod
-rw-r--r-- 1 kakaroto kakaroto  73728 Aug 29 16:33 kernel.mod
-rw-r--r-- 1 kakaroto kakaroto  28672 Aug 29 16:33 loadmgr.mod
-rw-r--r-- 1 kakaroto kakaroto  28672 Aug 29 16:33 maestro.mod
-rw-r--r-- 1 kakaroto kakaroto  28672 Aug 29 16:33 mca_boot.mod
-rw-r--r-- 1 kakaroto kakaroto  24576 Aug 29 16:33 mca_srv.mod
-rw-r--r-- 1 kakaroto kakaroto  36864 Aug 29 16:33 mctp.mod
-rw-r--r-- 1 kakaroto kakaroto  32768 Aug 29 16:33 nfc.mod
-rw-r--r-- 1 kakaroto kakaroto 409600 Aug 29 16:33 pavp.mod
-rw-r--r-- 1 kakaroto kakaroto  16384 Aug 29 16:33 pmdrv.mod
-rw-r--r-- 1 kakaroto kakaroto  24576 Aug 29 16:33 pm.mod
-rw-r--r-- 1 kakaroto kakaroto  61440 Aug 29 16:33 policy.mod
-rw-r--r-- 1 kakaroto kakaroto  12288 Aug 29 16:33 prtc.mod
-rw-r--r-- 1 kakaroto kakaroto 167936 Aug 29 16:33 ptt.mod
-rw-r--r-- 1 kakaroto kakaroto  16384 Aug 29 16:33 rbe.mod
-rw-r--r-- 1 kakaroto kakaroto  12288 Aug 29 16:33 rosm.mod
-rw-r--r-- 1 kakaroto kakaroto  49152 Aug 29 16:33 sensor.mod
-rw-r--r-- 1 kakaroto kakaroto 110592 Aug 29 16:33 sigma.mod
-rw-r--r-- 1 kakaroto kakaroto  20480 Aug 29 16:33 smbus.mod
-rw-r--r-- 1 kakaroto kakaroto  36864 Aug 29 16:33 storage.mod
-rw-r--r-- 1 kakaroto kakaroto   8192 Aug 29 16:33 syncman.mod
-rw-r--r-- 1 kakaroto kakaroto  94208 Aug 29 16:33 syslib.mod
-rw-r--r-- 1 kakaroto kakaroto  16384 Aug 29 16:33 tcb.mod
-rw-r--r-- 1 kakaroto kakaroto  28672 Aug 29 16:33 touch_fw.mod
-rw-r--r-- 1 kakaroto kakaroto  12288 Aug 29 16:33 vdm.mod
-rw-r--r-- 1 kakaroto kakaroto  98304 Aug 29 16:33 vfs.mod
</pre>
<p>And here is the list of modules in a neutered ME :</p>
<pre>-rw-r--r-- 1 kakaroto kakaroto 184320 Oct  4 16:21 bup.mod
-rw-r--r-- 1 kakaroto kakaroto  73728 Oct  4 16:21 kernel.mod
-rw-r--r-- 1 kakaroto kakaroto  16384 Oct  4 16:21 rbe.mod
-rw-r--r-- 1 kakaroto kakaroto  94208 Oct  4 16:21 syslib.mod</pre>
<p>The total ME size dropped from 2.5MB to 360KB, which means that 14.42% of the code remains, while 85.58% of the code was neutralized with me_cleaner.</p>
<p>The reason the neutering on Skylake-based systems removed less code than on Broadwell-based systems is because of the code in <strong>the ME&#8217;s read-only memory</strong> (ROM). What this &#8220;ROM&#8221; means is that a small part of the ME firmware is actually burned in the silicon of the ME Core. The ROM content is the first code executed, loaded internally from the ROM, by the ME core, and it has the simple task of reading the ME firmware from the flash, verifying its signature, making sure it hasn&#8217;t been tampered with, loading it in the ME Core&#8217;s memory and executing it.</p>
<ul>
<li>On Broadwell, there is about 128KB of code burned in the ME Core&#8217;s ROM. That 128KB of code contains the bootloader as well as some system APIs that the other modules can use.</li>
<li>On Skylake, the ROM code was decreased to 17KB, leaving only the basic bootloader, and moving the system APIs to a module of their own inside the ME firmware.</li>
<li>This means that the total amount of code remaining, including the ROM is 360+17KB out of 2524+17KB = 377/2541 = 14.84% for Skylake, while on Broadwell, it&#8217;s 120 + 128KB out of 1624+128KB = 248/1752 = 14.15% of code remaining. The difference is much smaller now when we account for the code hidden in the ROM of the processor.</li>
</ul>
<p>The problem with the code in the ROM is that it cannot be removed because it&#8217;s inside of the processor itself and, well, it&#8217;s <em>Read-Only</em> Memory—it cannot be overwritten in any way, by definition. On the bright side, it is nice to see that most of the code that was previously in the ROM has now been moved to the flash in Skylake systems.</p>
<p>The ME firmware itself has multiple &#8220;partitions&#8221;, each containing something that the ME firmware needs. Some of those partitions will contain code modules, some will contain configuration files, and some will contain &#8220;other data&#8221; (I don&#8217;t really know what). Either way, the ME firmware contains about a dozen different partitions, each for a specific purpose, and two of those partitions contain the majority of the code modules.</p>
<h1>Schrödinger&#8217;s Wi-Fi</h1>
<p>I&#8217;ll now explain what has been done to get to this point in the project. When I was done with the coreboot port to the new Skylake machines, I tried to neutralize the ME, thinking it would be a breeze, since me_cleaner claimed support for Skylake. Unfortunately, it wasn&#8217;t working as it should and I spent the entire hacking day at the coreboot conference trying to fix it.</p>
<p><img class="wp-image-39687 alignright" src="https://puri.sm/wp-content/uploads/2017/10/purism-coreboot-schrodinger-wifi-1024x589.png" alt="" width="576" height="331" srcset="https://puri.sm/wp-content/uploads/2017/10/purism-coreboot-schrodinger-wifi-1024x589.png 1024w, https://puri.sm/wp-content/uploads/2017/10/purism-coreboot-schrodinger-wifi-300x173.png 300w, https://puri.sm/wp-content/uploads/2017/10/purism-coreboot-schrodinger-wifi-768x442.png 768w" sizes="(max-width: 576px) 100vw, 576px" /></p>
<p>The problem is that once the ME was neutralized with me_cleaner, the Wi-Fi module on the Librem was unpredictable: it sometimes would work and sometimes wouldn&#8217;t, which was confusing. I eventually realized that if I reboot after replacing the ME, the wifi would keep the same state as it was in before:</p>
<ul>
<li>if I neutralized the ME and reboot, it would still work, but after powering off the machine and turning it on, the wifi would stop working;</li>
<li>if I restored a full ME (instead of a neutralized one) and rebooted, the wifi would remain dead;</li>
<li>&#8230;but if I power off the machine and turn it back on, the wifi would finally be restored.</li>
</ul>
<p>I figured that it has something to do with how the PCI-Express card is initialized, and I spent quite some time trying to &#8220;enable it&#8221; from coreboot with a neutralized ME. I&#8217;ll spare you the details but I eventually realized that I couldn&#8217;t get it to work because the PCIe device completely ignored all my commands and would simply <em>refuse</em> to power up. It turns out that <strong>the ME controls the ICC</strong> (Integrated Clock Controller) so without it, it would simply not enable the clock for the PCIe device, so the wifi card wouldn&#8217;t work and there is <em>nothing</em> you can do about it because only the ME has control over the ICC registers. I tried to test a handful of different ME firmware versions, but surprisingly, the wifi module never worked on any of those images, even when the ME was not neutralized. Obviously, it meant that the ME firmware was not properly configured, so I used the Intel FIT tool (which is used to configure ME images, allowing us to set things like PCIe lanes, and which clocks to enable, and all of that). Unfortunately, even when an image was configured the exact same way as the original ME image we had, the wifi would still not work, and I couldn&#8217;t figure out why.</p>
<p>I shelved the problem to concentrate on the release of coreboot and eventually on the <a href="https://puri.sm/posts/coreboot-on-the-skylake-librems-part-2/">SATA issues</a> we were experiencing. The decision was made to release the Librem 13 v2 and Librem 15 v3 with a regular ME until more work was done on that front, because we couldn&#8217;t hold back shipments any longer (and because we can provide updates after shipment). Also note that at that time, the support for Skylake in me_cleaner was very rough—it was removing only half of the ME code because the format of the new ME 11.x firmware wasn&#8217;t fully known yet.</p>
<p>A few weeks later, I saw the release of <a href="https://github.com/ptresearch/unME11">unME11</a> from <em>Positive Technologies</em> and a week later, Nicola Corna pushed more complete support for Skylake in a testing branch of me_cleaner. I immediatly jumped on it and tested it on our machines. Unfortunately, <strong>the wifi issue was still there.</strong> I decided to debug the cause by figuring out what me_cleaner does that could be affecting the ME firmware that way.</p>
<p>As I mentioned earlier in this post, the ME firmware is made up of a dozen of <em>partitions,</em> some of those containing code modules, and me_cleaner will remove all the partitions except one, in which it will remove most of the modules and leave only the critical modules needed for the startup of the system. Therefore, I started progressively whitelisting more modules so me_cleaner wouldn&#8217;t remove them, and testing if it affected the wifi module. This was annoying to test because I&#8217;d have to change me_cleaner, neutralize the ME firmware, then copy the image from my main PC to the Librem then flash the new image, poweroff, then restart the machine, and if the Wifi wasn&#8217;t working, which was 99% of the time, I had to copy the files through a USB drive. I eventually restored all of the modules and it was <em>still</em> not working, which made me suspect the cause might be in one of the other partitions, so I gradually added one partition at a time, until the Wifi suddenly worked. I had just added the &#8220;MFS&#8221; partition, so I started removing the other partitions again one at a time, but keeping the &#8220;MFS&#8221; partition, and the Wifi was still working. I eventually removed all of the code modules (apart from the critical ones) but keeping the MFS partition, and the wifi was still working. So <strong>I had found my fix: I just need to keep the &#8220;MFS&#8221; partition in the image and the wifi would work.</strong></p>
<h1>So many firmwares, so little time</h1>
<p>So, what is this mysterious &#8220;MFS&#8221; partition? There&#8217;s not a lot of information about it anywhere online, other than one forum or mailing list user mentioning the MFS partition as &#8220;ME File System&#8221;. I decided to use a comparative approach.</p>
<p>The fun thing  when comparing ME firmware images: not only are there multiple <em>versions</em> (ex: 10.x vs 11.x), for each single ME version there are multiple &#8220;flavors&#8221; of it, such as &#8220;Consumer&#8221; or &#8220;Corporate&#8221;, and there are <em>also</em> multiple flavors for &#8220;mobile&#8221; and &#8220;desktop&#8221;.</p>
<ul>
<li>When I extracted and compared all the partitions of all the variants and flavors, the only difference between a mobile and a desktop image is in the MFS partition, as every other partition shares the same hash between two flavors of the same version.</li>
<li>I then compared the various partitions between a configured and a non configured ME firmware, and noticed that what the Intel FIT tool does when you change the system&#8217;s configuration is to simply write that configuration inside of the MFS partition.</li>
<li>This means that the MFS partition, which doesn&#8217;t contain any code modules, is used for storage of configuration files used by the ME firmware. This is somewhat confirmed by the fact that the MFS partition is marked as containing data.</li>
</ul>
<p><a href="https://puri.sm/wp-content/uploads/2017/10/intel-me-versions.png"><img class="alignnone size-large wp-image-39686" src="https://puri.sm/wp-content/uploads/2017/10/intel-me-versions-1024x446.png" alt="" width="960" height="418" srcset="https://puri.sm/wp-content/uploads/2017/10/intel-me-versions-1024x446.png 1024w, https://puri.sm/wp-content/uploads/2017/10/intel-me-versions-300x131.png 300w, https://puri.sm/wp-content/uploads/2017/10/intel-me-versions-768x335.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>After modifying me_cleaner to add support for the Librem, which allows us to neutralize the ME while keeping the Wifi module working, I discussed with Nicola Corna how to best integrate the feature into me_cleaner. We came to the conclusion that having a new option to allow users to select which partitions to keep would be a better method, so I sent a <a href="https://github.com/corna/me_cleaner/pull/70">pull request</a> that adds such a feature.</p>
<p>Unfortunately, while the wifi module was working with this change, I also had an adverse side-effect when adding the MFS partition back into the ME firmware: my machine would refuse to power off, for example, and would have trouble rebooting.</p>
<ul>
<li>The exact behavior is that if I power off the machine, Linux would do the entire power off sequence then stop, and I would have to manually force shutdown the Librem by holding the power button for 5 seconds. As for the rebooting issue, instead of actually rebooting when Linux finishes its poweroff sequence, the system will be frozen for a few seconds before suddenly shutting itself down forcibly, then turning itself back on 5 seconds later, on its own. This isn&#8217;t the most critical of issues, but it would be very annoying to users, and unfortunately, I couldn&#8217;t find the cause of this strange behavior. All I knew was that if I remove the MFS partition, coreboot says the ME partition is corrupted, and the wifi module doesn&#8217;t work, and if I keep the MFS partition, coreboot says the ME partition is valid, the wifi module works, but the poweroff/reboot issues automatically appear.</li>
<li>The solution for these issues turned out to be unexpectedly simple. After another of our developers said he was ready to live with the poweroff/reboot issues, and I sent him a neutralized ME for his system, I was told that his machine was working fine with no side-effects at all. I didn&#8217;t know what the difference between his machine and mine was, other than the fact that my machine is a prototype and his was a &#8220;production&#8221; machine. I then tested my neutralized ME on the &#8220;production&#8221; Librem 13 unit I had on hand, and I didn&#8217;t have any side effects of the neutralizing of the ME firmware. I then updated my coreboot build script to add the neutralization option and <a href="https://forums.puri.sm/t/building-coreboot-from-source-official-script/1264/21">asked users on our forums</a> to test it, and every one who tested the neutralized ME reported back success with no side-effects. I then realized the problem is probably only caused by the prototype machine that I was using. Well, <em>I can live with that.</em></li>
</ul>
<h1>Disabling the ME</h1>
<p>The next step for me was to start reverse-engineering the ME firmware, like I had <a href="https://puri.sm/posts/reverse-engineering-the-intel-management-engine-romp-module/">done before</a>. This is of course a very long and arduous process that took a while and for which I don&#8217;t really have much progress to show. One thing I wanted to reverse-engineer was the MFS file system format so I could see which configuration files are within it and to start eliminating as much from it as possible. I started from the beginning however, by reverse engineering the entry point in the ROM. I will spare you much of the detail and the troubles in trying to understand some of the instructions, and mostly some of the memory accesses. The important thing to know is that before I got too far along, <em>Positive Technologies</em> announced the discovery of a way to <a href="http://blog.ptsecurity.com/2017/08/disabling-intel-me.html">disable the Intel ME</a>, and I needed to test it.</p>
<p>Unfortunately, enabling the HAP bit which disables the ME Core, didn&#8217;t work on the Librem: it was causing the power LED to blink very slowly, and nothing I could do would stop it until I removed the battery. I first thought the machine was stuck in a boot loop, but it was just blinking really slowly. I figured out eventually that the reason was that the &#8220;HAP&#8221; bit was not added in version 11.0.0, but rather in version 11.0.x (where  x &gt; 0). I decided to try a newer ME firmware version and the HAP bit did work on that, which confirmed that the ME disablement was a feature added to the ME <em>after</em> the version the Librem came with (11.0.0.1180). So now I have a newer ME (version 11.0.18.1002) that is disabled thanks to the HAP bit, but… no Wi-Fi again.</p>
<p>I decided to retry using the FIT tool to configure the ME with the exact same settings as the old ME firmware. I went through every setting available to make sure it matches, and when I tried booting it again, the ME Core was disabled and the Wifi module was working. <em>Great Success!</em></p>
<p><img class="wp-image-39683 size-medium alignnone" src="https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-300x200.png" alt="" width="300" height="200" srcset="https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-300x200.png 300w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-768x512.png 768w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis-1024x683.png 1024w, https://puri.sm/wp-content/uploads/2017/10/intel-me-neutdis.png 1293w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>Obviously, I then needed to do plenty of testing, make sure it&#8217;s all working as it should, confirm that the ME Core was disabled, test the behavior of the system with a ME firmware both disabled <em>and</em> neutralized, and that it has no side effects other than what we wanted.</p>
<p>My previous coreboot <a href="https://source.puri.sm/kakaroto/coreboot-files/src/master/build_coreboot.sh">build script</a> was using the ME image from the local machine, but unfortunately, I can&#8217;t do that now for disabling the ME since it&#8217;s not supported on the ME image that most people have on their machines. So I updated my coreboot build script to make it download the new ME version from a public link (found <a href="http://www.win-raid.com/t832f39-Intel-Engine-Firmware-Repositories.html">here</a>), and I used <a href="http://www.daemonology.net/bsdiff/">bsdiff</a> to patch the ME image with the proper configuration for the WiFi to work. I made sure to check that the only changes to the ME image is in the MFS partition and is configuration data, so the binary patch does not contain any binary code and we can safely distribute it.</p>
<h1>Moving towards the FSP</h1>
<p>The next step will be to continue the reverse-engineering efforts, but for now, I&#8217;ve put that on hold because <em>Positive Technologies</em> have announced that they found an exploit in the ME Firmware allowing the executing of unsigned code. This exploit will be announced at the <a href="https://www.blackhat.com/eu-17/briefings/schedule/index.html#how-to-hack-a-turned-off-computer-or-running-unsigned-code-in-intel-management-engine-8668">BlackHat Europe 2017</a> conference in December, so we&#8217;ll have to wait and see how their exploit works and what we can achieve with it before going further. Also, once <em>Positive Technologies </em>release their information, it might be possible for us to work together and share our knowledge. I am hoping that I can get some information from them on code that they already reverse engineered, so I don&#8217;t have to duplicate all of their efforts. I&#8217;d also like to mention that, just as last time, Igor Skochinsky has generously shared his research with us, but also getting data from <em>Positive Technologies</em> would be a tremendous help, considering how much work they have already invested on this.</p>
<p>Right now, I have decided to move my focus to investigating the FSP, which is another important binary that needs to be reverse-engineered and removed from coreboot. I don&#8217;t think that anyone is currently actively working on it, so hopefully, I can achieve something without duplicating someone else&#8217;s work, and we can advance the cause much faster this way. I think I will concentrate first on the PCH initialization code, then move to the memory initialization.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/deep-dive-into-intel-me-disablement/">Deep dive into Intel Management Engine disablement</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Partners with Nextcloud to Build and Include End-to-End Encrypted Storage Products and Services</title>
		<link>https://puri.sm/posts/purism-partners-with-nextcloud-to-build-and-include-end-to-end-encrypted-storage-products-and-services/</link>
		<pubDate>Wed, 18 Oct 2017 21:16:03 +0000</pubDate>
		<dc:creator><![CDATA[James Rufer]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=39992</guid>
		<description><![CDATA[<p>Purism Partners with Nextcloud to Build and Include End-to-End Encrypted Storage Products and Services SAN FRANCISCO, Calif., October 18, 2017 &#8211; Purism, maker of security-focused computing devices, is partnering with Nextcloud for a series of products and services. Nextcloud, author of a popular open-source self hosted, privacy-focused file sync and share solution, is looking to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-partners-with-nextcloud-to-build-and-include-end-to-end-encrypted-storage-products-and-services/">Purism Partners with Nextcloud to Build and Include End-to-End Encrypted Storage Products and Services</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>Purism Partners with Nextcloud to Build and Include End-to-End Encrypted Storage Products and Services</em></p>
<p>SAN FRANCISCO, Calif., October 18, 2017 &#8211; Purism, maker of security-focused computing devices, is partnering with Nextcloud for a series of products and services. Nextcloud, author of a popular <a href="https://nextcloud.com/endtoend/">open-source </a>self hosted, privacy-focused file sync and share solution, is looking to expand and become a default on Purism’s mobile and desktop computing products.</p>
<p>Purism, fresh off of successfully<a href="https://puri.sm/posts/librem-5-phone-funding-target-met-one-week-after-50percent-mark/"> meeting their crowdfunding goal of $1.5 million</a> to build and deliver the Librem 5, adds another partner in Nextcloud, fresh off the<a href="https://nextcloud.com/blog/nextcloud-introducing-native-integrated-end-to-end-encryption/"> announcement of new end-to-end encryption upgrades in Nextcloud 13</a>. This partnership adds to Purism&#8217;s roster of open-source partners that will aim to make the Librem 5 the most comprehensive free open-source smartphone to ever hit the market.</p>
<blockquote><p>&#8220;Having Nextcloud applications built into the Librem 5, as well as default within PureOS, will help people have a convenient, ethical encrypted file storage service alongside other easy-to-use defaults&#8221; says Todd Weaver, Founder and CEO of Purism.</p>
<p>&#8220;Partnering with Purism gets our software directly into the hands of customers, making their lives easier with security and privacy protection built-in&#8221; says Jos Poortvliet, Co-founder and Head of Marketing at Nextcloud.</p></blockquote>
<p>Purism plans to include Nextcloud in the Librem 5 phone, as well as within PureOS for its Librem 13 and Librem 15 laptops. Additionally, Purism will be discussing with Nextcloud about a future Purism NAS that runs completely free software including Nextcloud and services.</p>
<blockquote><p>&#8220;Nextcloud follows our strict beliefs in digital rights for people, and this partnership is a clear win for users by merging convenience and ethics together into simple products&#8221; adds Weaver.</p></blockquote>
<h1>About Nextcloud</h1>
<p><a href="https://nextcloud.com/">Nextcloud</a> offers the industry-leading fully open source solution for <a href="https://nextcloud.com/storage/">on-premise data handling</a> and communication with an uncompromising focus on <a href="https://nextcloud.com/endtoend/">security and privacy</a> and unprecedented scalability. Nextcloud brings together universal access to data with next-generation secure communication and collaboration capabilities under direct control of IT and integrated with existing compliant infrastructure. Nextcloud&#8217;s open, modular architecture, emphasis on security and advanced federation capabilities enable modern enterprises to leverage their existing assets within and across the borders of their organization.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-partners-with-nextcloud-to-build-and-include-end-to-end-encrypted-storage-products-and-services/">Purism Partners with Nextcloud to Build and Include End-to-End Encrypted Storage Products and Services</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Collaborates with Cryptocurrency Monero to Enable Mobile Payments</title>
		<link>https://puri.sm/posts/purism-collaborates-with-cryptocurrency-monero-to-enable-mobile-payments/</link>
		<pubDate>Fri, 13 Oct 2017 17:22:48 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=37573</guid>
		<description><![CDATA[<p>Purism plans to utilize Monero’s privacy respecting platform to build a cash-like, digital payment system for Librem 5 smartphone users SAN FRANCISCO, Calif., October 13, 2017 — Purism, maker of security focused hardware and software, today announced a collaboration with Monero, the only secure decentralized currency that is private by default. Purism recently started accepting [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-collaborates-with-cryptocurrency-monero-to-enable-mobile-payments/">Purism Collaborates with Cryptocurrency Monero to Enable Mobile Payments</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><i>Purism plans to utilize Monero’s privacy respecting platform to build a cash-like, digital payment system for Librem 5 smartphone users</i></p>
<p><a href="https://puri.sm/wp-content/uploads/2017/10/librem5-monero-wallet.jpg"><img class="alignright wp-image-37704 " src="https://puri.sm/wp-content/uploads/2017/10/librem5-monero-wallet.jpg" alt="" width="467" height="275" srcset="https://puri.sm/wp-content/uploads/2017/10/librem5-monero-wallet.jpg 1280w, https://puri.sm/wp-content/uploads/2017/10/librem5-monero-wallet-300x177.jpg 300w, https://puri.sm/wp-content/uploads/2017/10/librem5-monero-wallet-768x452.jpg 768w, https://puri.sm/wp-content/uploads/2017/10/librem5-monero-wallet-1024x603.jpg 1024w" sizes="(max-width: 467px) 100vw, 467px" /></a></p>
<p>SAN FRANCISCO, Calif., October 13, 2017 — Purism, maker of security focused hardware and software, today announced a collaboration with Monero, the only secure decentralized currency that is private by default. Purism recently started accepting Monero for payments in its online store, and this is a continuation of the company’s support for the cryptocurrency.</p>
<p>As more central services like Equifax are hacked, exposing vulnerable user data in unprecedented ways that cause permanent damage to people’s privacy, it has become clear that centralized, individually identifiable, historic, and permanent digital footprints create a serious threat to digital privacy and human rights. Purism, on the heels of its successful smartphone crowdfunding campaign which has <a href="https://puri.sm/posts/librem-5-phone-funding-target-met-one-week-after-50percent-mark/">raised more than $1.5 million</a>, is looking to address this threat by incorporating cryptocurrencies by default into its mobile phone design, beginning with Monero.</p>
<blockquote><p>&#8220;We must proactively plan for and address digital rights issues in the here and now, because by the time we face them in the future the damage will be irreversible,” said Todd Weaver, Founder &amp; CEO of Purism. “Collaboration with Monero allows us to offer users a much lower barrier to entry for leveraging the benefits of a cryptocurrency, and our aim is to make it incredibly simple to use your Librem 5 smartphone to make secure, cash-like payments that safeguard your private information.&#8221;</p></blockquote>
<p>Monero&#8217;s cryptocurrency offers a fungible, decentralized, private currency that is created to be identical to centuries of physical world transaction processes, primarily that cash given for goods or services is a one-time, non-recorded, mutual transaction.</p>
<blockquote><p>“Collaborating with Purism addresses a major pain point for Monero. The Librem 5 makes it easy for the average user to use Monero for real world transactions on a mobile platform. In addition, the Librem 5, by using Free Libre Open Source Software provides the user with the opportunity to verify to a very high level its end point security, privacy and decentralization. This is in sharp contrast to many mobile platforms where the user has to trust a proprietary implementation. I am very excited to see the Librem 5 planning to have Monero support by default,” Francisco Cabañas, Core Team Member, The Monero Project.</p>
<p>&#8220;Creating a future where a person can buy or sell digital goods or services and still respect their privacy, similarly to cash but on the Internet, is a long-time dream that we plan to make a reality,&#8221; says Weaver.</p></blockquote>
<p>Integrating Monero into Purism’s Librem 5 smartphone as part of its default mobile payment system can solve the problems plaguing the online transaction space, removing banks from the transaction, removing all central storage of private user data, keeping transactions private between two parties, all backed by the strength of an immutable cryptographic blockchain ledger.</p>
<h1>About Monero</h1>
<p><a href="https://getmonero.org/resources/about">The Monero Project</a> is a grassroots, community-driven initiative that advocates for privacy on a global scale by producing several free libre open source software projects, with the flagship offering being Monero, a fungible and decentralized cryptocurrency. The important guiding philosophies of Monero are security (ensuring that users are able to trust Monero with their transactions, without risk of error or attack), privacy (ensuring that users can transact Monero without fear of coercion, censorship, or surveillance), and decentralization (ensuring that no single person or group can control the network or reverse transactions). The goal is to provide a level of fungibility and privacy that is analogous to that of cash for the digital world.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-collaborates-with-cryptocurrency-monero-to-enable-mobile-payments/">Purism Collaborates with Cryptocurrency Monero to Enable Mobile Payments</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Over $1.6 million raised for the Librem 5 — What this means for you</title>
		<link>https://puri.sm/posts/librem-5-over-1-6-million-what-this-means-for-you/</link>
		<pubDate>Wed, 11 Oct 2017 19:35:00 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=36736</guid>
		<description><![CDATA[<p>This Monday, 14 days early, we have crossed a historic milestone. By helping us reach our $1.5M goal early, you have secured your future and freed yourself from the chains of privacy-stripping mobile platforms and allowed us to continue upholding your digital rights with a convenient product made &#8220;by the people and for the people&#8221;; [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-over-1-6-million-what-this-means-for-you/">Over $1.6 million raised for the Librem 5 — What this means for you</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This Monday, 14 days early, we have crossed a historic milestone. By helping us reach our $1.5M goal early, you have secured your future and freed yourself from the chains of privacy-stripping mobile platforms and allowed us to continue upholding your digital rights with a convenient product made &#8220;by the people and for the people&#8221;; you have proven that there is a market demand for in-depth security &amp; privacy-focused smartphones that can withstand the test of credibility, by virtue of true community ownership and auditability of the code.</p>
<p>With this milestone comes not only rejoicing about our collective achievement (and the potential of an even greater achievement in weeks to come, as contributions continue to add-up), but also the assurance that <strong>the Librem 5 phone project, as a product, <em>will</em> happen. </strong>The dreams of a generation will finally come to reality with a convenient smartphone hardware offering that you can truly own and control.</p>
<p><img class="alignnone size-full wp-image-35427" src="https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success.jpg" alt="" width="1280" height="900" srcset="https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success.jpg 1280w, https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-300x211.jpg 300w, https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-768x540.jpg 768w, https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-1024x720.jpg 1024w" sizes="(max-width: 1280px) 100vw, 1280px" /></p>
<p>The $1.5 million milestone allows us to do a couple of things as it relates to the production of the physical product:</p>
<ul>
<li>Immediately resume negotiations with component suppliers, with a much stronger hand (with money on the table to enter contractual relationships)</li>
<li>Produce more complete prototypes to evaluate, in order to begin development now</li>
<li>Move into hardware production as soon as possible, for the development kit</li>
<li>Begin developing the base software platform with the help of the community (fully in the open, upstream-first approach) to bring the product&#8217;s software to first stage &#8220;usable state&#8221; for early adopters.</li>
<li>Move into hardware production for finalized hardware products, begin order fulfillment for those who want their devices early (and are ready to help us smooth out the rough edges from the software side, in the beginning).</li>
</ul>
<p>This will also allow us to seek additional partnerships and investment in parallel to amplify and speed-up our project.</p>
<h1>&#8230;let&#8217;s go above and beyond: to stretch goals!</h1>
<p>The goals above already represent a groundbreaking step for users around the world who have been clamoring—for years—for a mobile platform they can truly trust and own. But it&#8217;s only the beginning! As we are writing this, we are already at $1.6 million and counting, but we need to push further to accomplish more.</p>
<p>Indeed, to make this hardware product an even more compelling offer beyond early-adopters, we should go beyond the &#8220;base platform&#8221; and make it into an &#8220;awesome user experience&#8221;, as much as possible. This is something we hope to achieve by reaching a number of stretch goals in this campaign:</p>
<ol>
<li>$4m = VoIP phone number, call-in, call-out features: what this means is that we need to reach the $4 million milestone to hire the Matrix team to implement calls to/from the POTS/PSTN, to complement the existing VoIP features.</li>
<li>$6m = Reverse engineering faster WiFi/Bluetooth firmware</li>
<li>$8m = Free encrypted VPN tunnel service for all backers for 1 year</li>
<li>$10m = Run Android applications in isolation on the Librem 5</li>
</ol>
<p>Let&#8217;s do this!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-over-1-6-million-what-this-means-for-you/">Over $1.6 million raised for the Librem 5 — What this means for you</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Meets Its $1.5 Million Goal for Security Focused Librem 5 Smartphone One Week After Surging Past the 50% Mark</title>
		<link>https://puri.sm/posts/librem-5-phone-funding-target-met-one-week-after-50percent-mark/</link>
		<pubDate>Mon, 09 Oct 2017 23:59:10 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=35417</guid>
		<description><![CDATA[<p>Self-hosted crowdfunder out grosses combined funding of Purism’s previous three campaigns SAN FRANCISCO, Calif., October 9, 2017 — Purism, the social purpose corporation which designs and produces popular privacy conscious hardware and software, has reached its $1.5 million crowdfunding goal to create the world’s first encrypted, open smartphone ecosystem that gives users complete device control, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-phone-funding-target-met-one-week-after-50percent-mark/">Purism Meets Its $1.5 Million Goal for Security Focused Librem 5 Smartphone One Week After Surging Past the 50% Mark</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>Self-hosted crowdfunder out grosses combined funding of Purism’s previous three campaigns</em></p>
<p><a href="https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-alt.jpg"><img class="alignright wp-image-35428" src="https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-alt-1024x720.jpg" alt="" width="570" height="401" srcset="https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-alt-1024x720.jpg 1024w, https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-alt-300x211.jpg 300w, https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-alt-768x540.jpg 768w, https://puri.sm/wp-content/uploads/2017/10/librem5-campaign-1.5m-success-alt.jpg 1280w" sizes="(max-width: 570px) 100vw, 570px" /></a>SAN FRANCISCO, Calif., October 9, 2017 — Purism, the social purpose corporation which designs and produces popular privacy conscious hardware and software, has reached its $1.5 million crowdfunding goal to create the world’s first encrypted, open smartphone ecosystem that gives users complete device control, the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a>. After amassing incredible support from GNU/Linux enthusiasts and the Free/Open-Source community at large, forging partnerships <a href="https://puri.sm/posts/librem5-kde-partnership-announcement/">with KDE</a> and <a href="https://puri.sm/posts/gnome-foundation-partners-with-purism-to-support-its-efforts-to-build-the-librem-5-smartphone/">the GNOME Foundation</a> in the process, Purism plans to use the remaining two weeks of the campaign to push for its stretch goals and start working on the next steps for bringing the phone to market.</p>
<p>Reaching the $1.5 million milestone weeks ahead of schedule enables Purism to accelerate the production of the physical product. The company plans to move into hardware production as soon as possible to assemble a developer kit as well as initiate building the base software platform, which will be publicly available and open to the developer community.</p>
<p>Breaking away from the iOS/Android OS duopoly, the Librem 5’s isolation-based security-focused PureOS will offer basic communication services: phone, email, messaging, voice, camera, browsing, and will expand after shipment and over time to update with more free software applications, through shared collaboration with the developer community (not “read-only open source”, but true free software collaboration). In addition to the ability to integrate with both GNOME and Plasma Mobile, the $599 Librem 5 will come equipped with hardware kill switches, a popular feature in Purism’s laptops, that allow for users to turn on and off the camera, microphone, WiFi and Bluetooth at will.</p>
<blockquote><p>“We are thrilled that the community has supported us in making this goal a reality, and now comes the real work of bringing the Librem 5 to production and into the hands of our backers,” says Todd Weaver, Founder and CEO, Purism. “We believe we’ve demonstrated a growing interest in technologies that proactively protect and secure our digital identities, and are proud to be a part of catalyzing this movement.”</p></blockquote>
<p>The impressive milestone has already generated celebration in the community:</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">Massive congrats to <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> — they reached their crowdfunding goal with 14 days to spare! <a href="https://twitter.com/hashtag/linux?src=hash&amp;ref_src=twsrc%5Etfw">#linux</a> <a href="https://twitter.com/hashtag/opensource?src=hash&amp;ref_src=twsrc%5Etfw">#opensource</a> <a href="https://t.co/Ss85ChPG0E">pic.twitter.com/Ss85ChPG0E</a></p>
<p>&mdash; OMG! UBUNTU! (@omgubuntu) <a href="https://twitter.com/omgubuntu/status/917475740945350657?ref_src=twsrc%5Etfw">October 9, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">LOVE my <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> Librem 13 and now the Librem 5 phone is happening. It&#39;s a great day for <a href="https://twitter.com/hashtag/privacy?src=hash&amp;ref_src=twsrc%5Etfw">#privacy</a> and <a href="https://twitter.com/hashtag/security?src=hash&amp;ref_src=twsrc%5Etfw">#security</a>. Go and support the effort!</p>
<p>&mdash; lonelymtn (@lonelymtn) <a href="https://twitter.com/lonelymtn/status/917551395603046400?ref_src=twsrc%5Etfw">October 10, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/Freedom?src=hash&amp;ref_src=twsrc%5Etfw">#Freedom</a> is coming! Keeping an eye on the <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> Librem 5 the phone that focuses on <a href="https://twitter.com/hashtag/security?src=hash&amp;ref_src=twsrc%5Etfw">#security</a> by design and <a href="https://twitter.com/hashtag/privacy?src=hash&amp;ref_src=twsrc%5Etfw">#privacy</a> protection by default</p>
<p>&mdash; AllonZ (@realAllonZ) <a href="https://twitter.com/realAllonZ/status/917368700549951489?ref_src=twsrc%5Etfw">October 9, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>https://twitter.com/keaplus3/status/917484404792025089</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">Librem 5 – passed 100%! The revolution will be done! <a href="https://twitter.com/hashtag/phone?src=hash&amp;ref_src=twsrc%5Etfw">#phone</a> NO <a href="https://twitter.com/hashtag/android?src=hash&amp;ref_src=twsrc%5Etfw">#android</a> NO <a href="https://twitter.com/hashtag/IPhone?src=hash&amp;ref_src=twsrc%5Etfw">#IPhone</a> <a href="https://t.co/mlLEbYr9oC">https://t.co/mlLEbYr9oC</a></p>
<p>&mdash; Vincenzo Nardelli (@VinceNardelli) <a href="https://twitter.com/VinceNardelli/status/917476464001474566?ref_src=twsrc%5Etfw">October 9, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-phone-funding-target-met-one-week-after-50percent-mark/">Purism Meets Its $1.5 Million Goal for Security Focused Librem 5 Smartphone One Week After Surging Past the 50% Mark</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Initial Touch and Web Browsing experiments on Librem 5 prototyping boards</title>
		<link>https://puri.sm/posts/librem-5-touch-and-web-browsing/</link>
		<pubDate>Thu, 05 Oct 2017 15:16:50 +0000</pubDate>
		<dc:creator><![CDATA[Nicole Faerber]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Benchmarks and testing]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=32299</guid>
		<description><![CDATA[<p>When it comes to prototyping the Librem 5, we are working hard and making progress on several sides. As you have seen in yesterday&#8217;s testing update blog post, we are working on development hardware in order to start getting software development groundwork done. Today, I&#8217;m sharing the results of a quick experiment with web and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-touch-and-web-browsing/">Initial Touch and Web Browsing experiments on Librem 5 prototyping boards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>When it comes to prototyping the Librem 5, we are working hard and making progress on several sides. As you have seen in <a href="https://puri.sm/posts/librem-5-roadmap-to-imx8/">yesterday&#8217;s testing update blog post</a>, we are working on development hardware in order to start getting software development groundwork done. Today, I&#8217;m sharing the results of a quick experiment with web and touch on a prototype board.<span id="more-32299"></span></p>
<p><a href="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1.jpeg"><img class="size-medium wp-image-29842 alignleft" src="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1-300x188.jpeg" alt="" width="300" height="188" srcset="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1-300x188.jpeg 300w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1-768x480.jpeg 768w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1.jpeg 800w" sizes="(max-width: 300px) 100vw, 300px" /></a>So far we have managed to get a pure mainline Linux kernel 4.13.5 to work on the development hardware which is based on a i.MX6DL (dual core 1GHz), although we&#8217;re still evaluating i.MX8 in parallel. For this test setup I had a 10&#8243; 1280&#215;800 LVDS display attached, with a temporary capacitive touchscreen. The before mentioned blog post has some pictures of the boards. Why mainline? Because we want to be as upstream and mainline as possible. And we want to be blob free too, so if a current mainline Linux kernel is working then this is very good—and it is!</p>
<p>As the base OS for this test we used Debian unstable for ARM hardfloat (armhf). We need the unstable branch since we need to have <a href="https://www.mesa3d.org/" target="_blank" rel="noopener">Mesa</a> &gt;17.1 for proper 3D support. Why Debian? Because <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a> is based on Debian and again we want to be as close to upstream and mainline as possible, so we try this first. Any deviation from upstream would mean additional support effort, which we want to avoid as much as possible—not just because of the effort involved, but also because we want to create a device that neatly fits into an overall vision of a free and open source IT world.</p>
<p>The 3D acceleration support is provided by the Etnaviv kernel driver (mainline since 4.6) and the userspace Etnaviv support by Mesa. Using this combination we can run <a href="https://wayland.freedesktop.org/" target="_blank" rel="noopener">Wayland</a> in accelerated mode giving nice UI performance also for 2D applications. For testing UI stuff we are currently fully basing on Wayland with the Weston compositing manager. You can see some more screenshots in <a href="https://puri.sm/posts/the-librem-5-development-roadmap-and-progress/" target="_blank" rel="noopener">yesterday&#8217;s post</a>.</p>
<p>A lot of desktop infrastructure still depends on X11 and some X server to run, even if it is only running in the background.</p>
<ul>
<li>Due to its very long history, the X11 protocol and some features of the X server have been in use everywhere in desktop environments and applications, and it will take some time for these to be replaced with newer Wayland based or other code. But this effectively means that we can not <em>yet</em> run, for example, a full GNOME on the development boards.</li>
<li>On regular PCs this is usually circumvented by running Xwayland in the background, which provides X server functions and uses Wayland as its drawing surface. For some reason—I am still unsure about the root cause—Xwayland does not work on our setup yet. First of all, Xwayland does not support GLES but only pure OpenGL… but the Etnaviv Mesa driver only supports GLES so Xwayland falls back to software rendering—and then it crashes. So for now, I am stuck with Wayland + Weston.</li>
</ul>
<p>This is not totally bad since it gives us a good idea of what is already working properly with Wayland and what isn&#8217;t.</p>
<p>I also wanted to see how more complex applications (like a web browser) behave in this environment… But all the browsers I tried either used ancient versions of <a href="https://www.webkitgtk.org/" target="_blank" rel="noopener">WebKitGTK</a> (and thus GTK2 without Wayland support) or they depended on X11 for some reason. I tried Epiphany, netsurf, Firefox and Chromium (Chromium just silently crashed). So what does a good Haeckse do in this case? Write her own 🙂</p>
<p><img class="wp-image-32301 size-large alignnone" src="https://puri.sm/wp-content/uploads/2017/10/devboard-web-wayland-1024x640.png" alt="" width="960" height="600" srcset="https://puri.sm/wp-content/uploads/2017/10/devboard-web-wayland-1024x640.png 1024w, https://puri.sm/wp-content/uploads/2017/10/devboard-web-wayland-300x188.png 300w, https://puri.sm/wp-content/uploads/2017/10/devboard-web-wayland-768x480.png 768w, https://puri.sm/wp-content/uploads/2017/10/devboard-web-wayland.png 1280w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<p>Using WebKit2GTK, this is pretty easy and straightforward (my code is below, and as you can see it&#8217;s pretty short! But be warned, this was just a quick&#8217;n&#8217;dirty test thing!), which allowed me to successfully launch a webpage as you can see in the screenshot above. On the left is a terminal window where I started the application and on the right is the application output window displaying the Purism website—<em>ta-da! </em>As I mentioned earlier, we also have a touchscreen attached to the screen of the board and, although you can&#8217;t tell just by looking at the screenshot, I can scroll the web view with a finger, and two finger pinch zooming does work. Excellent!</p>
<p>Here&#8217;s the code for my ultra-mini webkit browser (which I compiled on the development board itself):</p>
<pre>#include &lt;gtk/gtk.h&gt;
#include &lt;glib/gprintf.h&gt;
#include &lt;webkit2/webkit2.h&gt;
#include 


typedef struct {
	GtkWidget *win;
	GtkWidget *entry;
	GtkWidget *webview;
} appdata; 


void uri_entered (GtkEntry *entry, gpointer user_data)
{
appdata *data = (appdata *)user_data;
const gchar *entry_text;

	entry_text = gtk_entry_get_text(GTK_ENTRY(data-&gt;entry));
	if (entry_text != NULL &amp;&amp; strlen(entry_text) != 0)
		webkit_web_view_load_uri(WEBKIT_WEB_VIEW(data-&gt;webview), entry_text);
}


static void web_view_load_changed (WebKitWebView  *web_view,
                                   WebKitLoadEvent load_event,
                                   gpointer        user_data)
{
appdata *data = (appdata *)user_data;

    switch (load_event) {
    case WEBKIT_LOAD_STARTED:
        g_printf("load started '%s'\n", webkit_web_view_get_uri (web_view));
	gtk_entry_set_text(GTK_ENTRY(data-&gt;entry), webkit_web_view_get_uri (web_view));
        break;
    case WEBKIT_LOAD_REDIRECTED:
        g_printf("load redirected '%s'\n", webkit_web_view_get_uri (web_view));
	gtk_entry_set_text(GTK_ENTRY(data-&gt;entry), webkit_web_view_get_uri (web_view));
        break;
    case WEBKIT_LOAD_COMMITTED:
        g_printf("load committed '%s'\n", webkit_web_view_get_uri (web_view));
        break;
    case WEBKIT_LOAD_FINISHED:
        g_printf("load finished '%s'\n", webkit_web_view_get_uri (web_view));
        break;
    }
}


int main(int argc, char** argv)
{
GtkWidget *vb;
GtkEntryBuffer *eb;
appdata mdata;

	gtk_init(&amp;argc, &amp;argv);
	mdata.win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_default_size (GTK_WINDOW(mdata.win), 640, 480);
	g_signal_connect (mdata.win, "delete_event", G_CALLBACK (gtk_main_quit), NULL);

	vb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
	gtk_container_add(GTK_CONTAINER(mdata.win), GTK_WIDGET(vb));

	eb = gtk_entry_buffer_new(NULL, -1);
	mdata.entry = gtk_entry_new_with_buffer(eb);
	gtk_entry_set_text(GTK_ENTRY(mdata.entry), "https://www.wp.puri.sm/");
	g_signal_connect(G_OBJECT(mdata.entry), "activate", G_CALLBACK(uri_entered), &amp;mdata);

	gtk_box_pack_start(GTK_BOX(vb), mdata.entry, FALSE, FALSE, 0);

	mdata.webview = webkit_web_view_new();
	g_signal_connect(mdata.webview, "load-changed", G_CALLBACK(web_view_load_changed), &amp;mdata);
	gtk_box_pack_start(GTK_BOX(vb), mdata.webview, TRUE, TRUE, 0);

	gtk_widget_show_all(mdata.win);

	webkit_web_view_load_uri(WEBKIT_WEB_VIEW(mdata.webview), "https://www.wp.puri.sm/");

	gtk_main();
}
</pre>
<p>And here is a matching Makefile:</p>
<pre>CC = gcc
CFLAGS = -g -O2 -Wall

# for GTK3
CFLAGS += `pkg-config --cflags gtk+-wayland-3.0`
LDFLAGS += `pkg-config --libs gtk+-wayland-3.0`

# for WebKit GTK3
CFLAGS += `pkg-config --cflags webkit2gtk-4.0`
LDFLAGS += `pkg-config --libs webkit2gtk-4.0`

OBJS = miniwebkit.o
PRG = miniwebkit

all: $(PRG)

$(PRG): $(OBJS)
	$(CC) -o $(PRG) $(OBJS) $(LDFLAGS)

clean:
	rm -f $(OBJS) $(PRG)
</pre>
<p>Pretty easy, isn&#8217;t it?</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-touch-and-web-browsing/">Initial Touch and Web Browsing experiments on Librem 5 prototyping boards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Campaign Surges Past One Million Dollars</title>
		<link>https://puri.sm/posts/librem-5-campaign-surges-past-one-million-dollars/</link>
		<pubDate>Wed, 04 Oct 2017 22:23:06 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=31468</guid>
		<description><![CDATA[<p>Purism Raises $1 Million to Deliver KDE, GNOME Foundation and Matrix Endorsed Security Phone to Crowdfunding Backers Support for Encrypted, Privacy Smartphone Librem 5 Reaches Two-Thirds Mark With 2.5 Weeks To Go SAN FRANCISCO, Calif., October 4, 2017 — As overwhelming support continues to pour in from the people wanting to have an ethical mobile [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-campaign-surges-past-one-million-dollars/">Librem 5 Campaign Surges Past One Million Dollars</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><b>Purism Raises $1 Million to Deliver KDE, GNOME Foundation and Matrix Endorsed Security Phone to Crowdfunding Backers</b></p>
<p><a href="https://shop.puri.sm/shop/librem-5/"><img class="alignnone size-large wp-image-31469" src="https://puri.sm/wp-content/uploads/2017/10/librem5-1million-milestone-1024x720.jpg" alt="" width="960" height="675" srcset="https://puri.sm/wp-content/uploads/2017/10/librem5-1million-milestone-1024x720.jpg 1024w, https://puri.sm/wp-content/uploads/2017/10/librem5-1million-milestone-300x211.jpg 300w, https://puri.sm/wp-content/uploads/2017/10/librem5-1million-milestone-768x540.jpg 768w, https://puri.sm/wp-content/uploads/2017/10/librem5-1million-milestone.jpg 1280w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p><b>Support for Encrypted, Privacy Smartphone Librem 5 Reaches Two-Thirds Mark With 2.5 Weeks To Go</b></p>
<p>SAN FRANCISCO, Calif., October 4, 2017 — As overwhelming support continues to pour in from the people wanting to have an ethical mobile phone that avoids Google Android and Apple iOS, Purism, the manufacturer that builds high-quality, top of the range and freedom-respecting devices, earlier today surpassed the $1 million milestone in their current crowdfunding campaign which will allow the company to build the Librem 5: the first truly privacy and security focused smartphone that has been endorsed by Matrix.org, KDE and the GNOME Foundation.</p>
<p>Purism, no stranger to successful crowdfunding campaigns, has built and established a strong reputation from programmers, security experts, and people wanting to protect their digital life by delivering on their promise to manufacture and distribute high-end privacy and security focused laptops that are the most secure high-end current computing devices on the market today. Crowdfunded campaigns for the Librem 15 and Librem 13 laptops in 2015 both doubled their funding goals and was delivered to backers. Reception and demand for both laptops fueled Purism to manufacture more units which were made accessible for General Availability earlier this summer.</p>
<p>One of the more popular features from the Librem 15 and Librem 13 that will be included in the $599 Librem 5 is the hardware kill switches that allow users to turn on and off the camera, microphone, WiFi and Bluetooth at will.</p>
<p>Providing a new alternative outside of the iOS/Android OS duopoly, the Librem 5’s isolation-based security-focused PureOS, upon shipment, in addition to the having the ability to integrate with both GNOME and Plasma Mobile, will offer basic communication services: phone, email, messaging, voice, camera, browsing, and will expand after shipment and over time to update with more free software applications, through shared collaboration with the developer community. Key to providing this in the Librem 5, Purism is partnering with open​ ​source​ ​communications​ ​project​ ​Matrix.org to enable end-to-end​ ​encrypted​, ​decentralized communication​ ​in​ the ​dialler​ ​and​ ​messaging​ ​app.</p>
<p>The crowdfunding campaign raised $100,000 in the first 100 hours and raised over $200,000 in each of the last three weeks, reaching $1 million in individual preorders, enterprise sales and community support with just under three weeks left to go.</p>
<p>News of the proposed phone has been met with enthusiasm and excitement for the hope of this new fully free/libre and open-source GNU/Linux phone hitting the market:</p>
<p><a href="https://www.youtube.com/watch?v=4SwE9W8JasA&amp;t=529s">Librem 5, GNU/Linux-powered smartphone w/Privacy features &#8211; Lunduke Show</a></p>
<p><a href="https://www.youtube.com/watch?v=RrPS-EAqr9E&amp;t=76s">Why you should support the Librem 5 phone. (IT RUNS GNU/LINUX)</a></p>
<p><a href="https://www.youtube.com/watch?v=udByKj8Y9Yo&amp;t=151s">Purism’s Librem 5 Phone &#8211; Count Me In 🙂</a></p>
<p><a href="https://www.youtube.com/watch?v=hwFjWDAyG38">Matrix Live &#8211; Purism Librem 5 Special!</a></p>
<blockquote><p>“Crossing $1 million in funding this early with the help of uniting many ethical communities and security-conscious parties has been really exciting,” says Todd Weaver, Founder and CEO, Purism. “We are on our way to the $1.5m goal allowing us to deliver a phone that finally frees us from the shackles of the Android and iOS smartphone duopoly.”</p></blockquote>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-campaign-surges-past-one-million-dollars/">Librem 5 Campaign Surges Past One Million Dollars</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The Librem 5 Development Roadmap and Progress Towards i.MX 8</title>
		<link>https://puri.sm/posts/librem5-roadmap-to-imx8/</link>
		<pubDate>Wed, 04 Oct 2017 14:45:55 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Benchmarks and testing]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20964</guid>
		<description><![CDATA[<p>The Librem 5 crowdfunding campaign is still cranking along nicely, while it is going on we wanted to provide a progress report on the hardware selection as well as the advancements with our existing development boards. TL;DR: The base hardware with i.MX 6 is demonstrably working. i.MX 8M, Etnaviv, full HD, are the likely hardware [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-roadmap-to-imx8/">The Librem 5 Development Roadmap and Progress Towards i.MX 8</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5 crowdfunding campaign</a> is still cranking along nicely, while it is going on we wanted to provide a progress report on the hardware selection as well as the advancements with our existing development boards.</p>
<p><b>TL;DR:</b></p>
<ul>
<li>The base hardware with i.MX 6 is demonstrably working.</li>
<li>i.MX 8<em>M,</em> Etnaviv, full HD, are the likely hardware combination candidates for the Librem 5 phone.</li>
</ul>
<hr />
<h1>Development Hardware Proving Positive</h1>
<p>Showing photos of low-level progress is always a challenge, however showing Wayland and applications running on development hardware by definition means that the lower level parts are working! Booting from microSD into a Debian GNU/Linux unstable with most of the UI installed&#8230;</p>
<figure id="attachment_29822" style="width: 960px" class="wp-caption aligncenter"><a href="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-v1.jpeg"><img class="size-large wp-image-29822" src="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-v1-1024x683.jpeg" alt="" width="960" height="640" srcset="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-v1-1024x683.jpeg 1024w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-v1-300x200.jpeg 300w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-v1-768x512.jpeg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">Purism Librem 5 phone (early development boards) for testing CPU/GPU and GNU/Linux</figcaption></figure>
<figure id="attachment_29831" style="width: 800px" class="wp-caption aligncenter"><a href="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-wayland-terminal-v1.jpeg"><img class="size-full wp-image-29831" src="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-wayland-terminal-v1.jpeg" alt="" width="800" height="500" srcset="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-wayland-terminal-v1.jpeg 800w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-wayland-terminal-v1-300x188.jpeg 300w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-wayland-terminal-v1-768x480.jpeg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a><figcaption class="wp-caption-text">Purism Librem 5 (early development boards) booting the Linux kernel, Wayland, and a terminal in early August 2017.</figcaption></figure>
<figure id="attachment_29842" style="width: 800px" class="wp-caption aligncenter"><a href="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1.jpeg"><img class="size-full wp-image-29842" src="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1.jpeg" alt="" width="800" height="500" srcset="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1.jpeg 800w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1-300x188.jpeg 300w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-v1-768x480.jpeg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a><figcaption class="wp-caption-text">Purism Librem 5 (early development boards) booting Debian GNU/Linux unstable, Wayland, and GNOME Settings in September 2017</figcaption></figure>
<figure id="attachment_29852" style="width: 960px" class="wp-caption aligncenter"><a href="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-photo-render-screenshot-v1.jpeg"><img class="size-large wp-image-29852" src="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-photo-render-screenshot-v1-1024x640.jpeg" alt="" width="960" height="600" srcset="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-photo-render-screenshot-v1-1024x640.jpeg 1024w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-photo-render-screenshot-v1-300x188.jpeg 300w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-photo-render-screenshot-v1-768x480.jpeg 768w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-photo-render-screenshot-v1.jpeg 1280w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">Purism Librem 5 (early development boards) screenshot of a photo rendered</figcaption></figure>
<hr />
<h1>What led us to choose i.MX 6/i.MX 8</h1>
<p>We have tested nearly every combination of CPU (and GPU, see further below), Purism&#8217;s goals of creating hardware that is ethical, runs free software, can separate baseband from main CPU, and the ability to run GNU/Linux (not Android), quickly narrowed our scope to i.MX 6 as one of the only viable options.</p>
<p>We have been testing and working with i.MX 6 and are pleased to report healthy progress with that hardware, as you can see from the photos, we have the Linux kernel booting, Wayland running, and in these photos GNOME/GTK and even Gnome Settings showing.</p>
<figure id="attachment_29856" style="width: 960px" class="wp-caption aligncenter"><a href="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-screenshot-v1.jpeg"><img class="size-large wp-image-29856" src="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-screenshot-v1-1024x640.jpeg" alt="" width="960" height="600" srcset="https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-screenshot-v1-1024x640.jpeg 1024w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-screenshot-v1-300x188.jpeg 300w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-screenshot-v1-768x480.jpeg 768w, https://puri.sm/wp-content/uploads/2017/09/purism-librem-5-development-board-gnome-settings-screenshot-v1.jpeg 1280w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">Purism Librem 5 (early development boards) running Debian GNU/Linux unstable, wayland, and GNOME Settings screenshot</figcaption></figure>
<h2>Heading towards i.MX 8</h2>
<p>We have been making some progress that makes us confident to say we will likely be able to use i.MX 8 for the Librem 5 phone hardware, primarily because:</p>
<ol>
<li>We will be able to evaluate a i.MX 8<em>M</em> pre-production board November 2017</li>
<li>Our extended community can evaluate a handful of i.MX 8<em>M</em> sample chips in November 2017</li>
<li>More evaluation boards should be available before year-end 2017</li>
<li>In Q1 of 2018 we can get i.MX 8<em>M</em> into production. This is well ahead of our required hardware selection date of April 2018, so we will <b>very likely</b> be using the i.MX 8<em>M</em> in the Librem 5.</li>
</ol>
<figure id="attachment_31717" style="width: 960px" class="wp-caption aligncenter"><a href="https://puri.sm/wp-content/uploads/2017/10/i.mx8m-eval-board-2017-09-29.jpeg"><img class="size-large wp-image-31717" src="https://puri.sm/wp-content/uploads/2017/10/i.mx8m-eval-board-2017-09-29-1024x972.jpeg" alt="" width="960" height="911" srcset="https://puri.sm/wp-content/uploads/2017/10/i.mx8m-eval-board-2017-09-29-1024x972.jpeg 1024w, https://puri.sm/wp-content/uploads/2017/10/i.mx8m-eval-board-2017-09-29-300x285.jpeg 300w, https://puri.sm/wp-content/uploads/2017/10/i.mx8m-eval-board-2017-09-29-768x729.jpeg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">i.MX 8M (early evaluation boards)</figcaption></figure>
<hr />
<h2>State of the GPUs… or &#8220;Why we chose i.MX 6/8 + Vivante&#8221;</h2>
<p>GPU drivers have been a big issue for a long time in the free software world. Manufacturers would typically not release any specification or documentation but only binary-only drivers. For PC hardware this problem has somewhat been resolved, which is why Purism uses Intel GPUs on our Librem products, since Intel has free drivers merged in mainline Linux kernel. But for ARM SOCs, the situation is not ideal.</p>
<ul>
<li><strong>MALI</strong>: One of the biggest players in the ARM field is MALI. The MALI core was originally developed by Falanx Microsystems until ARM bought their patents and copyrights and is now licensing the MALI core for ARM designs. ARM is not releasing any specs about the MALI GPU cores and does not provide any free software drivers for them. (The MALI400 is e.g. also used in the Allwinner A64 chip which again is used on Pine64 and in the Pinebook). There is an effort to develop a free driver by reverse engineering existing code, which is called LIMA, but its functionality and support is still limited.</li>
<li><strong>Adreno</strong>: another big one is the Adreno GPU core, found in many Qualcomm Snapdragon SOCs. For this one also, no documentation exists although a reverse engineering project produced a pretty well working driver, called <em>freedreno,</em> which is also supported by current Mesa versions.</li>
<li><strong>PowerVR</strong>: the PowerVR GPU cores are found mostly in embedded PowerPCs and Texas Instruments &#8220;OMAP&#8221; CPUs. As of today, we are not aware of any free development for these, only some binary-only drivers are available. There is an effort started by the Free Software Foundation but it seems that the project has stalled for some time now.</li>
<li><strong>Tegra</strong>: the first generation nVIDIA &#8220;Tegra&#8221; SOCs has Linux kernel mainline support since 2012. The latest Tegra SOCs use the same GPU building blocks as the desktop PC graphics cards and can be used with the Nouveau GPU driver.</li>
<li>i.MX 6 <em><strong>Vivante</strong>:</em> since Linux kernel 4.8, a new set of DRM/GPU drivers has been incorporated into the mainline Linux kernel, the so-called <em>Etnaviv.</em> Etnaviv support is also included in Mesa, starting with Mesa 17. We have successfully been operating a prototype for our phone using a mainline Linux kernel 4.12.4 with Etnaviv support. From microSD we booted into a Debian GNU/Linux unstable with most of the UI stuff installed. It works! We can safely say that upstream OpenGL hardware GPU support for i.MX 6 has landed in major Linux distributions, which is great news since hardware GUI acceleration is badly needed for any type of modern mobile GUI.</li>
</ul>
<p>With the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a>, we are very excited to be advancing the mobile phone space to be ethical, respect digital rights, run GNU/Linux, be secure, and create a future that we are proud to be part of. We will be posting regular development updates as we progress with the hardware, software, and partners.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/08/phone-turn-around-kde.png"><img class="aligncenter size-large wp-image-31646" src="https://puri.sm/wp-content/uploads/2017/08/phone-turn-around-kde-1024x576.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2017/08/phone-turn-around-kde-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2017/08/phone-turn-around-kde-300x169.png 300w, https://puri.sm/wp-content/uploads/2017/08/phone-turn-around-kde-768x432.png 768w, https://puri.sm/wp-content/uploads/2017/08/phone-turn-around-kde.png 1280w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-roadmap-to-imx8/">The Librem 5 Development Roadmap and Progress Towards i.MX 8</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 Surges Past 50 Percent of its $1.5 Million Funding Goal To Deliver Encrypted, Privacy Smartphone That Won’t Track Users</title>
		<link>https://puri.sm/posts/librem5-over-50-percent-funding-goal/</link>
		<pubDate>Mon, 02 Oct 2017 15:27:40 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Testimonials and user stories]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=31139</guid>
		<description><![CDATA[<p>Crowdfunding support for GNOME Foundation and KDE backed security phone from Purism tops $900,000 with 3 weeks to go SAN FRANCISCO, Calif., October 2, 2017 — With overwhelming support from the Free/Libre, Open Source and GNU/Linux communities in addition to recent partnerships with KDE and the GNOME Foundation, Purism, the manufacturer that builds high-quality, top [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-over-50-percent-funding-goal/">Librem 5 Surges Past 50 Percent of its $1.5 Million Funding Goal To Deliver Encrypted, Privacy Smartphone That Won’t Track Users</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>Crowdfunding support for GNOME Foundation and KDE backed security phone from Purism tops $900,000 with 3 weeks to go</em></p>
<p><img class="alignright wp-image-30039" src="https://puri.sm/wp-content/uploads/2017/09/l5-progress-50.jpg" alt="" width="458" height="334" srcset="https://puri.sm/wp-content/uploads/2017/09/l5-progress-50.jpg 1035w, https://puri.sm/wp-content/uploads/2017/09/l5-progress-50-300x219.jpg 300w, https://puri.sm/wp-content/uploads/2017/09/l5-progress-50-768x559.jpg 768w, https://puri.sm/wp-content/uploads/2017/09/l5-progress-50-1024x746.jpg 1024w" sizes="(max-width: 458px) 100vw, 458px" />SAN FRANCISCO, Calif., October 2, 2017 — With overwhelming support from the Free/Libre, Open Source and GNU/Linux communities in addition to recent partnerships with <a href="https://www.kde.org/announcements/kde-purism-librem5.php">KDE</a> and the <a href="https://www.gnome.org/news/2017/09/gnome-foundation-partners-with-purism-to-support-its-efforts-to-build-the-librem-5-smartphone/">GNOME Foundation</a>, Purism, the manufacturer that builds high-quality, top of the range and freedom-respecting devices, has surpassed the 50 percent mark of their $1.5 million goal in their current <a href="https://shop.puri.sm/shop/librem-5/">crowdfunding campaign</a> which will allow the company to build the first fully free/libre and open source smartphone: the Librem 5.</p>
<p>Breaking away from the iOS/Android OS duopoly, the Librem 5’s isolation-based security-focused PureOS, upon shipment, will offer basic communication services: phone, email, messaging, voice, camera, browsing, and will expand after shipment and over time to update with more free software applications, through shared collaboration with the developer community (not “read-only open source”, but true free software collaboration). In addition to the ability to integrate with both GNOME and Plasma Mobile, the $599 Librem 5 will come equipped with hardware kill switches, a popular feature in Purism’s laptops, that allow for users to turn on and off the camera, microphone, WiFi and Bluetooth at will.</p>
<p>With just under four weeks to go, the crowdfunding campaign <strong>raised $100,000 in the first 100 hours</strong> and raised over $200,000 in each of the last two weeks, increasing their total to <strong>over $900,000</strong> with just over 3 weeks left to go.</p>
<p>News of the proposed phone has been met with enthusiasm and excitement for the hope of this new fully free open-source Linux phone hitting the market:</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">I just backed the <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> Librem 5 phone. Its time for a secure and private alternative to the smartphone duopoly. <a href="https://t.co/tBTF0o4dPV">https://t.co/tBTF0o4dPV</a></p>
<p>&mdash; Ross SKULLman (@RossSchulman) <a href="https://twitter.com/RossSchulman/status/909913526315167747?ref_src=twsrc%5Etfw">September 18, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>https://twitter.com/Kevin_C_Bell/status/907616674928627713</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">We should help <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> to build <a href="https://twitter.com/hashtag/Librem5?src=hash&amp;ref_src=twsrc%5Etfw">#Librem5</a> phone that you can control with hardware switch, easy to repair, own your data. FOSS Linux OS. <a href="https://t.co/pJ8uLK3xmc">pic.twitter.com/pJ8uLK3xmc</a></p>
<p>&mdash; Kap.Pustolov (@KapPustolov) <a href="https://twitter.com/KapPustolov/status/909744877973524480?ref_src=twsrc%5Etfw">September 18, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">A new kind of phone, secure and open. Thank you for doing this, <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a>. <a href="https://t.co/QQ5ZboUX5b">https://t.co/QQ5ZboUX5b</a> <a href="https://twitter.com/hashtag/Librem5?src=hash&amp;ref_src=twsrc%5Etfw">#Librem5</a></p>
<p>&mdash; Zaskoda (@zaskoda) <a href="https://twitter.com/zaskoda/status/905487494069723136?ref_src=twsrc%5Etfw">September 6, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">The world needs the Librem phone <a href="https://twitter.com/hashtag/librem5?src=hash&amp;ref_src=twsrc%5Etfw">#librem5</a> <a href="https://twitter.com/hashtag/security?src=hash&amp;ref_src=twsrc%5Etfw">#security</a> <a href="https://twitter.com/hashtag/privacy?src=hash&amp;ref_src=twsrc%5Etfw">#privacy</a> <a href="https://twitter.com/hashtag/linux?src=hash&amp;ref_src=twsrc%5Etfw">#linux</a></p>
<p>&mdash; Geovany Diaz (@dgeo101) <a href="https://twitter.com/dgeo101/status/911871453036818432?ref_src=twsrc%5Etfw">September 24, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">THIS PHONE RUNS LINUX. I&#39;M EXCITED AF. <a href="https://t.co/YF0UFOoCgl">https://t.co/YF0UFOoCgl</a></p>
<p>&mdash; The Linux Gamer (@thelinuxgamer) <a href="https://twitter.com/thelinuxgamer/status/911168266349015040?ref_src=twsrc%5Etfw">September 22, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote><p>“Getting endorsements for the Librem 5 hardware from both KDE and the GNOME Foundation took us a huge step towards creating a phone that frees us from the handcuffs of Android and iOS, and we hope this continues as we get closer to reaching our goal,” says Todd Weaver, Founder and CEO, Purism.</p></blockquote>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-over-50-percent-funding-goal/">Librem 5 Surges Past 50 Percent of its $1.5 Million Funding Goal To Deliver Encrypted, Privacy Smartphone That Won’t Track Users</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Make your own Librem 5 concept art.</title>
		<link>https://puri.sm/posts/make-your-own-librem-5-concept-art/</link>
		<pubDate>Thu, 21 Sep 2017 19:40:38 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=26898</guid>
		<description><![CDATA[<p>A few days ago, a very talented Librem 5 enthusiast asked me for some HD material to create his own Librem 5 concept art, so I have put together a couple of blank renders of the handset, along with the logos in SVG format. All this design is currently a work in progress and I [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/make-your-own-librem-5-concept-art/">Make your own Librem 5 concept art.</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://puri.sm/wp-content/uploads/2017/09/librem5-concept-pack-illustration.jpg" alt="" width="960" height="540" class="aligncenter size-full wp-image-28026" srcset="https://puri.sm/wp-content/uploads/2017/09/librem5-concept-pack-illustration.jpg 960w, https://puri.sm/wp-content/uploads/2017/09/librem5-concept-pack-illustration-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2017/09/librem5-concept-pack-illustration-768x432.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /><br />
A few days ago, a very talented Librem 5 enthusiast asked me for some HD material to create his own Librem 5 concept art, so I have put together a couple of blank renders of the handset, along with the logos in SVG format.</p>
<p>All this design is currently a work in progress and I believe in collaborative efforts. I believe in the people&#8217;s power. I believe in the fact that we don&#8217;t own Creativity. We just own the pleasure of expressing it. I see Creativity as a global positive energy that vibrates and grows through all of us. We should never restrict its freedom of movement. Freely collaborating and sharing with the world is the essence of the Free Software movement and is what Purism is made of. </p>
<p>In that regard I thought I would make those files public for anyone to freely join the fun.<br />
So, if you feel like expressing your artistic skills and your vision of what could be a smartphone that is made for user&#8217;s respect and software freedom, feel free to do so!</p>
<p><a href="http://videos.puri.sm/src/librem5/concept-pack.zip">Download the Librem 5 Concept Pack</a></p>
<p>Enjoy! 🙂</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/make-your-own-librem-5-concept-art/">Make your own Librem 5 concept art.</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>GNOME Foundation Partners with Purism to Support Its Efforts to Build the Librem 5 Smartphone</title>
		<link>https://puri.sm/posts/gnome-foundation-partners-with-purism-to-support-its-efforts-to-build-the-librem-5-smartphone/</link>
		<pubDate>Tue, 19 Sep 2017 18:30:28 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=27244</guid>
		<description><![CDATA[<p>Orinda, CA/San Francisco, September 19, 2017 &#8211; The GNOME Foundation has provided their endorsement and support of Purism’s efforts to build the Librem 5, which if successful will be the world’s first free and open smartphone with end-to-end encryption and enhanced user protections. The Librem 5 is a hardware platform the Foundation is interested in [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/gnome-foundation-partners-with-purism-to-support-its-efforts-to-build-the-librem-5-smartphone/">GNOME Foundation Partners with Purism to Support Its Efforts to Build the Librem 5 Smartphone</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-27571" src="https://puri.sm/wp-content/uploads/2017/09/librem5-phone-with-gnome-logo.png" alt="" width="355" height="699" srcset="https://puri.sm/wp-content/uploads/2017/09/librem5-phone-with-gnome-logo.png 355w, https://puri.sm/wp-content/uploads/2017/09/librem5-phone-with-gnome-logo-152x300.png 152w" sizes="(max-width: 355px) 100vw, 355px" />Orinda, CA/San Francisco, September 19, 2017 &#8211; The <a href="https://foundation.gnome.org/" target="_blank" rel="noopener">GNOME Foundation</a> has provided their endorsement and support of Purism’s efforts to build the <a href="https://shop.puri.sm/shop/librem-5/" target="_blank" rel="noopener">Librem 5</a>, which if successful will be the world’s first free and open smartphone with end-to-end encryption and enhanced user protections. The Librem 5 is a hardware platform the Foundation is interested in advancing as a GNOME/GTK phone device. The GNOME Foundation is committed to partnering with Purism to create hackfests, tools, emulators, and build awareness that surround moving GNOME/GTK onto the Librem 5 phone.<span id="more-27244"></span></p>
<p>As part of the collaboration, if the campaign is successful the GNOME Foundation plans to enhance <em>GNOME Shell</em> and general performance of the system with Purism to enable features on the Librem 5.</p>
<p>Various GNOME <a href="https://gnome.org/technologies/" target="_blank" rel="noopener">technologies</a> are used extensively in embedded devices today, and GNOME developers have experienced some of the challenges that face mobile computing specifically with the Nokia 770, N800 and N900, the One Laptop Per Child project&#8217;s XO laptop and FIC&#8217;s Neo1973 mobile phone.</p>
<blockquote><p>&#8220;Having a Free/Libre and Open Source software stack on a mobile device is a dream-come-true for so many people, and Purism has the proven team to make this happen. We are very pleased to see Purism and the Librem 5 hardware be built to support GNOME.&#8221; — Neil McGovern, Executive Director, GNOME Foundation</p>
<p>&#8220;Purism is excited to work with many communities and organizations to advance the digital rights of people. Getting endorsement from GNOME Foundation for the Librem 5 hardware gets us all one-step closer to a phone that avoids the handcuffs of Android and iOS.&#8221; — Todd Weaver, Founder &amp; CEO, Purism</p></blockquote>
<h1>About the GNOME Foundation</h1>
<p>The GNOME Project was started in 1997 by two then-university students, Miguel de Icaza and Federico Mena Quintero. Their aim: to produce a free (as in freedom) desktop environment. Since then, GNOME has grown into a hugely successful enterprise. Used by millions of people across the world, it is the most popular desktop environment for GNU/Linux and UNIX-type operating systems. The desktop has been utilized in successful, large-scale enterprise, and public deployments, and the project’s developer technologies are utilized in a large number of popular mobile devices.</p>
<p>The GNOME Foundation is an organization committed to supporting the advancement of GNOME, comprised of hundreds of volunteer developers and industry-leading companies. The Foundation is a member directed, 501(c)(3) non-profit organization that provides financial, organizational, and legal support to the GNOME project. The GNOME Foundation is supporting the pursuit of software freedom through the innovative, accessible, and beautiful user experience created by GNOME contributors around the world. More information about GNOME and the GNOME Foundation can be found at <a href="https://gnome.org/" target="_blank" rel="noopener">GNOME.org</a> and <a href="https://foundation.gnome.org/" target="_blank" rel="noopener">Foundation.GNOME.org</a>. Become a friend of GNOME at <a href="https://www.gnome.org/friends/" target="_blank" rel="noopener">GNOME.org/friends/</a></p>
<p>For further comments and information, contact the GNOME press contact team at gnome-press-contact@gnome.org.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<hr />
<p>Please see also <a href="https://puri.sm/posts/librem5-gnome-and-kde-collaboration/">our stance on GNOME vs KDE as it relates to the Librem 5 campaign</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/gnome-foundation-partners-with-purism-to-support-its-efforts-to-build-the-librem-5-smartphone/">GNOME Foundation Partners with Purism to Support Its Efforts to Build the Librem 5 Smartphone</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>GNOME &#038; KDE: The Purism Librem 5 phone is building a shared platform, not walled gardens</title>
		<link>https://puri.sm/posts/librem5-gnome-and-kde-collaboration/</link>
		<pubDate>Fri, 15 Sep 2017 13:34:52 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=25308</guid>
		<description><![CDATA[<p>You might have heard about our Librem 5 phone campaign that we recently launched and that has now crossed the $300,000 milestone. If you are reading this particular blog post, it is quite probably because you are a member of the great GNOME/KDE/freedesktop community, and if you were expecting the Librem 5 to be only [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-gnome-and-kde-collaboration/">GNOME &#038; KDE: The Purism Librem 5 phone is building a shared platform, not walled gardens</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>You might have heard about our <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a> phone campaign that we <a href="https://puri.sm/posts/of-laptops-and-phones/">recently launched</a> and that has now crossed the $300,000 milestone. If you are reading this particular blog post, it is quite probably because you are a member of the great GNOME/KDE/freedesktop community, and if you were expecting the Librem 5 to be only &#8220;a GNOME phone&#8221; and exclusionary of others you will be happy to know that Purism is working with both KDE e.V. and the GNOME Foundation, and will continue to do so.</p>
<p><img class="alignnone wp-image-28068 size-full" src="https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity.jpg" alt="" width="1280" height="754" srcset="https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity.jpg 1280w, https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity-300x177.jpg 300w, https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity-768x452.jpg 768w, https://puri.sm/wp-content/uploads/2017/09/librem5-gnome-kde-diversity-1024x603.jpg 1024w" sizes="(max-width: 1280px) 100vw, 1280px" /></p>
<p>As a matter of fact, to the question <em>&#8220;Will you be running GNOME, Plasma, or your own custom UI?&#8221;,</em> our campaign page&#8217;s FAQ stated, from the beginning:</p>
<blockquote><p>&#8220;We will be working with both GNOME/GTK and KDE/Plasma communities, and have partnered with the foundations behind them for the middleware layer. PureOS currently is GNOME-based and our great experience with working with GNOME as an upstream as well as GNOME&#8217;s OS and design-centric development model; however we will also test, support, and develop with KDE and the KDE community, and of course we will support Qt for application development. We will continue to test GNOME and Plasma, and should have a final direction within a month after funding success. Whatever is chosen, Purism will be working with both communities in an upstream-first fashion.&#8221;</p></blockquote>
<p>As a point of clarification, Purism is supporting GNOME/GTK and will continue to do so; Purism is also supporting KDE/Plasma and will continue; forming partnerships with these great communities is a way to establish our long-term commitment to those goals.</p>
<p>Likewise, Purism will ship PureOS by default on the Librem 5, but will support and work with other GNU/Linux distributions wishing to take advantage of this device.</p>
<p><strong>The Librem 5 is about users reclaiming their rights</strong> to freedom, privacy and security on their mobile communication devices (also known as pocket computer, smartphone, etc.) <strong>with a platform that they love and trust.</strong> It is <em>not</em> about creating walled gardens, erecting barriers and division in the free desktop community, and reigniting the Desktop Wars of the past:</p>
<p><img class="alignnone size-full wp-image-25321" src="https://puri.sm/wp-content/uploads/2017/09/corgis-sword-fight.jpg" alt="" width="960" height="428" srcset="https://puri.sm/wp-content/uploads/2017/09/corgis-sword-fight.jpg 960w, https://puri.sm/wp-content/uploads/2017/09/corgis-sword-fight-300x134.jpg 300w, https://puri.sm/wp-content/uploads/2017/09/corgis-sword-fight-768x342.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<p><strong>We are planning to empower users to run both GNOME, KDE, or whatever they see fit, on their GNU+Linux phone—just like we can have both GNOME and KDE on the same desktop/laptop today.</strong> The fact that we are going to be making an <em>integrated convenient product</em> that may or may not be a vanilla or heavily modified version of one of these two desktops as the &#8220;official recommended turnkey product choice for customers&#8221; takes away <em>nothing</em> from the value of these environments or from the ability to run and tinker with whatever Free and Open-Source software you see fit on <em>your</em> device—a device that you can truly <em>own.</em></p>
<p>What we are providing here is<strong> a reference platform that is <em>not</em> Android,</strong> for both GNOME and KDE communities—we just so happen to need to provide it as a turnkey usable product for less tech-savvy customers as well, while doing it 100% in the open, upstream-first, like a true Free Software project should be. Right now, the exact set of software technologies we will base our &#8220;integrated product&#8221; on—whether closely based on KDE, or GNOME—is something we are still evaluating and will decide along the way. There is no &#8220;us&#8221; vs &#8220;them&#8221; here. The two projects are in different states of advancement when it comes to mobile and touch technologies, and both communities have their specificities, expertise, and strengths. No matter which project we pick as the basis to invest most of our technical resources in, both projects will win:</p>
<ul>
<li>Even if one project is not chosen as the reference product <em>user interface,</em> it gains a hardware reference platform that community members can standardize on, and thus improve itself however they see fit.</li>
<li>This is not the nineties. GNOME and KDE have had a healthy collaboration relationship for the better part of a decade now!</li>
<li>We light up a competitive fire again in the hearts of contributors in both communities—and beyond. We can now fight for a platform we truly own, from the backend and middleware to the graphical user interface. No more proprietary UIs, no more &#8220;fork everything in middleware!&#8221;</li>
<li>We will still provide support to developers and testers across the board, everybody is welcome.</li>
</ul>
<p>From a higher perspective, we believe <strong>this campaign is vital to the relevance of Free Software</strong> and the viability of GNU+Linux (vs Android+Linux) beyond the desktop, and to protect ourselves from <a href="https://puri.sm/learn/eliminating-corporate-control-and-data-capitalism/">pervasive surveillance and data capitalism</a>. We hope you will see it in this light as well.</p>
<hr />
<p>You might also like: <a href="/posts/gnome-and-kde-in-pureos-diversity-across-devices/">GNOME and KDE in PureOS: diversity across devices</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-gnome-and-kde-collaboration/">GNOME &#038; KDE: The Purism Librem 5 phone is building a shared platform, not walled gardens</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism and KDE to Work Together on World&#8217;s First Truly Free Smartphone</title>
		<link>https://puri.sm/posts/librem5-kde-partnership-announcement/</link>
		<pubDate>Thu, 14 Sep 2017 15:00:59 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=25293</guid>
		<description><![CDATA[<p>Berlin/San Francisco, September 14, 2017 — Purism and KDE are partnering to help KDE adapt Plasma Mobile to Purism&#8217;s Librem 5 smartphone. KDE develops Plasma Mobile, a free, open and full-featured graphical environment for mobile devices. Plasma Mobile has been tested on several off-the-shelf devices. However, most smartphones include hardware that requires proprietary software to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-kde-partnership-announcement/">Purism and KDE to Work Together on World&#8217;s First Truly Free Smartphone</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-25303" src="https://puri.sm/wp-content/uploads/2017/09/librem5-phone-with-kde-logo.png" alt="" width="400" height="455" srcset="https://puri.sm/wp-content/uploads/2017/09/librem5-phone-with-kde-logo.png 400w, https://puri.sm/wp-content/uploads/2017/09/librem5-phone-with-kde-logo-264x300.png 264w" sizes="(max-width: 400px) 100vw, 400px" />Berlin/San Francisco, September 14, 2017 — <a href="https://puri.sm/">Purism</a> and <a href="https://www.kde.org/">KDE</a> are partnering to help KDE adapt <a href="https://plasma-mobile.org/">Plasma Mobile</a> to <a href="https://shop.puri.sm/shop/librem-5/">Purism&#8217;s Librem 5 smartphone</a>.<span id="more-25293"></span></p>
<p>KDE develops Plasma Mobile, a free, open and full-featured graphical environment for mobile devices. Plasma Mobile has been tested on several off-the-shelf devices. However, most smartphones include hardware that requires proprietary software to work. This clashes with KDE&#8217;s principles of <b>freedom and openness</b>. It also makes building difficult, since many details of the hardware are kept secret, preventing complete access to all the components.</p>
<p>Purism, the manufacturer that builds high-quality, top of the range and freedom-respecting devices, is currently running <a href="https://shop.puri.sm/shop/librem-5/">a crowdfunding campaign</a> which will allow the company to build the first fully free and open smartphone: The Librem 5.</p>
<p>The shared vision of <b>freedom, openness and personal control for end users</b> has brought KDE and Purism together in a common venture. Both organisations agree that cooperating will help bring a truly free and open source smartphone to the market. KDE and Purism will work together to make this happen.</p>
<blockquote><p>&#8220;Building a Free Software and privacy-focused smartphone has been a dream of the KDE community for a long time. We created Plasma to not just run on desktops and laptops, but for the whole spectrum of devices.&#8221; says Lydia Pintscher, President of KDE e.V.. &#8220;Partnering with Purism will allow us to ready Plasma Mobile for the real world and integrate it seamlessly with a commercial device for the first time. The Librem 5 will make Plasma Mobile shine the way it deserves.&#8221;</p>
<p>&#8220;Having full access to Purism&#8217;s hardware platform is a dream for the KDE community,&#8221; says Lydia Pintscher, President of KDE e.V. &#8220;Partnering with Purism will allow us to integrate Plasma Mobile seamlessly with a commercial device for the first time. The Librem 5 will make Plasma Mobile shine the way it deserves.&#8221;</p>
<p>&#8220;KDE has created an evolved, completely free platform in Plasma Mobile,&#8221; says Todd Weaver, CEO of Purism. &#8220;We feel that Plasma Mobile will become a serious contender that may break the current duopoly and bring a full-featured, fully free/libre and open source mobile operating system to the market. We look forward to trying out Plasma Mobile on our test hardware and working with KDE&#8217;s community.&#8221;</p></blockquote>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">Purism and <a href="https://twitter.com/kdecommunity?ref_src=twsrc%5Etfw">@kdecommunity</a> are partnering to bring KDE Plasma Mobile to the Purism <a href="https://twitter.com/hashtag/Librem5?src=hash&amp;ref_src=twsrc%5Etfw">#Librem5</a>, a truly free smartphone.<a href="https://t.co/lKjpbhea5N">https://t.co/lKjpbhea5N</a> <a href="https://t.co/QsU9EfH38z">pic.twitter.com/QsU9EfH38z</a></p>
<p>&mdash; Purism (@Puri_sm) <a href="https://twitter.com/Puri_sm/status/908333239143682048?ref_src=twsrc%5Etfw">September 14, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<h1>About KDE</h1>
<p>KDE is an international community of developers, designers, writers, translators and users that work together to achieve a world in which everyone has control over their digital life and enjoys freedom and privacy. KDE produces <a href="https://www.kde.org/plasma-desktop">Plasma</a>, an advanced and friendly desktop and a graphical environment for mobile devices. KDE also fosters and sponsors the creation of <a href="https://www.kde.org/applications/">hundreds of apps</a> for Linux, Windows, MacOS, Android and many other platforms; as well as <a href="https://api.kde.org/frameworks/">frameworks</a>, libraries and utilities that help developers create applications faster and easier.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<hr />
<p>Please see also <a href="https://puri.sm/posts/librem5-gnome-and-kde-collaboration/">our stance on GNOME vs KDE as it relates to the Librem 5 campaign</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-kde-partnership-announcement/">Purism and KDE to Work Together on World&#8217;s First Truly Free Smartphone</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Coreboot and Skylake, part 2: A Beautiful Game!</title>
		<link>https://puri.sm/posts/coreboot-on-the-skylake-librems-part-2/</link>
		<pubDate>Tue, 29 Aug 2017 15:00:41 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20024</guid>
		<description><![CDATA[<p>Hi everyone, While most of you are probably excited about the possibilities of the recently announced &#8220;Librem 5&#8221; phone, today I am sharing a technical progress report about our existing laptops, particularly findings about getting coreboot to be &#8220;production-ready&#8221; on the Skylake-based Librem 13 and 15, where you will see one of the primary reasons [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/coreboot-on-the-skylake-librems-part-2/">Coreboot and Skylake, part 2: A Beautiful Game!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi everyone,</p>
<p>While most of you are probably excited about the possibilities of the <a href="https://puri.sm/posts/purism-launches-librem-5-smartphone-campaign/">recently announced</a> &#8220;Librem 5&#8221; phone, today I am sharing a technical progress report about our existing laptops, particularly findings about getting coreboot to be &#8220;production-ready&#8221; on the Skylake-based Librem 13 and 15, where you will see one of the primary reasons we experienced a delay in shipping last month (and how we solved the issue).</p>
<p><strong>TL;DR:</strong> Shortly we began shipping from inventory the coreboot port was <a href="https://puri.sm/posts/coreboot-on-the-librem-13-v2-part-1/">considered done</a>, but we found some weird SATA issues at the last minute, and those needed to be fixed before shipping those orders.</p>
<ul>
<li>The bug was sometimes preventing booting any operating system, which is why it became a blocker for shipments.</li>
<li>I didn&#8217;t find the &#8220;perfect&#8221; fix yet, I simply worked around the problem; the workaround corrects the behavior without any major consequences for users, other than warnings showing up during boot with the Linux kernel, which allowed us to resume shipments.</li>
<li>Once I come up with the proper/perfect fix, an update will be made available for users to update their coreboot install post-facto. So, for now, do not worry if you see ATA errors during boot (or in dmesg) in your new Librem laptops shipped this summer: it is normal, harmless, and hopefully will be fixed soon.</li>
</ul>
<p><span id="more-20024"></span></p>
<hr />
<h1>The SATA-killer Chronicles</h1>
<p>I previously considered the coreboot port &#8220;done&#8221; for the new Skylake-based laptops, and as I went to the coreboot conference, I thought I&#8217;d be coming back home and finally be free to take care of the other stuff in my ever-increasing TODO list. But when I came back, I received an email from Zlatan (who was inside our distribution center that week), saying that some machines couldn&#8217;t boot, throwing errors such as:</p>
<pre>Read Error</pre>
<p>&#8230;in SeaBIOS, or</p>
<pre>error: failure reading sector 0x802 from 'hd0'</pre>
<p>or</p>
<pre>error: no such partition. entering rescue mode</pre>
<p>&#8230;in GRUB before dropping into the GRUB rescue shell.</p>
<p>That was odd, as I had never encountered those issues except one time very early in the development of the coreboot port, where we were seeing some ATA error messages in dmesg but that was fixed, and neither Matt nor I ever saw such errors again since. So of course, I didn&#8217;t believe Zlatan at first, thinking that maybe the OS was not installed properly… but the issue was definitely occurring on multiple machines that were being prepared to ship out. Zlatan then booted into the PureOS Live USB and re-installed the original AMI BIOS; then he had no more issues booting into his SSD, but when he&#8217;d flash coreboot back, it would fail to boot.</p>
<h1>The ever changing name of the wind</h1>
<p>Intrigued, I tested on my machine again with the &#8220;final release&#8221; coreboot image I had sent them and I couldn&#8217;t boot into my OS either. Wait—What!? It was working <em>fine</em> just before I went to the coreboot conference.</p>
<ul>
<li>Did something change recently? No, I remember specifically sending the image that I had been testing for weeks, and I hadn&#8217;t rebased coreboot because I very specifically wanted to avoid any potential new bug being introduced &#8220;at the last minute&#8221; from the latest coreboot git base.</li>
<li>Just to be sure, I went back to an even older image I had saved (which was known to work as well), and the issue occurred there as well—so not a compiling-related problem either.</li>
<li>I asked Matt to test on his machine, and when he booted the machine, it was failing for him with the same error. He hadn&#8217;t even flashed a new coreboot image! It was still the same image he had on the laptop for the past few weeks, which was was working perfectly for him… until now, as it now refused to boot.</li>
</ul>
<p>Madness? THIS—IS—<em>SATA!</em></p>
<p>After extensive testing, we finally came to the conclusion that whether or not the machine would manage to boot was entirely dependent on the following conditions:</p>
<ul>
<li>The time of day</li>
<li>The current phase of the moon</li>
<li>The alignment of the planets in some distant galaxy</li>
<li>The mood of my neighbor&#8217;s cat</li>
</ul>
<p>The most astonishing (and frustrating) thing is that during the three weeks where Matt and I have been working on the coreboot port previously, we never encountered any &#8220;can&#8217;t boot&#8221; scenario—and we were rebooting those machines probably 10 times per hour or more… but now, we were suddenly both getting those errors, pretty consistently.</p>
<p><img class="alignnone size-full wp-image-21426" src="https://puri.sm/wp-content/uploads/2017/08/coders-shrug.gif" alt="" width="500" height="284" /></p>
<p>After a day or two of debugging, it suddenly started working without any errors again for a couple of hours, then it started bugging again. On my end, the problem seemed to typically happen with SATA SSDs on the M.2 port (I didn&#8217;t get any issues when using a 2.5&#8243; HDD, and Matt was in the same situation). However, even with a 2.5&#8243; HDD, Zlatan was having the same issues we were seeing with the M.2 connector.</p>
<p>So the good news was that we were at least able to encounter the error pretty frequently now, the bad news was that Purism couldn&#8217;t ship its newest laptops until this issue was fixed—and we had promised the laptops would be shipping out in droves by that time! Y&#8217;know, just to add a bit of stress to the mix.</p>
<h2>The Eolian presents: DTLE</h2>
<p>When I was doing the v1 port, I had a more or less similar issue with the M.2 SATA port, but it was much more stable: it would always fail with &#8220;Read Error&#8221;, instead of failing with a different error on every boot and &#8220;sometimes failing, sometimes working&#8221;. Some of you may remember my explanation of how I fixed the issue on the v1 <a href="https://puri.sm/posts/librem-13-coreboot-report-february-25th-2017/">in February</a>: back then, I had to set the DTLE setting on the IOBP register of the SATA port. What this means is anyone&#8217;s guess, but I found <a href="http://blog.asset-intertech.com/test_data_out/2013/05/siv-versus-smv-part-2.html" target="_blank" rel="noopener" class="broken_link">this article</a> explaining that &#8220;DTLE&#8221; means &#8220;Discrete Time Linear Equalization&#8221;, and that having the wrong DTLE values can cause the drives to <em>&#8220;run slower than intended, and may even be subject to intermittent link failures&#8221;.</em> Intermittent link failures! Well! Doesn&#8217;t that sound familiar?</p>
<p>Unfortunately, I don&#8217;t know how to set the DTLE setting on the Skylake platform, since coreboot doesn&#8217;t have support for it. The IOBP registers that were on the Broadwell platform do not exist in Skylake (they have been replaced by a P2SB—Primary to SideBand—controller), and the DTLE setting does not exist in the P2SB registers either, according to someone with access to the NDA&#8217;ed datasheet.</p>
<p>When the computer was booting, there were some ATA errors appearing in dmesg, and it looks something like this:</p>
<pre>ata3: exception Emask 0x0 SAct 0xf SErr 0x0 action 0x10 frozen
ata3.00: failed command: READ FPDMA QUEUED
ata3.00: cmd 60/04:00:d4:82:85/00:00:1f:00:00/40 tag 0 ncq 2048 in
res 40/00:18:d3:82:85/00:00:1f:00:00/40 Emask 0x4 (timeout)
ata3.00: status: { DRDY }</pre>
<p>Everywhere I found this error referenced, such as in <a href="https://ubuntuforums.org/showthread.php?t=2272486" target="_blank" rel="nofollow noopener">forums</a>, the final conclusion was typically &#8220;the SATA connector is defective&#8221;, or &#8220;it&#8217;s a power related issue&#8221; where the errors disappeared after upgrading the power supply, etc. It sort of makes sense with regards to the DTLE setting causing a similar issue.</p>
<p>It also looks strikingly similar to <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/550559" target="_blank" rel="nofollow noopener">Ubuntu bug #550559</a> where there is no insight on the cause, other than &#8220;disabling NCQ in the kernel fixes it&#8221;… but the original (AMI) BIOS does not disable NCQ support in the controller, and it doesn&#8217;t fix the DTLE setting itself.</p>
<p><img class="size-full wp-image-21425 alignnone" src="https://puri.sm/wp-content/uploads/2017/08/thats-not-enough-we-have-to-go-deeper.jpg" alt="" width="570" height="311" srcset="https://puri.sm/wp-content/uploads/2017/08/thats-not-enough-we-have-to-go-deeper.jpg 570w, https://puri.sm/wp-content/uploads/2017/08/thats-not-enough-we-have-to-go-deeper-300x164.jpg 300w" sizes="(max-width: 570px) 100vw, 570px" /></p>
<h2>Chasing the wind</h2>
<p>So, not knowing what to do exactly and not finding any information in datasheets, I decided to try and figure it out using some good old <strong>reverse engineering</strong>.</p>
<p>First, I needed to see what the original BIOS did… but when I opened it in UEFIExtract, it turns out there&#8217;s a <strong>bunch</strong> of &#8220;modules&#8221; in it. What I mean by &#8220;a bunch&#8221; is <strong>about 1581 modules</strong> in the AMI UEFI BIOS, from what I could count. Yep. And &#8220;somewhere&#8221; in one of those, the answer must lay. I didn&#8217;t know what to look for; some modules are named, some aren&#8217;t, so I obviously started with the file called &#8220;SataController&#8221;—I thought I&#8217;d find the answer in it quickly enough simply by opening it up with <a href="https://www.hex-rays.com/products/ida/" target="_blank" rel="nofollow noopener">IDA</a>, but nope: that module file pretty much doesn&#8217;t do anything. I also tried &#8220;PcieSataController&#8221; and &#8220;PcieSataDynamicSetup&#8221; but those weren&#8217;t of much help either.</p>
<p>I then looked at the code in coreboot to see how exactly it initializes the SATA controller, and found this bit of code:</p>
<pre> /* Step 1 */
 sir_write(dev, 0x64, 0x883c9003);</pre>
<p>I don&#8217;t really know what this does but to me it looks suspiciously like a &#8220;magic number&#8221;, where for some reason that value would need to be set in that variable for the SATA controller to be initialized. So I looked for that variable in all of the UEFI modules and found <em>one</em> module that has that same magic value, called &#8220;PchInitDxe&#8221;. Progress! But the code was complex and I quickly realized it would take me a <em>long</em> time to reverse engineer it all, and time was something I didn&#8217;t have—remember, shipments were blocked by this, and customers were asking us <em>daily</em> about their order status!</p>
<h2>The RAM in storm</h2>
<p>One realization that I had was that the error is always about this &#8220;READ FPDMA QUEUED&#8221; command… which means it&#8217;s somehow related to DMA, and therefore related to RAM—so, could there be RAM corruption occurring? Obviously, I tested the RAM with memtest and no issues turned up, and since we had finally received the hardware, I could push for receiving the schematics from the motherboard designer (I was previously told it would be a distraction to pursue schematics when there were so many logistical issues to fix first).</p>
<ul>
<li>As I finally received the schematics and started studying them, I found that there were some discrepancies between the RComp resistor values in the schematics and what I had set in coreboot, so I fixed that… but it made no difference.</li>
<li>I thought that maybe the issue then is with the DQ/DQS settings of the RAM initialization (which is meant for synchronization), but I didn&#8217;t have the DQ/DQS settings for this motherboard and I couldn&#8217;t figure it out from the schematics, so what I did was to simply hexdump the entire UEFI modules, and grep for &#8220;79 00 51&#8221; which is the 16 bit value of &#8220;121&#8221; followed by the first byte of the 16 bit value of &#8220;81&#8221;, which are two of the RComp resistor values. That allowed me to find 2 modules which contained the values of the Rcomp resistors for this board, and from there, I was able to find the DQ and DQS settings that were stored in the same module, just a few bytes above the Rcomp values, as expected. I tested with these new values, and… it made no difference. No joy.</li>
</ul>
<h1>A night with no moon</h1>
<p>What else could I do? &#8220;If only there was a way to run the original BIOS in an emulator and catch every I/O it does to initialize the SATA controller!&#8221;</p>
<p>Well, there <em>is</em> something like that, it&#8217;s called <a href="https://www.serialice.com/" target="_blank" rel="noopener">serialICE</a> and it&#8217;s part (sort of?) of the coreboot umbrella project. I was very happy to find that, but after a while I realized I can&#8217;t make use of it (at least not easily): it requires us to replace the BIOS with this serialICE which is a very very minimal BIOS that basically only initializes the UART lines and loads up qemu, then you can &#8220;connect&#8221; to it using the serial port, send it the BIOS you want to run, and while serialICE runs the BIOS it will output all the I/O access over the serial port back to you… That&#8217;s great, and exactly what I need, unfortunately:</p>
<ul>
<li>the Librems do not have a serial port that I can use for that;</li>
<li>looking at the schematics, the only UART pad that is available is for TX (for receiving data), not RX (for sending data to the machine);</li>
<li>I can&#8217;t find the TX pad on the motherboard, so I can&#8217;t even use that.</li>
</ul>
<p>Thankfully, I was told that there is a way to use xHCI usb debugging capabilities even on Skylake, and Nico Huber wrote <a href="https://git.codelabs.ch/?p=libxhcidbg.git;a=summary" target="_blank" rel="noopener">libxhcidbg</a> which is a library implementing the xHCI usb debug features. So, all I would need to make serialICE work would be to:</p>
<ul>
<li>port coreboot to use libxhcidebug to have the USB debugging feature, test it and make sure it all works, or&#8230;</li>
<li>port my previous <a href="https://puri.sm/posts/coreboot-on-the-librem-13-v2-part-1/">flashconsole</a> work to serialICE then find a way to somehow send/bundle the AMI BIOS inside the serialICE or put it somewhere in the flash so serialICE can grab it directly without me needing to feed it to it through serial.</li>
</ul>
<p>Another issue is that for the USB debug to work, USB needs to be initialized, and there is no way for me to know if the AMI BIOS initializes the SATA controller before or after the USB controller, so it might not even be helpful to do all that yak shaving.</p>
<p><img class="alignnone size-full wp-image-21423" src="https://puri.sm/wp-content/uploads/2017/08/real-yak-shaving.jpg" alt="" width="600" height="343" srcset="https://puri.sm/wp-content/uploads/2017/08/real-yak-shaving.jpg 600w, https://puri.sm/wp-content/uploads/2017/08/real-yak-shaving-300x172.jpg 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p>The other solution (to use flashconsole) might not work either because we have 16MB of flash and I expect that a log of all I/O accesses will probably take a lot more space than that, so it might not be useful either.</p>
<p>And even if one or both of the solutions actually worked, sifting through thousands of I/O accesses to find just the right one that I need, might be like looking for a needle in a haystack.</p>
<p>Considering the amount of work involved, the uncertainty of whether or not it would even work, and the fact that I really didn&#8217;t have time for such animal cruelty (remember: shipments on hold until this is fixed!), I needed to find a quicker solution.</p>
<h1>The anger of a gentle man</h1>
<p>At that point, I was starting to lose hope for a quick solution and I couldn&#8217;t find any more tables to flip:</p>
<blockquote><p>&#8220;This issue is <em>so</em> weird! I can&#8217;t figure out the cause, nothing makes sense, and there&#8217;s no easy way to track down what needs to be done in order to get it fixed.&#8221;</p></blockquote>
<p>And then I noticed something. While it will sometimes fail to boot, sometimes will boot without issues, sometimes will trigger ATA errors in dmesg, sometimes will stay silent… one thing was consistent: once Linux boots, we don&#8217;t experience any issues—there was no kernel panic &#8220;because the disc can&#8217;t be accessed&#8221;, no &#8220;input/output error&#8221; when reading files… there is no real visible issue other than the few ATA errors we see in dmesg at the beginning when booting Linux, and those errors don&#8217;t re-appear later.</p>
<p>After doing quite a few tests, I noticed that whenever the ATA errors happen for a few times, the Linux kernel ends up dropping the ATA link speed to 3Gbps instead of the default 6Gbps, and that once it does, there aren&#8217;t any errors happening afterwards. I eventually came to the conclusion that those ATA errors are the same issue causing the boot errors from SeaBIOS/GRUB, and that they only happened when the controller was setup to use 6Gbps speeds.</p>
<p>What if I was wrong about the DTLE setting, and potential RAM issues? What if all of this is because of a misconfiguration of the controller itself? What if all AMI does is to disable the 6Gbps speed setting on the controller so it can&#8217;t be used?!</p>
<p>So, of course, I checked, and nope, it&#8217;s not disabled, and when booting Linux from the AMI BIOS, the link was set up to 6Gbps and had no issues… so it must be something else, related to that. I dumped every configuration of the SATA controller—not only the PCI address space, but also the AHCI ABAR memory mapped registers, and any other registers I could find that were related to the SATA/AHCI controller—and I made sure that they matched exactly between the AMI BIOS and the coreboot registers, and… still nothing. It made even less sense! If all the SATA PCI address space and AHCI registers were exactly the same, then why wouldn&#8217;t it work?</p>
<p>I gave up!</p>
<p><img class="alignnone size-full wp-image-21424" src="https://puri.sm/wp-content/uploads/2017/08/damnit-steve-you-said-you-were-good-at-debugging.png" alt="" width="210" height="157" /></p>
<p>…ok, I actually didn&#8217;t. I temporarily gave up trying to fix the problem&#8217;s root <em>cause</em>, but only because I had an idea for <strong>a workaround that could yield a quick win</strong> instead: if Linux is able to drop the link speed to 3Gbps and stop having any issues, then why can&#8217;t I do the same in coreboot? Then both SeaBIOS and GRUB would stop having issues trying to read from the drive, ensuring the drive will allow booting properly.</p>
<p>I decided I would basically do the same thing as Linux, but do it purposedly <em>in coreboot</em>, instead of it being done &#8220;in Linux&#8221; after errors start appearing.</p>
<p>While not the &#8220;ideal fix&#8221;, such a workaround would at least let the Skylake-based Librems boot reliably for all users, allowing us to release the shipments so customers can start receiving their machines as soon as possible, after which I would be able to take the time to devise the &#8220;ideal&#8221; fix, and provide it as a firmware update.</p>
<h2>Sleeping under the wagon: an overnight workaround</h2>
<p>I put my plan in motion:</p>
<ul>
<li>I looked at the datasheet and how to configure the controller&#8217;s speed, and found that I could indeed disable the 6Gbps speed, but for some reason, that didn&#8217;t work.</li>
<li>Then I tried to make it <em>switch</em> to 3Gbps, and that still didn&#8217;t work.</li>
<li>I went into the Linux kernel&#8217;s SATA driver to see what it does exactly, and realized that I didn&#8217;t do the switch to 3Gbps correctly. So I fixed my code in coreboot, and the machines started booting again.
<ul>
<li>I also learned what exactly happens in the Linux kernel: when there&#8217;s an error reading the drive, it will retry a couple of times; if the error keeps happening over and over again, then it will drop the speed to 3Gbps, otherwise, it keeps it as-is. That explains why we sometimes see only one ATA error, sometimes 3, and some other times 20 or more; it all depends on whether the retries worked or not.</li>
<li>Once I changed the speed of the controller to 3Gbps, I stopped having troubles booting into the system because both SeaBIOS and GRUB were working on 3Gbps and were not having any issues reading the data. However, once Linux boots, it resets the controller, which cancels out the changes that I did, and Linux starts using the drive at 6Gbps. That&#8217;s not really a problem because I know that Linux will retry any reads, and will drop to 3Gbps on its own once errors start happening, but it has the side effect that users will be seeing these ATA error message on their boot screen or in dmesg.</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<p><img class="alignnone size-medium wp-image-21505" src="https://puri.sm/wp-content/uploads/2017/08/flat800x800075f-300x191.jpg" alt="" width="300" height="191" srcset="https://puri.sm/wp-content/uploads/2017/08/flat800x800075f-300x191.jpg 300w, https://puri.sm/wp-content/uploads/2017/08/flat800x800075f.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<h1>The next chapter: probably less than 10 years from now</h1>
<p>As you can see, small issues like that are a real puzzle, and that&#8217;s the kind of thing that can make you waste a month of work just to &#8220;get it working&#8221; (let alone &#8220;find the perfect fix&#8221;). This is why I typically don&#8217;t give time estimates on this sort of work. We&#8217;re committed though on getting you the best experience with your machines, so we&#8217;re still actively working on everything.</p>
<p>Here&#8217;s a summary of the current situation:</p>
<ul>
<li>You will potentially see errors in your boot screen, but it&#8217;s not a problem since Linux will fix it</li>
<li>It&#8217;s not a hardware issue, since it doesn&#8217;t happen with the AMI BIOS, we just need to figure out what to configure to make it work.</li>
<li>There is nothing to be worried about, and I expect to fix it in a future coreboot firmware update, which we&#8217;ll release to everyone once it&#8217;s available (we&#8217;re working on integration with <a href="http://fwupd.org/" target="_blank" rel="noopener">fwupd</a>, so maybe we&#8217;ll release it through that, I don&#8217;t know yet).</li>
</ul>
<p>It&#8217;s taken me much longer than anticipated to write this blog post (2 months exactly), as other things kept getting in the way—avalanches of emails, other bugs to fix, patches to test/verify, scripts to write, and a lot of things to catch up on from the one month of intense debugging during which I had neglected all my other responsibilities.</p>
<p>While I was writing this status report, I didn&#8217;t make much progress on the issue—I&#8217;ve had 3 or 4 enlightenments and I thought I suddenly figured it all out, only to end up in a dead end once again. Well, once I do figure it out, I will let you all know! Thanks for reading and thanks for your patience.</p>
<hr />
<p>End notes: <small>if you didn&#8217;t catch some references, or paragraph titles in this post, then you need to read <a href="https://www.patrickrothfuss.com/content/books.asp" target="_blank" rel="noopener">The KingKiller Chronicles</a> by Patrick Rothfuss (<a href="https://en.wikipedia.org/wiki/The_Name_of_the_Wind" target="_blank" rel="noopener">The Name of the Wind</a> and <a href="https://en.wikipedia.org/wiki/The_Wise_Man%27s_Fear" target="_blank" rel="noopener">The Wise Man&#8217;s Fear</a>). These are some of the best fantasy books I&#8217;ve ever read, but be aware that the final book of the trilogy may not be released for another 10 years because the author <em>loves</em> to do millions of revisions of his manuscripts until they are &#8220;perfect&#8221;.</small></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/coreboot-on-the-skylake-librems-part-2/">Coreboot and Skylake, part 2: A Beautiful Game!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Of Laptops and Phones</title>
		<link>https://puri.sm/posts/of-laptops-and-phones/</link>
		<pubDate>Sun, 27 Aug 2017 16:00:15 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=21507</guid>
		<description><![CDATA[<p>On Thursday, we have revealed our plans to build the world’s first encrypted, free/libre and open platform smartphone that will empower users to protect their digital identity in an increasingly unsafe mobile world. This naturally comes after having announced the general availability and inventory of our Librem 13 and Librem 15 laptops in June this [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/of-laptops-and-phones/">Of Laptops and Phones</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright wp-image-21031 " src="https://puri.sm/wp-content/uploads/2017/06/phone-exploded-1.png" alt="" width="601" height="451" srcset="https://puri.sm/wp-content/uploads/2017/06/phone-exploded-1.png 800w, https://puri.sm/wp-content/uploads/2017/06/phone-exploded-1-300x225.png 300w, https://puri.sm/wp-content/uploads/2017/06/phone-exploded-1-768x576.png 768w" sizes="(max-width: 601px) 100vw, 601px" /> On Thursday, we have <a href="https://shop.puri.sm/shop/librem-5/">revealed</a> our plans to build the world’s first encrypted, free/libre and open platform smartphone that will empower users to protect their digital identity in an increasingly unsafe mobile world. This naturally comes after having announced the general availability and inventory of our Librem 13 and Librem 15 laptops in June this year. Our newest line of laptops are undergoing shipping after a short delay related to finishing our coreboot porting work (look forward to our technical update on this subject, to be published this Tuesday).</p>
<p>In preparation for the phone project, in addition to our regular work we have spent 18 months of R&amp;D to test hardware specifications and engage with one of the largest phone fabricators, and have now reached the point where we are launching the crowdfunding campaign to gauge demand for the initial fabrication order and add the features most important to users.</p>
<p>Enabling the next generation of cable-cutters, we are making the Librem 5 the first ever <a href="https://matrix.org/" target="_blank" rel="noopener">Matrix</a>-powered smartphone, natively using end-to-end encrypted decentralized communication in its dialer and messaging app. We will also offer regular baseband functionality separated off from the CPU, and work towards the goal of freeing all components.</p>
<p>As increasing concern among Android and iOS users grow around personal data they give up through WiFi connections, application installations and basic location services, we hope to address those concerns by manufacturing phones that will operate with free/libre and open source software within the kernel, the operating system, and all software applications. We have built our reputation within the GNU/Linux community on creating laptops designed to specifically meet user concern about digital privacy, security, and software freedom.</p>
<p>Starting at $599—less than the cost of many popular smartphones—and featuring a <em>bona fide</em> GNU/Linux operating system (<a href="https://pureos.net/">PureOS</a>) instead of Android or iOS, the Librem 5 is intended to give users unprecedented control and security with features unavailable on any other mainstream smartphone, including:</p>
<ul>
<li>Make encrypted calls that mask your phone number</li>
<li>Encrypt texts and emails</li>
<li>Set up VPN services for enhanced web browsing protection</li>
<li>Use the phone on any 2G/3G/4G, GSM, UMTS, or LTE network</li>
<li>Edit or develop on the source code, which will be made publicly available, as a community-oriented FLOSS project (not &#8220;read-only open-source&#8221;)</li>
<li>Run PureOS or most modern GNU+Linux distributions—not yet another Android-based phone!</li>
<li>Enable hardware kill switches for the camera, microphone, WiFi/Bluetooth and baseband</li>
</ul>
<p>Visit the <a href="https://shop.puri.sm/shop/librem-5/">Librem 5 crowdfunding campaign on our online shop</a> to back the phone project!</p>
<p>Additionally, we will soon be posting a progress update on our laptop enablement coreboot work. Stay tuned for Youness&#8217; technical report on Tuesday!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/of-laptops-and-phones/">Of Laptops and Phones</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Unveils Plans to Build Librem 5, the World’s First Encrypted, Open Smartphone Ecosystem Giving Users Complete Device Control</title>
		<link>https://puri.sm/posts/purism-launches-librem-5-smartphone-campaign/</link>
		<pubDate>Thu, 24 Aug 2017 13:00:45 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=21448</guid>
		<description><![CDATA[<p>Security focused laptop maker launches crowdfunding campaign to gauge market demand and feature requests to begin fabrication SAN FRANCISCO, Calif., August 24, 2017 — Purism, the social purpose corporation which designs and produces popular privacy conscious hardware and software, has revealed its plans to build the world’s first encrypted, open platform smartphone that will empower [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-launches-librem-5-smartphone-campaign/">Purism Unveils Plans to Build Librem 5, the World’s First Encrypted, Open Smartphone Ecosystem Giving Users Complete Device Control</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><i>Security focused laptop maker launches crowdfunding campaign to gauge market demand and feature requests to begin fabrication</i></p>
<p><img class="wp-image-21098 size-medium alignright" src="https://puri.sm/wp-content/uploads/2017/06/phonescreenkeyboardmouse-300x169.png" alt="" width="300" height="169" srcset="https://puri.sm/wp-content/uploads/2017/06/phonescreenkeyboardmouse-300x169.png 300w, https://puri.sm/wp-content/uploads/2017/06/phonescreenkeyboardmouse-768x432.png 768w, https://puri.sm/wp-content/uploads/2017/06/phonescreenkeyboardmouse-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2017/06/phonescreenkeyboardmouse.png 1280w" sizes="(max-width: 300px) 100vw, 300px" />SAN FRANCISCO, Calif., August 24, 2017 — Purism, the social purpose corporation which designs and produces popular privacy conscious hardware and software, has <a href="https://shop.puri.sm/shop/librem-5/">revealed</a> its plans to build the world’s first encrypted, open platform smartphone that will empower users to protect their digital identity in an increasingly unsafe mobile world. After 18 months of R&amp;D to test hardware specifications and engage with one of the largest phone fabricators, Purism is opening a self-hosted crowdfunding campaign to gauge demand for the initial fabrication order and add the features most important to users.</p>
<p>The plans to build the Librem 5 smartphone come on the tails of Purism opening general availability and inventory for its increasingly popular Librem laptop line in June 2017, which includes the Librem 13 and Librem 15 laptop models and has seen 35 percent average monthly growth in the past year.</p>
<p><a href="https://matrix.org/blog/2017/08/24/the-librem-5-from-purism-a-matrix-native-smartphone/" target="_blank" rel="noopener">Partnering</a> with open source communications project Matrix, Purism is making the Librem 5 the first ever Matrix-powered smartphone, natively using end-to-end encrypted decentralized communication in its dialer and messaging app. Matrix is an open ecosystem for interoperable encrypted communication, supporting a rapidly growing community of over 2 million users for VoIP and Slack-style messaging.</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">BIG NEWS: We&#39;re super excited to preannounce the world&#39;s first ever Matrix-native smartphone: the Puri.sm Librem 5!! <a href="https://t.co/MHY7aLSl0D">https://t.co/MHY7aLSl0D</a></p>
<p>&mdash; Matrix (@matrixdotorg) <a href="https://twitter.com/matrixdotorg/status/900704663653273601?ref_src=twsrc%5Etfw">August 24, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>As increasing concern among Android and iOS users grow around personal data they give up through WiFi connections, application installations and basic location services, Purism hopes to address those concerns by manufacturing phones that will operate with free/libre and open source software within the kernel, the operating system, and all software applications. Purism has built a strong reputation within the GNU/Linux community by delivering laptops designed to specifically meet user concern about digital privacy, chip-by-chip, line-by-line, to respect our common rights to privacy, security, and freedom.</p>
<p><img class="alignright wp-image-21031 size-medium" src="https://puri.sm/wp-content/uploads/2017/06/phone-exploded-1-300x225.png" alt="" width="300" height="225" srcset="https://puri.sm/wp-content/uploads/2017/06/phone-exploded-1-300x225.png 300w, https://puri.sm/wp-content/uploads/2017/06/phone-exploded-1-768x576.png 768w, https://puri.sm/wp-content/uploads/2017/06/phone-exploded-1.png 800w" sizes="(max-width: 300px) 100vw, 300px" />Starting at $599—less than the cost of many popular smartphones—the Librem 5 will give users unprecedented control and security with features unavailable on any other mainstream smartphone, including:</p>
<ul>
<li>Make encrypted calls that mask your phone number</li>
<li>Encrypt texts and emails</li>
<li>Set up VPN services for enhanced web browsing protection</li>
<li>Use the phone on any 2G/3G/4G, GSM, UMTS, or LTE network</li>
<li>Edit or develop on the source code, which will be made publicly available</li>
<li>Run PureOS or most GNU+Linux distributions</li>
<li>Enable hardware kill switches for the camera, microphone, WiFi/Bluetooth and baseband</li>
</ul>
<blockquote><p>“I believe digital rights should mirror physical rights. Our Librem 5 phone will get humanity closer to that goal by giving people choices about how they want to protect or share their digital identity,” said Todd Weaver, founder &amp; CEO at Purism.</p>
<p>“Purism has been doing genuine and important work around making truly free yet desirable laptops. The communities I work with would very much like to see the same philosophy replicated in a phone that runs a GNOME based stack where community members can participate in equal terms and that ensures respect for the users’ privacy and security,” said Alberto Ruiz, GNOME &amp; Fedora Laptop Enablement. “While pulling this off is hard, Todd seems like someone who sincerely cares about these issues and has a great track record executing. I think the efforts of Purism deserve the support of the free software community.”</p></blockquote>
<p>A veteran of successful crowdfunding campaigns with more than $2.5 million raised over the past two years, Purism is self-hosting the Librem 5 crowdfunding effort on their web site. Users can back the project here: <a href="https://shop.puri.sm/shop/librem-5/">https://puri.sm/shop/librem-5</a></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">We are proud to announce the <a href="https://twitter.com/hashtag/Librem5?src=hash&amp;ref_src=twsrc%5Etfw">#Librem5</a>, the first <a href="https://twitter.com/matrixdotorg?ref_src=twsrc%5Etfw">@matrixdotorg</a> phone w/default end-to-end decentralized encryption. <a href="https://t.co/1EJ7sFoYdc">https://t.co/1EJ7sFoYdc</a> <a href="https://t.co/rZZ28QeIOv">pic.twitter.com/rZZ28QeIOv</a></p>
<p>&mdash; Purism (@Puri_sm) <a href="https://twitter.com/Puri_sm/status/900704987726196736?ref_src=twsrc%5Etfw">August 24, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-launches-librem-5-smartphone-campaign/">Purism Unveils Plans to Build Librem 5, the World’s First Encrypted, Open Smartphone Ecosystem Giving Users Complete Device Control</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Guest Post: Why I Bought a Librem Laptop for my Daughter</title>
		<link>https://puri.sm/posts/guest-post-why-i-bought-a-librem-laptop-for-my-daughter/</link>
		<pubDate>Sun, 06 Aug 2017 21:12:38 +0000</pubDate>
		<dc:creator><![CDATA[Mike Morgan]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Customer Satisfaction]]></category>
		<category><![CDATA[Customer Feedback]]></category>
		<category><![CDATA[Testimonials and user stories]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20923</guid>
		<description><![CDATA[<p>I bought a Librem 13 for my 12 year-old daughter and couldn&#8217;t be happier about it. She wanted a new computer; and I, like a lot of parents, wanted to get something that is the best for her, but also offers some safety features, security from all these hacking threats, and that would give me peace [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/guest-post-why-i-bought-a-librem-laptop-for-my-daughter/">Guest Post: Why I Bought a Librem Laptop for my Daughter</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://puri.sm/wp-content/uploads/2017/08/librem-13-young-user.jpg"><img class="alignright wp-image-20960" src="https://puri.sm/wp-content/uploads/2017/08/librem-13-young-user.jpg" alt="" width="451" height="601" srcset="https://puri.sm/wp-content/uploads/2017/08/librem-13-young-user.jpg 750w, https://puri.sm/wp-content/uploads/2017/08/librem-13-young-user-225x300.jpg 225w" sizes="(max-width: 451px) 100vw, 451px" /></a>I bought a Librem 13 for my 12 year-old daughter and couldn&#8217;t be happier about it. She wanted a new computer; and I, like a lot of parents, wanted to get something that is the best for her, but also offers some safety features, security from all these hacking threats, and that would give me peace of mind that my daughter was as safe as possible online.</p>
<p>There are probably a lot of reasons to buy a Librem laptop that are technically good choices, but I am a parent, not a developer. What drew me to the Librem 13 laptop was simple; it allowed me to have a computer that I felt was least likely to fall victim to ransomware, that offered the camera to be disabled, and that had a browser with privacy protection built-in. My daughter could simply open up the laptop, and I knew she was as protected as possible.</p>
<p>I considered numerous laptops from many companies, but making my laptop choice came down to two things, safety, and convenience. After receiving the Librem 13 laptop, my daughter has been happy to have a computer of her own that works for what she needs, I am happy it was easy for her to use, but most importantly I am happy that it gave me peace of mind that she is as safe as can be.</p>
<p>I highly recommend Purism to my family, my friends, and my coworkers, which at the end-of-the-day is probably the best endorsement of them all.</p>
<p>&#8212; Mike Morgan</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/guest-post-why-i-bought-a-librem-laptop-for-my-daughter/">Guest Post: Why I Bought a Librem Laptop for my Daughter</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Meet the development team at the 2017 Debian Conference</title>
		<link>https://puri.sm/posts/meet-us-at-debconf-2017/</link>
		<pubDate>Thu, 27 Jul 2017 15:00:12 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20253</guid>
		<description><![CDATA[<p>We are proud to announce that we will be sponsoring and attending the 2017 Debian conference from August 1st to August 12 in Montréal, Canada. As PureOS is a derivative of Debian and various members of the team come from the Debian community, it is with great pleasure that we will support this event. Many [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-us-at-debconf-2017/">Meet the development team at the 2017 Debian Conference</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright wp-image-20274" src="https://puri.sm/wp-content/uploads/2017/07/debconf-2017-logo.png" alt="" width="428" height="302" srcset="https://puri.sm/wp-content/uploads/2017/07/debconf-2017-logo.png 800w, https://puri.sm/wp-content/uploads/2017/07/debconf-2017-logo-300x212.png 300w, https://puri.sm/wp-content/uploads/2017/07/debconf-2017-logo-768x542.png 768w" sizes="(max-width: 428px) 100vw, 428px" />We are proud to announce that we will be <strong> sponsoring and attending the <a href="http://debconf17.debconf.org/" target="_blank" rel="noopener noreferrer">2017 Debian conference</a></strong> from August 1st to August 12 in Montréal, Canada. As <a href="https://pureos.net/" target="_blank" rel="noopener noreferrer">PureOS</a> is a derivative of Debian and various members of the team come from the Debian community, it is with great pleasure that we will support this event.</p>
<p>Many Purism team members will be present, including Zlatan Todorić (our CTO and an official <a href="https://puri.sm/posts/purisms-zlatan-todoric-is-officially-a-debian-developer/">Debian developer</a>) with Matthias &#8220;Ximion&#8221; Klumpp, Jonas Smedegaard (Debian Developer) and Chris Lamb (current Debian Project Leader) for the full duration of the event, including the workshops (&#8220;Debcamp&#8221;) and core conference days.</p>
<p>Purism CEO Todd Weaver will also be attending from August 4th to August 8th.</p>
<p>On the &#8220;<a href="https://debconf17.debconf.org/schedule/open-day/" target="_blank" rel="noopener noreferrer">Open Day</a>&#8221; on Saturday August 5th, we will be showcasing a couple of our newest Librem production models and prototypes.</p>
<p>Participation in the Debian conference and &#8220;open day&#8221; is free and no registration is required. Come and say hi! See the <a href="https://debconf17.debconf.org/schedule/important-dates/" target="_blank" rel="noopener noreferrer">important dates</a> for more information.</p>
<p>Jeff will also be available in the days before and after the event, to handle any logistics needs, or to answer any business or press inquiries. Should you want to meet before or after the event, please get in touch with us at pr@puri.sm.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-us-at-debconf-2017/">Meet the development team at the 2017 Debian Conference</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 13 Promotional Video</title>
		<link>https://puri.sm/posts/librem-13v2-promotional-video/</link>
		<pubDate>Tue, 25 Jul 2017 08:13:14 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20605</guid>
		<description><![CDATA[<p>Let me introduce to you the new Librem 13 video. Unlike the other videos I have made to promote this beautiful laptop, I decided, this time, to stay away from any 3D computer graphics and to shoot the real device in a studio made for the occasion. This was pretty challenging as I wanted a [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13v2-promotional-video/">Librem 13 Promotional Video</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Let me introduce to you the new Librem 13 video.</p>
<p><iframe width="640" height="360" src="https://www.youtube.com/embed/bl29wKp5whA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>Unlike the other videos I have made to promote this beautiful laptop, I decided, this time, to stay away from any 3D computer graphics and to shoot the real device in a studio made for the occasion.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/07/librem13_shooting.jpg"><img class="wp-image-20607 size-full alignnone" src="https://puri.sm/wp-content/uploads/2017/07/librem13_shooting.jpg" alt="" width="960" srcset="https://puri.sm/wp-content/uploads/2017/07/librem13_shooting.jpg 944w, https://puri.sm/wp-content/uploads/2017/07/librem13_shooting-300x167.jpg 300w, https://puri.sm/wp-content/uploads/2017/07/librem13_shooting-768x429.jpg 768w" sizes="(max-width: 944px) 100vw, 944px" /></a></p>
<p>This was pretty challenging as I wanted a black background with a reflective ground along with smooth camera and light movements. We also had to deal with things that don&#8217;t exist in the world of computer graphics like dust and fingerprints (what a nightmare that was!).</p>
<p>This video has been shot in 2 days and was entirely edited and color graded with Kdenlive on PureOS 8, all smoothly running on the Librem 13 itself.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/07/librem13_post.png"><img class="alignnone wp-image-20606 size-large" src="https://puri.sm/wp-content/uploads/2017/07/librem13_post-1024x541.png" alt="" width="960" height="507" srcset="https://puri.sm/wp-content/uploads/2017/07/librem13_post-1024x541.png 1024w, https://puri.sm/wp-content/uploads/2017/07/librem13_post-300x159.png 300w, https://puri.sm/wp-content/uploads/2017/07/librem13_post-768x406.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>This video is released under the <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener noreferrer">CC BY-SA license</a> (by Purism), so feel free to use it and share it as much as you like!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13v2-promotional-video/">Librem 13 Promotional Video</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Celebrate GNOME&#8217;s 20th anniversary with us at GUADEC 2017</title>
		<link>https://puri.sm/posts/meet-us-at-guadec-2017/</link>
		<pubDate>Tue, 11 Jul 2017 21:17:48 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20252</guid>
		<description><![CDATA[<p>We are proud to announce that we will be attending the GNOME flagship conference, GUADEC, from July 28th to 30th, and co-sponsoring GNOME&#8217;s 20th anniversary celebration event at the Manchester Museum of Science and Industry on Saturday the 29th. The local GUADEC organizers make a beautiful parallel between the local heritage of Manchester and the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-us-at-guadec-2017/">Celebrate GNOME&#8217;s 20th anniversary with us at GUADEC 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are proud to announce that we will be <strong>attending the GNOME flagship conference, <a href="https://guadec.org/" target="_blank" rel="noopener noreferrer">GUADEC</a></strong>, from July 28th to 30th, and<strong> co-sponsoring GNOME&#8217;s 20th anniversary celebration event</strong> at the Manchester Museum of Science and Industry on Saturday the 29th.</p>
<p>The local GUADEC organizers make a beautiful parallel between the local heritage of Manchester and the bleeding edge technology we are all developing:</p>
<blockquote><p>&#8220;We’ll be planning the future of computing in the same city where some early breakthroughs in computing were made. The world’s first stored-program computer was developed at the University of Manchester in the late 1940s and the Museum has a working replica in the <em>Revolution Hall</em> where we’ll be holding the event, along with other amazing exhibits from the city’s industrial legacy.&#8221; — <a href="https://2017.guadec.org/2017/05/25/gnomes-20th-anniversary-celebration-in-manchester/" target="_blank" rel="noopener noreferrer">GUADEC 2017 organizers</a></p></blockquote>
<p><a href="https://www.flickr.com/photos/gidzy/11749708126"><img class="alignright wp-image-20258" src="https://puri.sm/wp-content/uploads/2017/07/guadec-2017-museum.jpg" alt="" width="594" height="396" srcset="https://puri.sm/wp-content/uploads/2017/07/guadec-2017-museum.jpg 800w, https://puri.sm/wp-content/uploads/2017/07/guadec-2017-museum-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2017/07/guadec-2017-museum-768x512.jpg 768w" sizes="(max-width: 594px) 100vw, 594px" /></a>We&#8217;re happy to be contributing to the party event on Saturday—where there will be food, lively discussions, and much rejoicing!</p>
<p>You will also be able to see a couple of our newest Librem production models and prototypes on display there—not that they &#8220;belong in a museum&#8221;,  but we do think they are interesting enough to be exhibited in a venue that honors science and industry.</p>
<p>During the rest of the conference&#8217;s core days, we (Jeff, Matthias, François, Todd) will be roaming around the Manchester Metropolitan University&#8217;s &#8220;Brooks&#8221; building to discuss topics of interest with fellow contributors and old friends. We&#8217;re particularly interested in:</p>
<ul>
<li>Mobile and touch graphical user interfaces and input handling (including multitouch, gestures, etc.)</li>
<li>Power optimization (for laptops, tablets and phones)</li>
<li>Sandboxing, privacy and security in general</li>
<li>OEM desktop environment, applications and contents customizability</li>
<li>Extensions robustness</li>
<li>Graphics performance</li>
<li>Apps and Package robustness and user experience</li>
<li>Firmware updates management</li>
</ul>
<p>Purism advisory board member Matthew Garrett will also be attending.</p>
<p>Come and say hi! We’ll be happy to meet GNOME enthusiasts—whether veterans or newcomers—and to answer any questions attendees may have for us.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-us-at-guadec-2017/">Celebrate GNOME&#8217;s 20th anniversary with us at GUADEC 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Wannacry, Petya, NotPetya, Vault 7, Dark Matter, Show Numerous Key Flaws in Popular Devices</title>
		<link>https://puri.sm/posts/wannacry-petya-notpetya-vault-7-dark-matter-show-numerous-key-flaws-in-popular-devices/</link>
		<pubDate>Wed, 05 Jul 2017 16:00:55 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20372</guid>
		<description><![CDATA[<p>Purism Librem laptops are immune to such threats because of a deeply rooted philosophical difference about security SAN FRANCISCO, CA&#8212;July 5th, 2017&#8212;Purism, the social purpose corporation which designs and produces security focused hardware and software, has released a new report on the latest cybersecurity threats and why nearly all devices are vulnerable to such attacks. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/wannacry-petya-notpetya-vault-7-dark-matter-show-numerous-key-flaws-in-popular-devices/">Wannacry, Petya, NotPetya, Vault 7, Dark Matter, Show Numerous Key Flaws in Popular Devices</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>Purism Librem laptops are immune to such threats because of a deeply rooted philosophical difference about security</em></p>
<p>SAN FRANCISCO, CA&#8212;July 5th, 2017&#8212;Purism, the social purpose corporation which designs and produces security focused hardware and software, has released a new report on the latest cybersecurity threats and why nearly all devices are vulnerable to such attacks. The very design of modern hardware and software invites a host of threats, from sophisticated attacks, criminal activity, to hobbyist attempts, and reactive software patches simply cannot be released quickly enough to plug security holes. All manufacturers beside Purism are reactive to security threats only. Being proactive about security comes down to philosophy, business model, and reducing the attack surface to begin with.</p>
<p>There are 4 key factors as to why popular devices produced by large manufacturers are susceptible to rising security concerns:</p>
<ol>
<li>Proprietary software, where the source code is not auditable, leaving exploitable holes for criminals to take advantage of without the public knowing until it is too late</li>
<li>Software written to address a wide array of hardware, leaving a large attack surface, rather than being small and tightly integrated with hardware</li>
<li>Monolithic proprietary UEFI/BIOS with low-level remote access capabilities, rather than coreboot, a small secure fast boot firmware</li>
<li>Inadequate reactive software updates to patch security vulnerabilities, rather than the more proactive removal of security holes to begin with, and having public source code to be audited</li>
</ol>
<p>The best security in software follows a simple set of rules that the largest manufacturers fail because of their business models:</p>
<ol>
<li>Release the source code</li>
<li>Tightly integrate the software with the hardware removing useless exploitable software</li>
<li>Use less code, pre-install less bloatware, equals less attack area</li>
<li>Avoid mystery binary code for critical components like WiFi cards</li>
<li>Put protecting users over corporate profit; such as do not track users, do not require financial details to install apps, do not phone home with identifiable data, do not participate in corporate surveillance</li>
</ol>
<p>WannaCry, Petya, and NotPetya, are increasing in complexity in a whack-a-mole, distributed criminals vs centralized corporation software battle where the users are the victim. The current proposed solutions from proprietary software vendors is reactive to these threats, which by definition means they will continue to happen in increasing frequency and potency. There is real motive for criminals to create ransomware, wreak havoc, and upset markets, and the reactive proprietary software patching approach is unacceptable as a security story.</p>
<p>Lower level threats a lot released with Vault 7, like Dark Matter, Intel AMT, EFI/UEFI exploits highlight that criminals are going deeper than software and operating systems, where even the reactive approach does not help, since proprietary operating system vendors do not release EFI/UEFI updates, and BIOS, EFI/UEFI updates are not commonly done by users.</p>
<p>In a proactive model, where the source code is released, making the attack surface small, and sharing the code for audit, has been the philosophical difference as to why Purism Librem laptops have been immune to all these threats.</p>
<blockquote><p>&#8220;Protecting our digital life is a growing concern for individuals, reactive patching does not provide the peace of mind that users want&#8221; said Todd Weaver, CEO and Founder at Purism. &#8220;We provide that peace of mind by making security protection easy and the default for users.&#8221;</p></blockquote>
<p>Purism&#8217;s Librem laptop line has been specifically designed to address these gaping security issues that big box manufacturers are unable and unwilling to combat due to being reactive and not releasing the source code. To date, Librems have been completely immune from the following cybersecurity attacks: Wannacry, Intel AMT, Petya, Dark Matter, All Vault 7 EFI/UEFI exploits, and NotPetya.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/wannacry-petya-notpetya-vault-7-dark-matter-show-numerous-key-flaws-in-popular-devices/">Wannacry, Petya, NotPetya, Vault 7, Dark Matter, Show Numerous Key Flaws in Popular Devices</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>A shipping update for Qubes-related orders</title>
		<link>https://puri.sm/posts/2017-07-shipping-update-for-qubes-orders/</link>
		<pubDate>Tue, 04 Jul 2017 20:56:11 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20201</guid>
		<description><![CDATA[<p>In light of our shipping-from-inventory fulfillment model having recently begun and in order to answer questions we have been getting related to pre-loaded versions of Qubes OS, we would like to announce that we will be fulfilling Qubes-related pending orders made until now by offering the Qubes install as a complimentary USB key included at [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2017-07-shipping-update-for-qubes-orders/">A shipping update for Qubes-related orders</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>In light of our shipping-from-inventory fulfillment model having recently <a href="https://puri.sm/posts/ship-from-inventory-has-begun/">begun</a> and in order to answer questions we have been getting related to pre-loaded versions of Qubes OS, we would like to announce that we will be fulfilling Qubes-related pending orders made until now by offering the Qubes install as a complimentary USB key included at no additional charge in those shipments.</p>
<ul>
<li>Orders made with Qubes OS as the chosen operating system are expected to be fulfilled using the USB key accessory within approximately two weeks. Although the technical method of delivery is different, the $100 licensing fee Purism pays to Qubes will still be honored, for all Qubes-related orders made until August 2nd, 2017.</li>
<li>Should you prefer to forego the USB key accessory (containing the latest publicly available Qubes OS installer), please contact <a href="mailto:ops@puri.sm">ops@puri.sm</a> to adjust your order, which will then begin shipment procedures immediately alongside PureOS-related orders.</li>
<li>We apologize for not being able to pre-load Qubes OS onto your machine&#8217;s main solid state storage drive, as we have been unable to obtain an automated OEM image (suitable for secure and efficient mass-preloading in our fulfillment center) through our existing agreement with the Qubes Project/Invisible Things Lab s.c.</li>
</ul>
<p>The current &#8220;free Qubes installer USB key&#8221; offer will also remain valid for orders placed between today (July 4th) and August 2nd, 2017, at which point our agreement with Qubes shall no longer be in effect. After this date, we may, at our discretion and as a convenience option for customers, offer a USB key accessory containing either a customer-requested free operating system (subject to availability), or a blank USB key, for a minor fee covering the cost of materials and labor.</p>
<p>Some customers have asked us about the recent removal of the Librem 13 &#8220;v1&#8221; from the certified hardware page on Qubes website. While we were not notified in advance of this change to the contents of the Qubes website, we understand this de-listing to be due to the fact that the Librem 13 v1 is no longer being manufactured, as it has now been succeeded by the Librem 13 version 2 in 2017. The &#8220;version 2&#8221; has not been sent through the certification process.</p>
<p>Moreover, while our current and previous hardware has been found to work with Qubes OS, we currently no longer have plans to undergo the official certification process for the Librem 13 v2 nor Librem 15 v3. The costs involved, requiring a supplementary technical consulting contract with Qubes/ITL (as per their new Commercial Hardware Goals proposal document), are not financially justifiable for us.</p>
<p>We have no doubts that Qubes users will be able to independently report their successes with Qubes OS on the Librem laptops within the next few weeks.</p>
<p>We wish Qubes and Invisible Things Lab s.c. the best of luck in establishing commercial partnerships that match their new expectations.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2017-07-shipping-update-for-qubes-orders/">A shipping update for Qubes-related orders</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Warrant Canary Updated July 1st 2017</title>
		<link>https://puri.sm/posts/purism-warrant-canary-updated-july-1st-2017/</link>
		<pubDate>Sat, 01 Jul 2017 20:12:22 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=20151</guid>
		<description><![CDATA[<p>Before (or on) the first day of each quarter, Purism, following the general rules of warrant canaries, will update its own Warrant Canary page if none of the listed items occurs. Warrant Canary, July 1st 2017 We have not placed any backdoors into our software or hardware, and we have not complied with any requests [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-july-1st-2017/">Purism Warrant Canary Updated July 1st 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Before (or on) the first day of each quarter, Purism, following the general rules of <a href="https://en.wikipedia.org/wiki/Warrant_canary">warrant canaries</a>, will update its own <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> if none of the listed items occurs.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1005" src="https://puri.sm/wp-content/uploads/2015/05/warrant-canary-64x70px.png" alt="warrant-canary-64x70px" width="64" height="70" /></p>
<h1 style="text-align: center;">Warrant Canary, July 1st 2017</h1>
<ol>
<li>We have not placed any backdoors into our software or hardware, and we have not complied with any requests to do so.</li>
<li>We have not received, nor complied with any National Security Letters or FISA court orders.</li>
<li>We have not been subject to any gag order by a FISA court.</li>
</ol>
<p>The next statement will be published on the first day of each quarter (January 1st, April 1st, July 1st, October 1st). Please refer to the <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> for details and digital signatures.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-july-1st-2017/">Purism Warrant Canary Updated July 1st 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>&#8220;Ship from inventory&#8221; has begun</title>
		<link>https://puri.sm/posts/ship-from-inventory-has-begun/</link>
		<pubDate>Wed, 28 Jun 2017 22:48:49 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=19815</guid>
		<description><![CDATA[<p>With the new  batch of Librem 13 and Librem 15 this summer, we created our first ever &#8220;inventory&#8221; to shift from a purely build to order (preorders) model to a build to stock model. In other words, for the first time in our existence, we now have more laptops in stock than the amount of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/ship-from-inventory-has-begun/">&#8220;Ship from inventory&#8221; has begun</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>With the <a href="https://puri.sm/posts/inventory-shipping-june-2017-case-designs-and-final-assembly/">new  batch</a> of Librem 13 and Librem 15 this summer, we created our first ever &#8220;inventory&#8221; to shift from a purely <a title="Build to order" href="https://en.wikipedia.org/wiki/Build_to_order" target="_blank" rel="noopener noreferrer">build to order</a> (preorders) model to a <a title="Build to stock" href="https://en.wikipedia.org/wiki/Build_to_stock" target="_blank" rel="noopener noreferrer">build to stock</a> model. In other words, for the first time in our existence, we now have more laptops in stock than the amount of orders, which means new orders can be fulfilled in 7-10 days instead of taking months. We made <a href="https://puri.sm/posts/2017-general-availability-press-release/">a formal announcement about this</a> a few days ago, and would like to take the time today to thank you, early supporters, for having made it possible for us to reach this milestone! As we finish working through our backlog and finalizing our coreboot port to correct some last minute bugs (more on this later), some users have already started receiving their Librems:</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">I&#39;m so excited, just received my Librem 13 from <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> <a href="https://t.co/ixiV3diIgI">pic.twitter.com/ixiV3diIgI</a></p>
<p>&mdash; exul (@_exul) <a href="https://twitter.com/_exul/status/880161549712863232?ref_src=twsrc%5Etfw">June 28, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>P.s.: got your Librem? Feel free to post a photo while mentioning us <a href="https://twitter.com/puri_sm" target="_blank" rel="nofollow noopener noreferrer">on Twitter</a>, or in <a href="https://forums.puri.sm/t/photos-of-your-new-machines-please/1042" target="_blank" rel="nofollow noopener noreferrer">this forum thread</a>!</p>
<h1>At the forefront</h1>
<p>These new models ship with <a href="/coreboot/">coreboot</a> preloaded and the newest version of <a href="https://pureos.net/" target="_blank" rel="noopener noreferrer">PureOS</a>—featuring <a href="https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)" target="_blank" rel="noopener noreferrer">Wayland</a> and <a href="https://www.gnome.org/gnome-3/" target="_blank" rel="noopener noreferrer">GNOME 3</a> by default. We are, in fact, the first independent hardware <em>manufacturer</em> of brand new laptops to do this.</p>
<p>We are also uniquely positioned to ship with Skylake processors immune to <a href="https://lists.debian.org/debian-devel/2017/06/msg00308.html" target="_blank" rel="nofollow noopener noreferrer">the hyperthreading issue recently disclosed by OCaml developers</a>, independently of whether or not you run <a href="https://pureos.net/" target="_blank" rel="noopener noreferrer">PureOS</a> on your Librem, as we have bundled the fix and rebuilt our coreboot images for the current inventory being shipped out from this week forward (those who have already received their Librems last week will be able to apply a BIOS update to fix the issue on their machines). Think about this for a second: there are <em>no other</em> manufacturers of brand new laptops in the world who can provide such a timely BIOS update, <em>while shipping,</em> within 48 hours of a CPU issue being publicly disclosed by a third-party mailing list.</p>
<p><img class="alignnone size-full wp-image-19817" src="https://puri.sm/wp-content/uploads/2017/06/2017-06-20-09.12.43.jpg" alt="" width="1500" height="842" srcset="https://puri.sm/wp-content/uploads/2017/06/2017-06-20-09.12.43.jpg 1500w, https://puri.sm/wp-content/uploads/2017/06/2017-06-20-09.12.43-300x168.jpg 300w, https://puri.sm/wp-content/uploads/2017/06/2017-06-20-09.12.43-768x431.jpg 768w, https://puri.sm/wp-content/uploads/2017/06/2017-06-20-09.12.43-1024x575.jpg 1024w" sizes="(max-width: 1500px) 100vw, 1500px" /></p>
<h1>Get them while they&#8217;re hot</h1>
<p>We are expecting to sell through this first inventory fairly quickly. For those who did not want to preorder and wanted to buy only when inventory becomes available, this is your chance—don&#8217;t miss it! Afterwards, we will manufacture increasingly frequent batches until we reach cruising speed and have a tightly controlled right-on-time rolling inventory to ship from.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/ship-from-inventory-has-begun/">&#8220;Ship from inventory&#8221; has begun</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism’s Security Focused Librem Laptops Go Mainstream as General Availability Begins</title>
		<link>https://puri.sm/posts/2017-general-availability-press-release/</link>
		<pubDate>Fri, 23 Jun 2017 16:00:31 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=19879</guid>
		<description><![CDATA[<p>Device maker evolves from made-to-order business model to shipping from inventory bolstered by user demand for high quality, security conscious devices SAN FRANCISCO, June 23, 2017 &#8211; Purism, the social purpose corporation which designs and produces privacy conscious hardware and software, has announced general availability of its Librem 13 and Librem 15, laptops, demonstrating the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2017-general-availability-press-release/">Purism’s Security Focused Librem Laptops Go Mainstream as General Availability Begins</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;"><i>Device maker evolves from made-to-order business model to shipping from inventory bolstered by user demand for high quality, security conscious devices</i></p>
<p><a href="https://puri.sm/wp-content/uploads/2016/11/l13v2_l15v3_frontpage-2017-06.jpg"><img class="alignright wp-image-19845" src="https://puri.sm/wp-content/uploads/2016/11/l13v2_l15v3_frontpage-2017-06.jpg" alt="" width="554" height="302" srcset="https://puri.sm/wp-content/uploads/2016/11/l13v2_l15v3_frontpage-2017-06.jpg 1920w, https://puri.sm/wp-content/uploads/2016/11/l13v2_l15v3_frontpage-2017-06-300x164.jpg 300w, https://puri.sm/wp-content/uploads/2016/11/l13v2_l15v3_frontpage-2017-06-768x419.jpg 768w, https://puri.sm/wp-content/uploads/2016/11/l13v2_l15v3_frontpage-2017-06-1024x558.jpg 1024w" sizes="(max-width: 554px) 100vw, 554px" /></a> SAN FRANCISCO, June 23, 2017 &#8211; Purism, the social purpose corporation which designs and produces privacy conscious hardware and software, has announced general availability of its <a href="https://puri.sm/products/librem-13/">Librem 13</a> and <a href="https://puri.sm/products/librem-15/">Librem 15</a>, laptops, demonstrating the success of its approach and growing interest in products that give users greater control over their devices.</p>
<p>Since it first launched as a crowdfunding project in 2015, Purism has raised more than $2.5 million through crowdfunding and seed funding, and has been experiencing 38% and 35% average monthly growth over the last 12 months for its Librem 13” and 15” laptops, respectively. To accommodate accelerating demand, the company has scaled production to hold inventory of the Librem 13” and 15”. The laptops, which originally were made-to-order and had a months-long waiting list, will now arrive in user’s hands a few weeks after purchase.</p>
<p>As recent headlines like Intel AMT/ME exploits and WannaCry ransomware attacks bring hardware and software security top of mind, users worldwide are realizing that security is not a guarantee and large corporations have not taken all the necessary measures to safeguard their interests. Many of the exploits and attacks arise from years-old flaws or vulnerabilities that were never fixed or updated, signaling that devices must now be designed with the future of digital privacy in mind. Purism laptops are designed to specifically meet user concern about digital privacy, chip-by-chip, line-by-line, to respect our common rights to privacy, security, and freedom.</p>
<blockquote><p><img class="alignleft wp-image-19886" title="Jennifer Stoddart" src="https://puri.sm/wp-content/uploads/2017/06/jennifer-stoddart-150x150.jpg" alt="" width="100" height="100" srcset="https://puri.sm/wp-content/uploads/2017/06/jennifer-stoddart-150x150.jpg 150w, https://puri.sm/wp-content/uploads/2017/06/jennifer-stoddart-300x300.jpg 300w, https://puri.sm/wp-content/uploads/2017/06/jennifer-stoddart-180x180.jpg 180w, https://puri.sm/wp-content/uploads/2017/06/jennifer-stoddart.jpg 500w" sizes="(max-width: 100px) 100vw, 100px" />“Our digital identity is ever more pervasive and our stake in protecting it is the highest it has ever been,” said Jennifer Stoddart, Purism Board Member and Former Privacy Commissioner of Canada. “I look forward to working with this innovative company in giving people affordable and high-quality devices to protect their personal information.&#8221;</p></blockquote>
<blockquote style="clear: both;"><p><img class="alignright wp-image-8674" title="Todd Weaver" src="https://puri.sm/wp-content/uploads/2016/10/todd-weaver-150x150.png" alt="" width="100" height="100" srcset="https://puri.sm/wp-content/uploads/2016/10/todd-weaver-150x150.png 150w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-300x300.png 300w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver.png 500w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-100x100.png 100w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-180x180.png 180w" sizes="(max-width: 100px) 100vw, 100px" />“It’s an exciting turning point for Purism as we see our vision to create a security focused laptop that everyone can enjoy using start to resonate with the greater public. Going from made-to-order to holding inventory is proof positive that there is a growing demand for products like the Librem,” said Todd Weaver, CEO and Founder at Purism. “Users are starting to realize that security features are no longer a ‘nice to have’ but a necessity to protect their increasingly precious digital identity.”</p></blockquote>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2017-general-availability-press-release/">Purism’s Security Focused Librem Laptops Go Mainstream as General Availability Begins</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>YouTube streaming with less interruptions and more privacy</title>
		<link>https://puri.sm/posts/youtube-streaming-with-less-interruptions-and-more-privacy/</link>
		<pubDate>Mon, 19 Jun 2017 17:07:29 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Tips and tricks]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=19622</guid>
		<description><![CDATA[<p>In this short tutorial, I will show you how to watch your favorite YouTube videos without being annoyed by the ads or those random visuals popping around (like &#8220;annotations&#8221;). It will also improve your privacy by avoiding storing some history and cookies from watching those videos within your browser. As a film maker, I think [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/youtube-streaming-with-less-interruptions-and-more-privacy/">YouTube streaming with less interruptions and more privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>In this short tutorial, I will show you how to watch your favorite YouTube videos without being annoyed by the ads or those random visuals popping around (like &#8220;annotations&#8221;). It will also improve your privacy by avoiding storing some history and cookies from watching those videos within your browser.</p>
<p>As a film maker, I think that displaying any kind of visual artifact (ads, comments/annotations&#8230;) on top of the video is degrading the artwork. It is like going to a museum and seeing Post-Its and stickers pasted all over the sculptures and paintings. How would a museum could justify such a business model? Of course, YouTube is not a museum and I don&#8217;t want to discuss ethics or business models here (maybe on another post?). YouTube is also a great source of inspiration and learning for me—I simply want a better viewer experience.</p>
<p>The solution to improve your watching experience is called GNOME MPV. It is a video player that lets you watch any video from your computer as well as remote videos like the ones from Youtube.</p>
<p>GNOME MPV is based on FFmpeg and is able to read almost any video format. It has a very simple interface and it is very fast. It has become my main video player.</p>
<h3>Install it</h3>
<p>I don&#8217;t think that GNOME MPV is currently the default video player in PureOS, so you may need to install it. It is very easy: open the GNOME software center (&#8220;Software&#8221;) and search for &#8220;GNOME MPV&#8221;. From there, click on the &#8220;Install&#8221; button. When done, just launch it.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/06/mpv-1.png"><img class="alignnone size-large wp-image-19625" src="https://puri.sm/wp-content/uploads/2017/06/mpv-1-1024x723.png" alt="" width="960" height="678" srcset="https://puri.sm/wp-content/uploads/2017/06/mpv-1-1024x723.png 1024w, https://puri.sm/wp-content/uploads/2017/06/mpv-1-300x212.png 300w, https://puri.sm/wp-content/uploads/2017/06/mpv-1-768x542.png 768w, https://puri.sm/wp-content/uploads/2017/06/mpv-1.png 1200w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<h3>Watching a YouTube video</h3>
<p>On GNOME MPV, click on the &#8220;+&#8221; button on the top left of the window and select &#8220;Open Location&#8221;. A small dialog will appear.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/06/mpv-2.png"><img class="alignnone size-full wp-image-19626" src="https://puri.sm/wp-content/uploads/2017/06/mpv-2.png" alt="" width="640" height="527" srcset="https://puri.sm/wp-content/uploads/2017/06/mpv-2.png 640w, https://puri.sm/wp-content/uploads/2017/06/mpv-2-300x247.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p>In the text field, paste your Youtube video link and click &#8220;Open&#8221;. You can try with this example (A song from Free Music Archive): <a href="https://www.youtube.com/watch?v=4M9Puanhdac" target="_blank" rel="noopener noreferrer">youtube.com/watch?v=4M9Puanhdac</a></p>
<p><a href="https://puri.sm/wp-content/uploads/2017/06/mpv-3.png"><img class="alignnone size-full wp-image-19627" src="https://puri.sm/wp-content/uploads/2017/06/mpv-3.png" alt="" width="350" height="105" srcset="https://puri.sm/wp-content/uploads/2017/06/mpv-3.png 350w, https://puri.sm/wp-content/uploads/2017/06/mpv-3-300x90.png 300w" sizes="(max-width: 350px) 100vw, 350px" /></a></p>
<p>Of course, I cannot guarantee that it will always work. Be aware that Youtube remains master of their videos and can decide which level of restrictions they apply to them. Also make sure that your system is up to date when problems occur. New versions with corrections may be available.</p>
<h3>Play an entire YouTube playlist</h3>
<p>You can also play an entire playlist. This time,  just paste a YouTube playlist URL.</p>
<p><em>Note that for it to work, I had to remove the video id from the URL and only leave the &#8220;list&#8221; attribute.</em></p>
<p>You can test with this example: <a href="https://www.youtube.com/watch?list=PLzCxunOM5WFJ3B0F5AnUCwMBTlyq64vKP" target="_blank" rel="noopener noreferrer">youtube.com/watch?list=PLzCxunOM5WFJ3B0F5AnUCwMBTlyq64vKP</a></p>
<p>From there, you may go to the menu button, on the top right of the window (the 3 horizontal lines) and select &#8220;Toggle Playlist&#8221;</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/06/mpv-5.png"><img class="alignnone size-large wp-image-19629" src="https://puri.sm/wp-content/uploads/2017/06/mpv-5-1024x536.png" alt="" width="960" height="503" srcset="https://puri.sm/wp-content/uploads/2017/06/mpv-5-1024x536.png 1024w, https://puri.sm/wp-content/uploads/2017/06/mpv-5-300x157.png 300w, https://puri.sm/wp-content/uploads/2017/06/mpv-5-768x402.png 768w, https://puri.sm/wp-content/uploads/2017/06/mpv-5.png 1530w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>I use Youtube as an example in this tutorial because it is the streaming service that I use the most, but GNOME MPV also works with Vimeo and many other online streaming services. Just give them a try!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/youtube-streaming-with-less-interruptions-and-more-privacy/">YouTube streaming with less interruptions and more privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Coreboot on the Librem 13 v2, part 1</title>
		<link>https://puri.sm/posts/coreboot-on-the-librem-13-v2-part-1/</link>
		<pubDate>Thu, 15 Jun 2017 20:38:18 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=19188</guid>
		<description><![CDATA[<p>Hello everyone! I am very happy to announce that the coreboot port to the Librem 13 v2 as well as the Librem 15 v3 is done! Wow, what an adventure! The entire thing took about 2 weeks of hard work, and an additional week of testing, fixing small issues that kept popping up, and cleaning up [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/coreboot-on-the-librem-13-v2-part-1/">Coreboot on the Librem 13 v2, part 1</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hello everyone! I am very happy to announce that the coreboot port to the Librem 13 v2 as well as the Librem 15 v3 is done! Wow, what an adventure! The entire thing took about 2 weeks of hard work, and an additional week of testing, fixing small issues that kept popping up, and cleaning up the code/commits.</p>
<p>It was truly an adventure, and I would have liked to stop and take the time to write 10 blog posts during that time, one for every major bump in the road or milestone, but I was under a strict deadline because we needed to finish the port before we started shipping the new Librem 13 v2 hardware (from now on referred to as &#8216;the v2&#8217;), so it could be shipping with coreboot pre-installed from day one. Now that the port is finished, I can finally start writing the first chapter in the story.</p>
<p><strong><em>TL;DR:</em></strong> in the process of porting the Skylake-based Librem 13 v2 to coreboot, I have implemented a new debugging method (&#8220;flashconsole&#8221;) and added it to coreboot. It has been <a href="https://review.coreboot.org/#/c/19849">reviewed</a> and merged upstream.<span id="more-19188"></span> The &#8220;flashconsole&#8221; driver is a debugging method for coreboot to write its console log to the SPI flash itself. So if you want to port a board to coreboot and you don&#8217;t have access to UART (or don&#8217;t want to solder UART wires to the motherboad), and can&#8217;t use USB debugging (on skylake for example), then you can enable the CONSOLE_SPI_FLASH configuration option and the console log will be written to the flash. When you use your external programmer, just dump the flash first, then you can use &#8216;<em>cbfstool rom.bin read -r CONSOLE -f console.log</em>&#8216; to extract the console log from it. No wires, no mess, no soldering required. Well, you do still need the external flasher, but you already have to use it to unbrick the machine since it wasn&#8217;t booting (and if it was booting, then you already have log access through cbmem, so you don&#8217;t need uart or flash console).</p>
<h1>Getting your feet wet</h1>
<p>Since I learned my lesson when I first tried to do the v2 port (my, oh so embarassing <a href="https://puri.sm/posts/diving-back-into-coreboot-development/" class="broken_link">first attempt</a>), I decided to grab all the logs I could get from the v2 before doing anything else. After running all the commands from the <a href="https://www.coreboot.org/Motherboard_Porting_Guide">Motherboard Porting Guide</a>, I copied the files over to my work laptop, and when I tried to look at the flash contents, I couldn&#8217;t find the rom.bin file! Maybe the cat ate it? It turns out, when I was trying to dump the flash, I hadn&#8217;t noticed that the &#8216;flashrom&#8217; command returned this error :</p>
<blockquote>
<pre>Found chipset "Intel Sunrise Point (Skylake-U Premium)" with PCI ID 8086:9d48.
ERROR: This chipset is not supported yet.</pre>
</blockquote>
<p>Well, that&#8217;s interesting, flashrom doesn&#8217;t support the Skylake processors (confirmed <a href="https://www.flashrom.org/Supported_hardware">here</a>). So my first task would be to add Skylake support to flashrom. After I mentioned that in IRC, Nico Huber said that he <a href="https://review.coreboot.org/#/q/owner:%22Nico+Huber%22++topic:intel_chipset_support+project:flashrom">already did</a> port flashrom to Skylake, but it&#8217;s just been untested/unreviewed/unmerged. I decided to start reviewing those changes, to get my feet wet, understand how flashrom works, how to read the Intel PCH datasheet, and also to contribute something to the coreboot/flashrom community other than by submitting new code. I&#8217;ve sent my comments on a few of those patches, some things got fixed and/or merged, until I had to stop because my deadline was catching up to me.</p>
<h1>The boring part</h1>
<p>The first thing I had to do when I started the port was to understand what needed to be done. I&#8217;ve watched <a href="https://www.youtube.com/watch?v=8wPskpLHFIo">this talk</a> by Shawn Nematbakhsh in the 2014 Chrome OS Firmware Summit where he explained the process of porting a new chromebook board to coreboot. Since I knew that the v2  was based on the skylake family of Intel processors, I looked at existing skylake boards in the coreboot tree and I found a few : Google Chell, Google Glados, Google Lars, Intel KBLRVP and Intel Kunimitsu. I decided to use the Google Chell board as my starting point (this was a random choice), so I copied the mainboard/google/chell directory into mainboard/purism/librem13v2 and I started to edit the files. I mainly edited the Kconfig/Kconfig.name/board_info.txt files to replace &#8216;google/chell&#8217; by &#8216;purism/librem13&#8217; everywhere I found it. Then I started removing files or references that were chromeos specific and after fumbling a bit in the dark, and removing anything that I thought wasn&#8217;t needed or that I didn&#8217;t understand, I managed to get coreboot to compile.</p>
<p>I also took the time of course to extract the vbios, download the FSP image, adapt the Kconfig file, and update the GPIO values to match the original firmware (more on that in a future post).</p>
<p>When I tested it though, it didn&#8217;t work, obviously. I needed to know what went wrong, I needed to debug it! Unfortunately, I couldn&#8217;t find any UART pads on the motherboard, and when I looked at the usbdebug (which I used for the v1), I realized that it is not implemented for Skylake. After some research, I realized that usbdebug was actually a feature of Broadwell processors, but on Skylake it&#8217;s different, it&#8217;s called DCI, and it requires some proprietary hardware, and proprietary software to talk over a proprietary protocol in order to get the DCI debugging working. I did not want to do that, so I looked for an alternative.</p>
<h1>Now the fun begins</h1>
<p>For me, the obvious choice for debugging was to use the SPI flash itself. After all, I was testing different things blindly, and every time that it failed to work, I was using my external flasher to write a new coreboot version to it. Why not read the flash at the same time and grab the log from it. This felt like such an obvious method for debugging but to my surprise, it wasn&#8217;t implemented in coreboot, so I decided to do just that.</p>
<p>First, I needed to be able to test my implementation, so I decided to implement it for Broadwell so I could test it on the v1 hardware first. Once it would work on the v1, then I could try it on the v2. I looked at the API used by coreboot to write to the flash, and used that to write my log to a fixed offset in the flash (which I knew was unused), then tested it. It worked! Wow, that was fast. This is going to be soooo easy! Yeah&#8230; right&#8230;</p>
<p>So now that it worked with a hard coded offset, I need to make it write to a CBFS file. The CBFS (CoreBoot FileSystem, I assume) has various sections in it called &#8216;files&#8217;, and after looking at the API for a bit, I figured out how to make it parse the CBFS and give me the offset and size of the &#8216;console&#8217; file. I then changed the Makefile.inc so it would add a &#8216;console&#8217; file to CBFS when the option is enabled. I then test, and my &#8216;cbfsconsole&#8217; logger doesn&#8217;t work anymore. I played with it for a while without understanding the problem. Eventually, I found out that if I was writing at offset 0x200000 (my hardcoded value, pointing to unused space), it was working, but if I was writing to offset 0x260000 (the offset of the &#8216;console&#8217; file in CBFS), it wasn&#8217;t working. I even removed the cbfs-related code and just hardcoded the value to 0x260000, it was still not working. Aaron Durbin (adurbin on IRC) came to the rescue, after understanding what I was doing and the issues I was having, he asked me *how* I was creating the &#8216;console&#8217; file that was added to cbfs, and he immediatly saw the problem. The file was copied from /dev/zero, so it was all zeroes, but that&#8217;s not how NOR flash works. Apparently, you can&#8217;t write a &#8216;1&#8217; in a NOR flash, you can only change a &#8216;1&#8217; into a &#8216;0&#8217;, but not a &#8216;0&#8217; into a &#8216;1&#8217;. Since my console file was all zeroes, all my writes were not working. Well, that was news to me, I didn&#8217;t know that&#8217;s how NOR flash worked.. So, what do you do if you want to turn a &#8216;0&#8217; into a &#8216;1&#8217;? Well, that&#8217;s simple, you do a &#8216;sector erase&#8217;, which will erase the entire sector (turning it entirely into 1s (0xff data)), *then* you can write back your data. That also explains this life-long question I always had of &#8220;why does flashrom always erase sectors before it writes the data into it&#8221;.</p>
<p>So, here is the right way of populating any sector of the flash on which you expect to write anything :</p>
<pre>dd if=/dev/zero count=1 bs=$(__cbfsconsole_size) | tr '\000' '\377'</pre>
<p>Now that I had a proper &#8216;console&#8217; file, and my driver was writing the log. I added the code to do a sector erase so whenever the PC boots, the &#8216;console&#8217; file would be erased entirely so the log can be written to it safely. After all, if I try to write over existing data, it will just be a mess of old and new data. Unfortunately, this caused me my second headache.</p>
<p>Before I get into that, I will first, quickly talk about all the hours I wasted, trying to enable cbfsconsole for bootblock and romstage. You see, coreboot has 3 stages, each being executed as independent programs. The bootblock is the very first code that gets executed when you turn on the computer, it will setup the processor to use its cache to act as RAM, then it will execute the romstage. The romstage will initialize the RAM, then the ramstage is executed, which will do most of the actual hardware initialization. When I wrote cbfsconsole, I had it initially enabled only for ramstage, and now that it was working, I decided to enable it for the bootblock and romstage stages. Unfortunately, that didn&#8217;t work because I was using a global variable in my code, and because the SPI driver is doing <em>crazy</em> things like &#8216;malloc&#8217; (allocating memory) and also using global variables, which of course, you can&#8217;t do before the RAM has been initialized.</p>
<p>So after messing with it for a while, I found out that coreboot uses a nice trick where you can declare global variables in a certain way (using the <em>CAR_GLOBAL</em> macro) and then you need to access them differently (using <em>car_get_var</em> and <em>car_set_var</em>) and then you can use global variables, which will just be stored in the cache-as-ram (CAR) section of the binary, instead of being stored in RAM. After I ported my cbfsconsole to use the CAR_GLOBAL trick, and then spending a few hours, trying to get it to compile, I eventually realized that it was a crazy idea, cbfsconsole used a global variable, but it also used the SPI flasher API which itself used global variables, but the SPI flasher itself used various SPI driver implementations which themselves used malloc and global variables. Even after I disabled all the drivers and only left the WIMBOND driver, and ported it to use CAR_GLOBAL, it was not finished, because the SPI driver uses Broadwell specific PCI interfaces, which I had to include and which themselves used global variables. It was a never-ending game where it was not trivial to port the entire thing to use CAR_GLOBAL. So I eventually gave up and thought that I could never get the logger to work on the bootblock and romstage stages (which is crucially important because the crash on the v2 was happening in those stages).</p>
<p>The following day however, as I was trying to compile coreboot for the v2 (skylake), I enabled the cbfsconsole by mistake and it compiled. Shocked, I realized that on skylake, there was a new hardware-sequencing implementation for the SPI driver which didn&#8217;t use any global variables or anything. So yeah, cbfsconsole would have worked if I had just tried it on Skylake before trying it on Broadwell!</p>
<p>Since my cbfsconsole was now properly compiling for Skylake, it was time to test it on the v2. Unfortunately, it was obviously not working. At that point though, I was already joined by Matt “<a href="https://mrchromebox.tech/" target="_blank" rel="noopener noreferrer">Mr. Chromebox</a>” DeVillier, who had access to a Chromebook Chell with the Servo (debug) connector installed, and he volunteered to test the cbfsconsole on his Google Chell to see if it would work. Once he enabled cbfsconsole, his Chell Chromebook stopped booting, but using his servo debugger, he was able to get the debug logs which showed him this peculiar line :</p>
<pre>SPI Transaction Timeout (Exceeded 15 ms) at Flash Offset d0f000 HSFSTS = 0x3f066020</pre>
<p>After a lot of debugging, reading the datasheet for the SPI hardware sequencer and testing various things, the only conclusion I could get to was that the Skylake hardware SPI sequencer was frozen for no particular reason, and that was causing everything to just freeze. Well, to be honest, it was freezing because the SPI transactions would timeout, causing the SPI driver to print the debug line &#8220;SPI Transaction Timeout&#8221; above, which itself would make it try to write it again to the flash, and we end up in an infinite loop.</p>
<p>I gave up again on trying to understand it and I went to the #coreboot IRC channel asking if someone knew why this would happen. Aaron Durbin came to the rescue once again, telling us that some implementations might freeze if we try to erase a sector that is already erased. Of course the sector was already erased, since it was all full of 0xff data (see above), and trying to erase it is what&#8217;s causing all our problems! Once I removed the code that erases the sectors, and replaced it with code that would read the &#8216;console&#8217; file, and set its starting offset to the first occurence of the 0xff byte, the cbfsconsole worked! Matt reported that his Chell device booted, and when I tested on the v2, I finally got some output!</p>
<h1>Finalizing things</h1>
<p>Now that we had a way to get a debug log out of coreboot, it was time to get it to work on the v2. Unfortunately, it was crashing it seems on the very first thing that it was trying to do. This was the entire log :</p>
<pre>coreboot-4.5-1805-g7da7ddf-dirty Fri May 12 20:15:36 UTC 2017 bootblock starting...
Calling FspTempRamInit</pre>
<p>It didn&#8217;t take long to fix that because Matt had experience with that. It looks like the FSP needs us to give it a Microcode address and length that are not zero. Even though the FSP Integration Guide says that setting the MicrocodeRegionBase and MicrocodeRegionLength parameters to zero means that no microcode update is available, the reality is that the FSP simply freezes or crashes if a valid non-zero-sized Microcode is not provided to it.</p>
<p>In this case, coreboot was disappointing, because on Broadwell, the Microcode files were automatically included in the build since they are distributed with coreboot (in the &#8216;blobs&#8217; repository), but for Skylake, they are not available, and that&#8217;s because Intel decided to make you accept a non-distribute license for downloading the microcode files, so they were of course never added to coreboot. The problem here is that coreboot simply adds a zero-sized cpu_microcode_blob.bin file to CBFS instead of complaining that the file could not be found. Also, we have to manually set the memory location and file size in the config file, even though those values could easily be programatically retrieved using the same CBFS APIs I used for the &#8216;console&#8217; file.</p>
<p>Anyways, once I added the microcode file and set its position and length in the config, the FspTempRamInit was successful and the bootblock finished and loaded the romstage, which of course crashed at the FspMemoryInit call.</p>
<p>I will spare you the details today of how we got the memory init to work, and I will leave that for a future blog post. Suffice to say that it wasn&#8217;t trivial, but once we got memory working, we ended up with another crash. This time, the last line from the log was :</p>
<pre>Calling FspTempRamExit API</pre>
<p>After investigating the code, it looked like right after that call, the romstage main was returning, and it was jumping back into assembly code to teardown the Cache-as-RAM system that had been setup initially, then it would call the ramstage. I started trying to understand all it did, and trying to figure out why it would crash in the assembly code, and what might have been different in the various registers, etc.. Thankfully, I didn&#8217;t waste too much time on this, because Matt was asked to test something on a Google Sentry Chromebook, so he switched his environment to the Sentry and tested what he had to test for someone else, and then he saw that it was crashing at the exact same place as us on the v2. It was working for him before, and yet, it wasn&#8217;t working now. He realized he still had the cbfsconsole enabled, and once he disabled it, it booted. This was an incredibly lucky thing for us to realize (without wasting a week on this), that cbfsconsole was the one blocking coreboot. Once I disabled cbfsconsole support for bootblock and romstage, I was happy to see the ramstage booting and the screen light up!</p>
<p>For a while though, I kept it like that. We didn&#8217;t need to have cbfsconsole working for both romstage and ramstage, as long as ramstage was booting, that&#8217;s all I needed to see the logs of. Fast forward a couple of weeks later, and after the port was done, I came back to this issue. Actually, I simply mentioned the problem that I &#8220;still have to fix&#8221; on IRC and Aaron Durbin diagnosed the problem and came up with the solution right away. You see, when you use CAR_GLOBAL variable, and the FspTempRamInit is called (which tears down the cache-as-ram), the content of those global CAR variables are copied to the actual RAM, and it works just fine. However, if your variable itself contains a pointer to another CAR variable, then your data was copied but its content points to the old cache address, so when you try to access it, you can&#8217;t. This is what was happening for cbfsconsole. The SPI handler itself had the bug because it was storing a pointer to the SPI driver and that variable was wrong after the CAR was removed. The trick to fix it was to simply replace the calls &#8220;<em>car_get_var_ptr</em>&#8221; into &#8220;<em>car_sync_var_ptr&#8221;</em> which would migrate the data to the appropriate RAM location before returning the CAR pointer. Once I did that, the cbfsconsole was working on all 3 stages at the same time and without issues.</p>
<h1>Porting to FMAP</h1>
<p>There was one discussion we had on IRC about cbfsconsole, which was about how it should not be writing to the CBFS in the first place. My argument was that the MRC cache is also written in a CBFS file. The MRC cache is a memory cache, because memory discovery, test and initialization takes about 10 seconds, but those RAM settings are saved in the cache, which can be provided to the FSP, and subsequent boots only take 200 ms to initialize the RAM with the cache. Aaron thought that was wrong too and that the CBFS API doesn&#8217;t provide us with any writing mechanism. It is true after all, I used the CBFS API to find the offset and size in the flash for the console file, and used a different API to write to it. Coreboot has a different concept called FMAP (Flash map), which is used to map different areas in the flash to be used by coreboot. The FMAP defines the size of the flash, the offset/size of the BIOS region, and in that region, the offset and size of the CBFS. Aaron believes that the console log should have been written to a separate FMAP area besides the CBFS rather than inside a CBFS file itself. The reason is simple, while it is currently possible to write to it, it is possible that in the future, the CBFS would implement a checksum system, which would become broken if we wrote to it directly in the manner I just used (I think it actually already has checksums, I just ignore them).</p>
<p>After the discussion about the pros/cons of using FMAP instead of CBFS to store the console log, I decided to rename my cbfsconsole driver into &#8216;flashconsole&#8217;, and I implemented support for using an FMAP area. The code has even been simplified now because the FMAP API can directly return the right Read/Write object for us to use and there is no need to work around the limitation of the CBFS API. When the option is enabled the CONSOLE area is automatically added to the resulting coreboot image, and once you dump your flash, you can extract the FMAP console, using this command :</p>
<pre>cbfstool rom.bin read -r CONSOLE -f console.log</pre>
<p>And that&#8217;s it.</p>
<h1>Conclusion</h1>
<p>The Librem port was a great experience, but it would never have been possible without having access to a debug log. I am happy to have implemented the flashconsole method of debugging, which will be very useful in the future for anyone who wants to port coreboot to a new board, for which they do not have easy access to UART pads. I have sent this feature upstream for review, and it has been merged. You can see it <a href="https://review.coreboot.org/#/c/19849/">here</a>.</p>
<p>In my next blog post, I will explain how we got the memory init to work, and the various issues we got. Also, what actual steps are needed to port a new board to coreboot (GPIO, memory, PCI, ACPI) and what I&#8217;ve learned in the past 2 weeks.</p>
<p>Stay tuned!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/coreboot-on-the-librem-13-v2-part-1/">Coreboot on the Librem 13 v2, part 1</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Website and forums: Easier, Better, Faster, Stronger.</title>
		<link>https://puri.sm/posts/website-and-forums-easier-better-faster-stronger/</link>
		<pubDate>Fri, 09 Jun 2017 15:24:24 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Customer Satisfaction]]></category>
		<category><![CDATA[Communications infrastructure]]></category>
		<category><![CDATA[Customer Feedback]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=19159</guid>
		<description><![CDATA[<p>We are happy to announce that we have recently deployed our new forums, running Discourse! The provide a modern, pleasant-to-use dedicated discussion tool. We have tested them out with early adopters over the past few weeks, and they are a real joy to use. You can now participate too, at forums.puri.sm. What&#8217;s special about Discourse? Besides [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/website-and-forums-easier-better-faster-stronger/">Website and forums: Easier, Better, Faster, Stronger.</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are happy to announce that we have recently deployed our new forums, running Discourse! The provide a modern, pleasant-to-use dedicated discussion tool. We have tested them out with early adopters over the past few weeks, and they are a real joy to use. You can now participate too, at <a href="https://forums.puri.sm/" target="_blank" rel="noopener noreferrer">forums.puri.sm</a>.</p>
<p>What&#8217;s special about Discourse? Besides the <a href="http://www.discourse.org/features" target="_blank" rel="nofollow noopener noreferrer">official list of features</a>, you may want to read this <a href="https://blog.codinghorror.com/civilized-discourse-construction-kit/">seminal blog post</a> where Jeff Atwood highlights the kind of thinking that went into its functional (and aesthetic) design, making it quite different compared to traditional forum software.</p>
<p>Our migration to a self-hosted Discourse instance brings many benefits:</p>
<ul>
<li>Improving security by isolating the forums from the rest of our infrastructure;</li>
<li><em>Much</em> better usability and user experience. The previous forums were cumbersome and frustrating to use, littered with bugs and limitations, and they just looked awful visually. The new ones are much more readable, and full of modern community-enhancing features. Using a forum should be <em>fun,</em> not boring or cumbersome, and I know that Discourse&#8217;s design actively encourages a sense of community and self-moderation, so I&#8217;m looking forward to seeing the results over time. We hope you&#8217;ll love the new discussion tools!</li>
<li>More flexible community management tools;</li>
<li>Better email notifications, and less noise (Discourse will not spam you with mail notifications if you&#8217;ve been recently active on the forums website);</li>
<li>Simplifying our main website&#8217;s daily management (previously, the forums actually interfered with the rest of the administration UI);</li>
<li>Better performance and resources usage.</li>
</ul>
<p><span id="more-19159"></span></p>
<h1>Improved performance, fire prevention</h1>
<p>Until now, the website and forums were sitting on the same server that was hosting a <em>ton</em> of unrelated processing-intensive things, so the web pages would have very annoying latency spikes (or even timeout errors) that would negatively impact visitors&#8217; user experience: there would sometimes be page load delays of up to 20 seconds!</p>
<p>Our main server was actually <em>boiling</em> from all the load: the average CPU temperatures were between 80 and 100°C at all times, and the <a href="https://en.wikipedia.org/wiki/Load_(computing)" target="_blank" rel="noopener noreferrer">system load</a> was often above 7 or 12 (instead of staying between 0.10 and 0.50), which is definitely &#8220;not normal&#8221; in my experience. With that warning sign on hand, I started digging. It took a while to isolate the biggest sources of overload through trial and error, but the Purism team is not one to back down from a challenge.</p>
<figure id="attachment_19168" style="width: 500px" class="wp-caption alignnone"><img class="size-full wp-image-19168" src="https://puri.sm/wp-content/uploads/2017/05/itcrowd-fire.gif" alt="" width="500" height="272" /><figcaption class="wp-caption-text">Pictured: troubleshooting the server</figcaption></figure>
<p>I&#8217;m glad to say the issue is now mostly fixed (until we find further possible optimizations). With the newly separated infrastructure, the server now has an average CPU temperature of 38 to 44°C and stays fast at all times (response times typically below 0.5 second, and that&#8217;s <em>without</em> a SSD on the server). More importantly, with less variables influencing each other and clouding our view, we will be able to continue investigating and improving performance further, as numbers will no longer be completely swayed off by unrelated performance hogs. We will also have the option to use SSDs if needed in the future (it was not possible due to large disk space requirements previously).</p>
<h1>Preserving history</h1>
<p>For the forums migration to happen, a chief concern of mine was to try, as much as possible, to preserve the data and discussions from our existing forums, as a token of respect to our community. And we had to find a <em>reliable</em> way to do it. We encountered a few issues:</p>
<ul>
<li>Initially, we couldn&#8217;t get the import plugin to work. Instructions were made for a non-dockerized set-up, so it would not work inside Docker (as others had <a href="https://meta.discourse.org/t/issues-while-migrating-from-bbpress/24858" target="_blank" rel="noopener noreferrer" class="broken_link">previously realized</a>). We tried <a href="https://meta.discourse.org/t/howto-set-up-a-development-environment-using-vagrant-ubuntu-guide/45277" target="_blank" rel="noopener noreferrer">with Vagrant</a> too, no luck. The solution would then be to setup a development, docker free, instance of Discourse, run the import on that one and then export a backup from the dev instance into production.</li>
<li>When we did the first successful import, we realized that all the posts made by unregistered (semi-anonymous) users had been anonymized and would show up simply as posts from &#8220;system&#8221;. The result is that you would then have topics full of posts by &#8220;system&#8221; replying to other posts by &#8220;system&#8221; with no way to know who was who. So we had to modify the import script to take this into account&#8230; and then re-do the import.</li>
<li>While we were doing the migration work, Discourse &#8220;helpfully&#8221; started emailing hundreds of users to give them a summary of new posts, so we saw a few users jumping heartily into the new forums. Ooops! We quickly added a pinned banner on the new forums to indicate that those were not fully ready yet, and that anything new would get overwritten when we would do a 2nd migration attempt to include the unregistered accounts. Thankfully it seems people did see our warning, as no new posts appeared as we finished the cleanup and import work for the next two days or so.</li>
<li>We wanted to take the opportunity to prune all the inactive (0 posts) accounts. We had over 300 of those out of 650 accounts, so we had to had come up with a script to do that too because Discourse does not batch user management (sorting and deletion) administration features. So if your account had zero posts, you will have to recreate it yourself if you want to post (no account is required to read the forums).</li>
</ul>
<p>I&#8217;m really pleased that <strong>the migration has been completed with all previous forum posts and users </strong><strong>preserved,</strong> thanks to Frieder, a volunteer systems administrator who recently joined our team. He deserves huge props for figuring out the intricacies of the migration and adapting the scripts to address the issues we encountered. Thanks, Frieder!</p>
<p>In addition to preserving the data above, we also took the opportunity to clean up the cruft. For instance, we pruned over 400 fake or unused (zero posts) user accounts, which is yet another aspect making management and security slightly easier for this piece of our web infrastructure.</p>
<h2>Sharing the improvements</h2>
<p>As we solved these various challenges during our migration, we naturally wanted to solve them for everybody in the future, so Frieder submitted improvements to the import scripts as pull requests, <a href="https://github.com/discourse/discourse_docker/pull/347" target="_blank" rel="noopener noreferrer">here</a> and <a href="https://github.com/discourse/discourse/pull/4882" target="_blank" rel="noopener noreferrer">here</a>. He also documented his experience (<a href="https://meta.discourse.org/t/how-to-use-the-bbpress-import-script-or-any-other-import-script-with-mysql-dependency/63349" target="_blank" rel="noopener noreferrer">here</a> and <a href="https://meta.discourse.org/t/bulk-deleting-mass-modifying-users/64362" target="_blank" rel="noopener noreferrer">here</a>) into the Discourse.org forums.</p>
<p>This is just another way the Purism team is contributing to Free and Open-Source software through its daily actions.</p>
<h1>Awesome, how do I log in?</h1>
<p>If you did not have an account before, you can simply create a new dedicated account for our forums. It&#8217;s open to all!</p>
<p>If you had an active account on our forums before (or if you posted semi-anonymously with your email address), your account has been migrated and you will probably have to reset your password (simply by using the &#8220;Forgot my password&#8221; feature on the login form) to get a link sent to your email address, from which you will be able to set a new passphrase/password. If you&#8217;re running into trouble, feel free to let us know at <em>support at wp.puri.sm</em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/website-and-forums-easier-better-faster-stronger/">Website and forums: Easier, Better, Faster, Stronger.</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>A fleet of coreboot laptops assembles</title>
		<link>https://puri.sm/posts/a-fleet-of-coreboot-laptops-assembles/</link>
		<pubDate>Thu, 25 May 2017 01:02:57 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Customer Satisfaction]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=19069</guid>
		<description><![CDATA[<p>Following up on our status update where we revealed the imminent shipping date and general availability of our laptops this June, we&#8217;re happy to let you know today that we&#8217;ve recently had a breakthrough in our work to port the new laptops to coreboot, thanks to the fruitful collaboration between our coreboot developer Youness &#8220;KaKaRoTo&#8221; [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-fleet-of-coreboot-laptops-assembles/">A fleet of coreboot laptops assembles</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Following up on our status update where we <a href="https://puri.sm/posts/inventory-shipping-june-2017-case-designs-and-final-assembly/">revealed the imminent shipping date</a> and general availability of our laptops this June, we&#8217;re happy to let you know today that we&#8217;ve recently had a breakthrough in our work to port the new laptops to coreboot, thanks to the fruitful collaboration between our coreboot developer Youness &#8220;KaKaRoTo&#8221; Alaoui and Matt &#8220;<a href="https://mrchromebox.tech/" target="_blank" rel="noopener noreferrer">Mr. Chromebox</a>&#8221; DeVillier (to whom we sent a prototype unit). <a href="/coreboot/">Our coreboot port</a> is now working for both the Librem 13 v2 and the Librem 15 v3, with all the test cases passing.</p>
<p>We are now pretty confident that we <em>should</em> be able to have coreboot firmware ready in time for factory preloading of the new inventory we&#8217;ll be shipping from in June. As we receive the first &#8220;production&#8221; units, we will ship some of those across the border, so that Youness can re-test and finalize the port on those machines (the results should be the same, but we want to make sure everything is top-notch). I will also seize the opportunity to take good reference images in our photo studio.</p>
<p>In the meantime, Youness is currently busy preparing his code contributions to be upstreamed officially to the coreboot project, after which he will be attending the <a href="https://www.coreboot.org/Denver2017" target="_blank" rel="noopener noreferrer">2017 edition of the coreboot conference in Denver</a>. You will also soon be able to read his latest technical findings as part of the current round of coreboot ports.</p>
<p>The only model that will remain to be ported to coreboot afterwards will be the Librem 15 v2 (it turns out that the &#8220;v1&#8221; was an early demonstration unit that was sent out to some reviewers but never made it into large-scale production, so it does not actually need to be ported), thus reaching a milestone and honouring a promise that many of you have been eagerly looking forward to. That remaining port should be fairly straightforward to do, now that Youness has gained a lot of experience with other models. Then, depending on how the timing plays out this summer, our reverse engineering work is expected to resume from <a href="https://puri.sm/posts/reverse-engineering-the-intel-management-engine-romp-module/">where we left off</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-fleet-of-coreboot-laptops-assembles/">A fleet of coreboot laptops assembles</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Inventory shipping in June 2017: case designs and final assembly</title>
		<link>https://puri.sm/posts/inventory-shipping-june-2017-case-designs-and-final-assembly/</link>
		<pubDate>Tue, 16 May 2017 19:55:57 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=18844</guid>
		<description><![CDATA[<p>For the past few weeks, the new Librem 13 and 15 have been undergoing stage 1 production with our case modifications and silkscreening. We had some back and forth between us and the printer to finally have clearly identified killswitches: …and our certification marks and model identification on the underside: At first the screenprinters had [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/inventory-shipping-june-2017-case-designs-and-final-assembly/">Inventory shipping in June 2017: case designs and final assembly</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>For the past few weeks, the <a href="https://puri.sm/posts/spring-2017-product-design-update/">new</a> Librem 13 and 15 have been undergoing stage 1 production with our case modifications and silkscreening. We had some back and forth between us and the printer to finally have clearly identified killswitches:</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/05/librem-13-v2-killswitches-silkscreening-schematics.png"><img class="alignnone size-large wp-image-18850" src="https://puri.sm/wp-content/uploads/2017/05/librem-13-v2-killswitches-silkscreening-schematics-1024x225.png" alt="" width="960" height="211" srcset="https://puri.sm/wp-content/uploads/2017/05/librem-13-v2-killswitches-silkscreening-schematics-1024x225.png 1024w, https://puri.sm/wp-content/uploads/2017/05/librem-13-v2-killswitches-silkscreening-schematics-300x66.png 300w, https://puri.sm/wp-content/uploads/2017/05/librem-13-v2-killswitches-silkscreening-schematics-768x169.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>…and our certification marks and model identification on the underside:</p>
<p><img class="alignnone wp-image-18852 size-full" src="https://puri.sm/wp-content/uploads/2017/05/purism-librem-13v2-and-15v3-silkscreening-schematics-comparison-transparent.png" alt="" width="2466" height="839" srcset="https://puri.sm/wp-content/uploads/2017/05/purism-librem-13v2-and-15v3-silkscreening-schematics-comparison-transparent.png 2466w, https://puri.sm/wp-content/uploads/2017/05/purism-librem-13v2-and-15v3-silkscreening-schematics-comparison-transparent-300x102.png 300w, https://puri.sm/wp-content/uploads/2017/05/purism-librem-13v2-and-15v3-silkscreening-schematics-comparison-transparent-768x261.png 768w, https://puri.sm/wp-content/uploads/2017/05/purism-librem-13v2-and-15v3-silkscreening-schematics-comparison-transparent-1024x348.png 1024w" sizes="(max-width: 2466px) 100vw, 2466px" /></p>
<p>At first the screenprinters had trouble with the font we&#8217;re using (as you can see above, if you have a keen eye), but we got that corrected as you can see further below. We were not so lucky with the keyboard&#8217;s &#8220;Purism logo&#8221; key as the aspect ratio was squashed a little bit by the backlit keyboard supplier and we found out too late, but at this stage the #1 priority is getting these machines delivered to you as fast as possible, so we&#8217;re hoping you don&#8217;t mind the Purism rectangle logo being in &#8220;ultra-wide&#8221; cinema format just this once 😉</p>
<p>As the laptops are now at stage 2 production, we have some teaser photos of the completed case work. These were shot a bit hurriedly, the lighting and compression is not flattering, but this at least provides a rough idea. We&#8217;ll take the time to shoot proper studio photos when the first new wave of shipments is mailed out in June.</p>
<p>Here is what the underside of the Librem 13 looks like:</p>
<p><img class="alignnone size-full wp-image-18846" src="https://puri.sm/wp-content/uploads/2017/05/2017-05-16-1.jpg" alt="" width="1118" height="713" srcset="https://puri.sm/wp-content/uploads/2017/05/2017-05-16-1.jpg 1118w, https://puri.sm/wp-content/uploads/2017/05/2017-05-16-1-300x191.jpg 300w, https://puri.sm/wp-content/uploads/2017/05/2017-05-16-1-768x490.jpg 768w, https://puri.sm/wp-content/uploads/2017/05/2017-05-16-1-1024x653.jpg 1024w" sizes="(max-width: 1118px) 100vw, 1118px" /></p>
<p>Here are the silkscreened killswitch labels:</p>
<p><img class="alignnone size-full wp-image-18847" src="https://puri.sm/wp-content/uploads/2017/05/2017-05-16-2.jpg" alt="" width="1280" height="720" srcset="https://puri.sm/wp-content/uploads/2017/05/2017-05-16-2.jpg 1280w, https://puri.sm/wp-content/uploads/2017/05/2017-05-16-2-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2017/05/2017-05-16-2-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2017/05/2017-05-16-2-1024x576.jpg 1024w" sizes="(max-width: 1280px) 100vw, 1280px" /></p>
<p>Note: the IPS display panels we source for the Librems are matte (as they should be!) The reason why the screen in the picture above seems reflective is that a glossy protective film is applied to protect the laptops during shipping.</p>
<p>For the curious among you, here is a bare view of the case&#8217;s interior, with only the multitouch trackpad and backlit keyboard (underneath the black electrical isolating layer) installed:</p>
<p><img class="alignnone size-full wp-image-18849" src="https://puri.sm/wp-content/uploads/2017/05/2017-05-16-3.jpg" alt="" width="982" height="720" srcset="https://puri.sm/wp-content/uploads/2017/05/2017-05-16-3.jpg 982w, https://puri.sm/wp-content/uploads/2017/05/2017-05-16-3-300x220.jpg 300w, https://puri.sm/wp-content/uploads/2017/05/2017-05-16-3-768x563.jpg 768w" sizes="(max-width: 982px) 100vw, 982px" /></p>
<p>With this, we are confident that we will be able to begin shipping out finalized units to customers in roughly two weeks. Afterwards, we will have stock on hand allowing new orders to be fulfilled within a week. <strong>If you were reluctant to preorder and were were waiting for the presence of rapidly-shipping stock to purchase a Librem, this will be a deal changer for you.</strong></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/inventory-shipping-june-2017-case-designs-and-final-assembly/">Inventory shipping in June 2017: case designs and final assembly</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>A new boot splash for PureOS</title>
		<link>https://puri.sm/posts/a-new-boot-splash-for-pureos/</link>
		<pubDate>Fri, 12 May 2017 17:33:53 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[User experience design]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=18755</guid>
		<description><![CDATA[<p>A quick update about PureOS… from the design team this time! 😉 For the new version of PureOS (codenamed &#8220;Prometheus&#8221;), I am working with the developers to make a very smooth and pleasant user experience when installing and launching the system. We want to make sure that PureOS is not only secure, but also a [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-new-boot-splash-for-pureos/">A new boot splash for PureOS</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://puri.sm/wp-content/uploads/2017/05/pureos_logo_black.png"><img class="size-medium wp-image-18768 alignright" src="https://puri.sm/wp-content/uploads/2017/05/pureos_logo_black-300x150.png" alt="" width="300" height="150" srcset="https://puri.sm/wp-content/uploads/2017/05/pureos_logo_black-300x150.png 300w, https://puri.sm/wp-content/uploads/2017/05/pureos_logo_black.png 400w" sizes="(max-width: 300px) 100vw, 300px" /></a>A quick update about PureOS… from the design team this time! 😉</p>
<p>For the new version of PureOS (codenamed &#8220;Prometheus&#8221;), I am working with the developers to make a very smooth and pleasant user experience when installing and launching the system. We want to make sure that PureOS is not only secure, but also a beautiful and enjoyable experience, designed for<em> everyone.</em> No exceptions!</p>
<p>So, I am currently working hard on polishing the visuals. The video below shows an example of the animation that will now take place at boot time in PureOS.</p>
<div style="width: 400px;" class="wp-video"><video class="aligncenter" id="video-18755-75" width="400" height="400" preload="metadata" controls="controls"><source type="video/mp4" src="http://videos.wp.puri.sm/plymouth/plymouth_pureos_8.mp4?_=75" /><source type="video/webm" src="http://videos.wp.puri.sm/plymouth/plymouth_pureos_8.webm?_=75" /><a href="http://videos.wp.puri.sm/plymouth/plymouth_pureos_8.mp4">http://videos.wp.puri.sm/plymouth/plymouth_pureos_8.mp4</a></video></div>
<p>Every new Librem ordered with PureOS pre-installed should ship with this beautiful PureOS update in the coming weeks (we&#8217;re working hard to make the PureOS release on time for factory installs!) If you already are using PureOS, a software update will also arrive soon for you.</p>
<p>If you like it so much that you can&#8217;t wait for it to be released with PureOS, or if you want to customize its look to make it yours, you can download the source files <a href="https://pureos.net/downloads/art/plymouth_pureos_8.tar.xz">here</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-new-boot-splash-for-pureos/">A new boot splash for PureOS</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="http://videos.wp.puri.sm/plymouth/plymouth_pureos_8.mp4" length="18256" type="video/mp4" />
<enclosure url="http://videos.wp.puri.sm/plymouth/plymouth_pureos_8.webm" length="64818" type="video/webm" />
		</item>
		<item>
		<title>Reverse-engineering the Intel Management Engine&#8217;s ROMP module</title>
		<link>https://puri.sm/posts/reverse-engineering-the-intel-management-engine-romp-module/</link>
		<pubDate>Wed, 10 May 2017 16:12:30 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Reverse engineering]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=18666</guid>
		<description><![CDATA[<p>Last month, while I was waiting for hardware to arrive and undergo troubleshooting, I had some spare time to begin some Intel ME reverse engineering work. First, I need to give some shout out to Igor Skochinsky, a Hex-Rays developer, who had been working on reverse engineering the Intel ME for a while, and who [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/reverse-engineering-the-intel-management-engine-romp-module/">Reverse-engineering the Intel Management Engine&#8217;s ROMP module</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Last month, while I was waiting for hardware to arrive and <a href="https://puri.sm/posts/preventing-interference-from-the-old-bios-while-flashing-coreboot/">undergo troubleshooting</a>, I had some spare time to begin some <a href="https://puri.sm/learn/intel-me/">Intel ME</a> reverse engineering work.<span id="more-18666"></span></p>
<p>First, I need to give some shout out to <a href="https://www.slideshare.net/codeblue_jp/igor-skochinsky-enpub">Igor Skochinsky</a>, a Hex-Rays developer, who had been working on reverse engineering the Intel ME for a while, and who has been very generous in sharing his notes and research on the ME with us, which is going to be a huge help and cut down months of reverse engineering and guesswork. Igor was very helpful in getting me to understand the bits that didn&#8217;t make sense to me.</p>
<p>The first thing I wanted to try and reverse was the ROMP module. It is one of the two modules that me_cleaner doesn&#8217;t remove, and given how small it is (less than 1KB of code+data), I thought it would be a good starting point. Turns out my hunch was right, as I finished reverse engineering that module after only a couple of days.</p>
<p>I have uploaded the C equivalent of the code to my github account and you can see the file here:<a href="https://github.com/kakaroto/purism-playground/blob/master/me_re/romp.c"> romp.c</a> as well as the <a href="https://github.com/kakaroto/purism-playground/blob/master/me_re/rapi.h">rapi.h</a> header that I used for defining RAPI (ROM API) calls and data structures (most of that info was taken from Igor&#8217;s shared information). Note that this romp.c/rapi.h code is not meant to be compiled (for now), but serves more as a proof of concept—or a way for others who are less at ease with assembly to audit the code and understand what it does exactly. A long term goal would be to make it compile and generate a binary-compatible result (with the same hash as the Intel files).</p>
<p>There are some more good news too: in that small bit of code, I have already found one bug in their implementation. I doubt that particular bug instance is exploitable as-is, but it&#8217;s a good indicator that their code is probably going to be full of bugs and it won&#8217;t be long before we find an exploitable one.</p>
<ul>
<li>The bug is simple: when the ROMP module reads the partition from the SPI flash, after it validates the RSA signature, it copies it to a memory address and locks that memory address so it can&#8217;t be modified by the main CPU. However, they made a mistake and didn&#8217;t shift the size by 2 (effectively multiply by 4), which means that they are only locking ¼ of the region that needs to be locked. This could mean that there is a portion of the partition manifest that is accessible by the CPU which could allow us to modify the hash of a module and put our own code in it, since the signature has already been checked, and the module hash is in that ¾ portion that isn&#8217;t locked.</li>
<li>Unfortunately, we can&#8217;t seem to be able to use it because the ROMP module is executed very early, before the DRAM is initialized, and so it&#8217;s probably using/locking the internal RAM of the Intel ME ARC core, not the RAM of the main CPU. If, however, I can find the same bug (crossing fingers for a lazy Intel developer doing a copy/paste of that code) in the BUP module or any other module that executes on the main RAM, it would become exploitable and would allow us unsigned code execution on the ME processor… Which would be a nice shortcut for us.</li>
</ul>
<p>As the Intel Management Engine&#8217;s ROMP module is now reversed and auditable (bringing us one little step closer in the <a href="https://puri.sm/learn/freedom-roadmap/">freedom roadmap</a>), we now understand much better what it&#8217;s doing (Igor thinks it might be a way to recover from an incomplete ME update, since it looks for an FTPR-named partition in the NFTP partition of the FPT header). We&#8217;ll continue digging soon. For the time being, as I received hardware prototypes for <a href="https://puri.sm/posts/spring-2017-product-design-update/">the new batch of Librems</a>, I need to get back to porting them to coreboot.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/reverse-engineering-the-intel-management-engine-romp-module/">Reverse-engineering the Intel Management Engine&#8217;s ROMP module</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>How Purism Avoids Critical Intel Security Exploit</title>
		<link>https://puri.sm/posts/how-purism-avoids-critical-intel-security-exploit/</link>
		<pubDate>Mon, 08 May 2017 13:00:27 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=18571</guid>
		<description><![CDATA[<p>Intel dropped a fairly large bombshell on the world May 1st, 2017, when they published a security advisory that explains how nearly every single Intel chip since 2008 is now vulnerable to a remote exploit through AMT, even when powered off. Purism, which uses Intel chips, happens to be immune to this very nasty threat. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-purism-avoids-critical-intel-security-exploit/">How Purism Avoids Critical Intel Security Exploit</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Intel dropped a fairly large bombshell on the world May 1st, 2017, when they published a <a href="https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00075&amp;languageid=en-fr" target="_blank" rel="nofollow noopener noreferrer">security advisory</a> that explains how nearly every single Intel chip since 2008 is now vulnerable to a remote exploit through AMT, even when powered off.</p>
<p>Purism, which uses Intel chips, happens to be immune to this very nasty threat. Purism happens to also be the <strong>only manufacturer where all products are designed specifically to be immune to this</strong> very substantial threat. Purism is able to accomplish this thanks to its strict belief in digital rights for users and adherence to its <a href="https://puri.sm/about/social-purpose/">social purpose</a>; it is this philosophy that brings Purism to systematically remove exploitable firmware from the computers it makes, and users are all the better for it.</p>
<p>We already published a lengthy article on the potential of this type of threat, which you can find at <a href="https://puri.sm/learn/avoiding-intel-amt/">How Purism Avoids Intel AMT</a>, but in case you wanted the shorter version:</p>
<ol>
<li>We choose Intel CPUs that do not have the hardware enabled to be exploitable (no vPro/AMT)</li>
<li>We avoid Intel networking, to remove this exact threat (no Intel networking, no remote exploit from exploitable firmware)</li>
<li>We neutralize the <a href="https://puri.sm/learn/intel-me/">exploitable firmware</a></li>
</ol>
<p>The larger message rings true; if you can&#8217;t control the computer, the computer controls you. This turn of events highlights that fact clearly; this exploitable Intel firmware is a binary at the lowest level of the CPU, outside the view of the user, allowing for anybody to use it to gain full control of the computer, even when the device is powered off. This represents the worst of all possible security vulnerabilities, and we are very proud to have a philosophy that makes our products the only high-end current hardware offering that can safely avoid this Intel security exploit.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-purism-avoids-critical-intel-security-exploit/">How Purism Avoids Critical Intel Security Exploit</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism now a Social Purpose Corporation — What this means for you and us</title>
		<link>https://puri.sm/posts/purism-now-a-social-purpose-corporation/</link>
		<pubDate>Sat, 06 May 2017 14:15:12 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=13059</guid>
		<description><![CDATA[<p>Purism, SPC (formerly Purism, Inc.) is pleased to announce that it has successfully become a social purpose corporation under the jurisdiction of the state of Washington, USA. Our assembly operations center will remain in South San Francisco, California. The company&#8217;s assets have been transferred from Purism, Inc. to Purism, SPC, and the company&#8217;s operations will [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-now-a-social-purpose-corporation/">Purism now a Social Purpose Corporation — What this means for you and us</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism, SPC (formerly Purism, Inc.) is pleased to announce that it has successfully become a <a href="https://en.wikipedia.org/wiki/Social_purpose_corporation">social purpose corporation</a> under the jurisdiction of the state of Washington, USA. <span id="more-13059"></span>Our assembly operations center will remain in South San Francisco, California. The company&#8217;s assets have been transferred from <em>Purism, Inc.</em> to <em>Purism, SPC,</em> and the company&#8217;s operations will continue as usual, with the added reassurance that our mission and values will always be upheld by a strong set of bylaws, and the ability to seek external investment to facilitate growth without compromising on our values and mission.</p>
<p>On the reasons behind the change of status, our CEO Todd Weaver explained:</p>
<blockquote>
<figure id="attachment_16622" style="width: 300px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2017/01/todd-holding-articles-of-incorporation.jpeg"><img class="wp-image-16622 size-medium" src="https://puri.sm/wp-content/uploads/2017/01/todd-holding-articles-of-incorporation-300x300.jpeg" alt="" width="300" height="300" srcset="https://puri.sm/wp-content/uploads/2017/01/todd-holding-articles-of-incorporation-300x300.jpeg 300w, https://puri.sm/wp-content/uploads/2017/01/todd-holding-articles-of-incorporation-150x150.jpeg 150w, https://puri.sm/wp-content/uploads/2017/01/todd-holding-articles-of-incorporation-768x771.jpeg 768w, https://puri.sm/wp-content/uploads/2017/01/todd-holding-articles-of-incorporation-180x180.jpeg 180w, https://puri.sm/wp-content/uploads/2017/01/todd-holding-articles-of-incorporation-600x600.jpeg 600w, https://puri.sm/wp-content/uploads/2017/01/todd-holding-articles-of-incorporation.jpeg 800w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption class="wp-caption-text">Pictured: CEO Todd Weaver holding the approved SPC registration papers and articles of incorporation</figcaption></figure>
<p>&#8220;Typical corporations are by definition driven by one thing: maximizing profit. Yet, while Purism was incorporated in the traditional sense, profit maximization was not the purpose. On the other hand, it was not feasible to launch Purism as a non-profit organization: it sells products and has profit, and also needs to leverage lines-of-credit, accounts receivable, and investment vehicles, all which require a corporate status that charitable organizations do not have.&#8221;</p></blockquote>
<p>Thankfully, we learned through one of our advisors, Ben Trister, that a relatively new state classification perfectly matches the essence of Purism: a social purpose corporation (SPC), where Purism defines<strong> general and specific social purposes that sit above the purpose of making a profit,</strong> and bakes its social contract and philosophy into its incorporation documents. These articles of incorporation are practically immutable in that any change to the company&#8217;s social purposes would require the support of those who collectively hold at least three-quarters of the voting shares. The company intends to have its social purposes remain in force for the lifetime of the company. This strong set of provisions ensure that we will continue our positive path of social purpose in the fight for digital rights of computer users.</p>
<p>Ben Trister, the advisor who helped introduce the idea of transitioning to a Social Purpose Corporation added:</p>
<blockquote>
<figure id="attachment_14806" style="width: 106px" class="wp-caption alignright"><img class="wp-image-14806" src="https://puri.sm/wp-content/uploads/2017/01/ben-trister-color-283x300.jpg" alt="" width="106" height="112" srcset="https://puri.sm/wp-content/uploads/2017/01/ben-trister-color-283x300.jpg 283w, https://puri.sm/wp-content/uploads/2017/01/ben-trister-color.jpg 457w" sizes="(max-width: 106px) 100vw, 106px" /><figcaption class="wp-caption-text">Ben Trister, advisor to Purism</figcaption></figure>
<p>&#8220;Moving from <em>Purism, Inc.</em> to <em>Purism, SPC</em> may seem like a tiny move to some, but it actually is a tremendous win for Purism&#8217;s longevity as a <em>social movement</em> in addition to a great hardware and software manufacturer.&#8221;</p></blockquote>
<p>The articles of incorporation for <em>Purism, SPC</em> highlight our social contract and philosophy. Purism&#8217;s social purpose, as stated in the articles of incorporation, can be found at <a href="https://puri.sm/about/social-purpose/">https://puri.sm/about/social-purpose/</a>. SPCs are required to publish an annual Social Purpose report to provide transparency to the public, and we&#8217;re looking forward to publishing ours in addition to our regular news updates, highlighting how our activities reflect our official social purpose.</p>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<h2>Press info</h2>
This article can be freely reproduced with no attribution required. Contact information and additional resources can be found on Purism's <a href="https://puri.sm/pr/">press page</a>.
<hr class="ttfmake-hr" style="border-style: double; border-top-width: 6px;" />
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">We are happy to announce that Purism has become a Social Purpose Corporation.  What this means for us and for you.<a href="https://t.co/jOl41XOsMx">https://t.co/jOl41XOsMx</a></p>
<p>&mdash; Purism (@Puri_sm) <a href="https://twitter.com/Puri_sm/status/861200713246015490?ref_src=twsrc%5Etfw">May 7, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">A good step forward for (an already) good company 🙂</p>
<p>Via <a href="https://twitter.com/elioqoshi?ref_src=twsrc%5Etfw">@elioqoshi</a> <a href="https://t.co/MtVq2fScHA">https://t.co/MtVq2fScHA</a></p>
<p>&mdash; Aral Balkan (@aral) <a href="https://twitter.com/aral/status/861251184551751680?ref_src=twsrc%5Etfw">May 7, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">Amazing hardware company is even more amazing now. Seriously consider <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> for your next laptop. I love mine. 💙 <a href="https://t.co/Bi4KB1dv12">https://t.co/Bi4KB1dv12</a></p>
<p>&mdash; bron 🏳️‍🌈 (@0xbron) <a href="https://twitter.com/0xbron/status/861259266472136704?ref_src=twsrc%5Etfw">May 7, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-now-a-social-purpose-corporation/">Purism now a Social Purpose Corporation — What this means for you and us</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>How Purism avoids Vault 7 leaked threats &#8220;Dark Matter&#8221;</title>
		<link>https://puri.sm/posts/how-purism-avoids-vault-7-dark-matter/</link>
		<pubDate>Tue, 25 Apr 2017 18:38:53 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=16729</guid>
		<description><![CDATA[<p>Recently, WikiLeaks unloaded another lot of Vault 7 documents, under the &#8220;Dark Matter&#8221; codename. In there, other tools and techniques used by the CIA to gain persistent remote exploits on Apple devices (including Macs and iPhones) are revealed. Most of these attacks target Apple&#8217;s EFI/UEFI firmware, therefore such infections persist even if the operating system [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-purism-avoids-vault-7-dark-matter/">How Purism avoids Vault 7 leaked threats &#8220;Dark Matter&#8221;</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Recently, WikiLeaks unloaded another lot of Vault 7 documents, under the &#8220;<a href="https://wikileaks.org/vault7/darkmatter/">Dark Matter</a>&#8221; codename. In there, other tools and techniques used by the CIA to gain persistent remote exploits on Apple devices (including Macs and iPhones) are revealed.</p>
<p>Most of these attacks target Apple&#8217;s EFI/UEFI firmware, therefore such infections persist even if the operating system is re-installed. This collection of threats, including <em><a href="https://wikileaks.org/vault7/darkmatter/document/SonicScrewdriver_1p0/">Sonic Screwdriver</a>, <a href="https://wikileaks.org/vault7/darkmatter/document/Triton_v1_3_DOC/">Triton</a>,</em> <em> <a href="https://wikileaks.org/vault7/darkmatter/document/DerStarke_v1_4_DOC/">Der Starke</a>,</em> and <em><a href="https://wikileaks.org/vault7/darkmatter/document/DarkSeaSkies_1_0_URD/">Dark Sea Skies</a>,</em> all utilize the same general principle: to attack a device at the BIOS level depth, in order to seize control of all shallower levels including the operating system, applications, networking, and web access.</p>
<p>In addition to the EFI/UEFI exploits mentioned, there are targeted exploits such as <em><a href="https://wikileaks.org/vault7/darkmatter/document/NightSkies_v1_2_User_Guide/">Night Skies</a></em> focusing on iPhones, or the <em><a href="https://wikileaks.org/vault7/darkmatter/document/SeaPea_2_0_UserGuide/">Sea Pea</a></em> rootkit focusing on Apple&#8217;s Mac OS X kernel specifically.</p>
<p>Night Skies is a tool that operates in the background and does not exhibit user-alerting behavior, providing upload, download and execution capability on the device. NightSkies will attempt to use any available Internet connection to beacon. Once user activity is detected, it will monitor specific directories on the phone such as the browser history file, YouTube video cache, map files cache, or mail files metadata. Night Skies can then:</p>
<ul>
<li>retrieve files from the iPhone including the address book, SMSes, call logs, etc.;</li>
<li>send files and binaries to the iPhone (such as additional hacking tools);</li>
<li>execute arbitrary commands on the iPhone;</li>
<li>grant full remote command and control;</li>
<li>masquerade as the standard HTTP protocol for communications;</li>
<li>use XXTEA block encryption to provide secure communications;</li>
<li>provide self-upgrade capability.</li>
</ul>
<p>Sea Pea, on the other hand, is a rootkit designed for Mac OS X&#8217;s kernel, that will remain on the system unless one of the following conditions are met: the hard drive is reformatted, an upgrade is made to the next major version of OS X (i.e. 10.6), or an error is encountered (at which point SeaPea may remove itself).</p>
<p>What these threats continue to showcase is that EFI/UEFI is an ideal low-level backdoor to control a user&#8217;s device without their knowledge, and the leaked documents shows how widespread these threats are against any user running a EFI/UEFI BIOS.</p>
<p>Purism is working hard to make its products immune against these threats by designing its devices to be <a href="https://puri.sm/coreboot/">able to run coreboot</a> instead EFI/UEFI. Purism also utilizes <a href="https://pureos.net/" target="_blank" rel="noopener noreferrer">PureOS</a> (a GNU/Linux based distribution that does not contain any mystery binaries), so the entire source code stack can be audited.</p>
<p>These documents continue to reinforce the fact that security is a game of depth, and the deeper you go with releasing free software where the source code can be audited, the better.</p>
<p>Purism has future plans of including hardware encryption tools to verify the entire boot chain, putting the entire system under a user&#8217;s control, rather than that of a bad corporation, government, spying agency, criminals, or ISPs.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/how-purism-avoids-vault-7-dark-matter/">How Purism avoids Vault 7 leaked threats &#8220;Dark Matter&#8221;</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Your own music studio with JACK, Ardour and Yoshimi</title>
		<link>https://puri.sm/posts/your-own-music-studio-with-jack-ardour-and-yoshimi/</link>
		<pubDate>Thu, 20 Apr 2017 15:24:27 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Tips and tricks]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=18278</guid>
		<description><![CDATA[<p>Last week, after flashing coreboot on my Librem 13 (as a beta tester of the new coreboot install script), I came across a few problems with my heavily tweaked PureOS install, so I decided I would do a full, fresh install of PureOS 3.0 beta so my environment would be much closer to what a [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/your-own-music-studio-with-jack-ardour-and-yoshimi/">Your own music studio with JACK, Ardour and Yoshimi</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://puri.sm/wp-content/uploads/2017/04/music_studio.jpg"><img class="alignnone wp-image-18333 size-large" src="https://puri.sm/wp-content/uploads/2017/04/music_studio-1024x470.jpg" alt="" width="960" height="441" srcset="https://puri.sm/wp-content/uploads/2017/04/music_studio.jpg 1024w, https://puri.sm/wp-content/uploads/2017/04/music_studio-300x138.jpg 300w, https://puri.sm/wp-content/uploads/2017/04/music_studio-768x353.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>Last week, after flashing coreboot on my Librem 13 (as a beta tester of the new coreboot install script), I came across a few problems with my heavily tweaked PureOS install, so I decided I would do a full, fresh install of PureOS 3.0 beta so my environment would be much closer to what a new user would expect.</p>
<p>While re-installing all my creative environment, I decided that I would do a quick tutorial on installing and using Jack as it is not straight forward and that there are not so many tutorials about it on the Internet.</p>
<h2>What is JACK?</h2>
<p><a href="http://jackaudio.org/" target="_blank" rel="noopener noreferrer">JACK</a> stands for &#8220;JACK Audio Connection Kit&#8221;. It is a free software that lets you handle audio input and output between different applications.</p>
<p>You can see it as a set of audio jacks that you will be able to plug between different programs.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/04/jack_connections2.jpg"><img class="alignnone wp-image-18323 size-full" src="https://puri.sm/wp-content/uploads/2017/04/jack_connections2.jpg" alt="" width="626" height="326" srcset="https://puri.sm/wp-content/uploads/2017/04/jack_connections2.jpg 626w, https://puri.sm/wp-content/uploads/2017/04/jack_connections2-300x156.jpg 300w" sizes="(max-width: 626px) 100vw, 626px" /></a></p>
<p>For example, you can use it to connect a software synthezizer (<a href="http://yoshimi.sourceforge.net/" target="_blank" rel="noopener noreferrer">Yoshimi</a>, <a href="http://zynaddsubfx.sourceforge.net/" target="_blank" rel="noopener noreferrer">ZynAddSubFX</a>) to a multitrack sequencer (<a href="https://ardour.org/" target="_blank" rel="noopener noreferrer">Ardour</a>, <a href="https://lmms.io/" target="_blank" rel="noopener noreferrer">LMMS</a>).<br />
You can use it to connect an audio editing software (<a href="http://www.audacityteam.org/" target="_blank" rel="noopener noreferrer">Audacity</a>) to a video editing software (<a href="https://www.blender.org/" target="_blank" rel="noopener noreferrer">Blender</a>).</p>
<p>Many applications have Jack support. <a href="http://jackaudio.org/applications/" target="_blank" rel="noopener noreferrer">Here</a> is a list from the JACK&#8217;s website.</p>
<p>As an example for this tutorial, I will show you how to use Yoshimi with Ardour.</p>
<h2>Install the applications</h2>
<p>First of all, we need to install all the required applications</p>
<pre>sudo apt install qjackctl ardour yoshimi</pre>
<h2>Enable real time scheduling</h2>
<p>Real time scheduling is a feature of all Linux based operating systems that enables an application to meet timing deadlines more reliably. It is also considered to be a potential source of system lock up if your hardware resources are not sufficient so, most of the time, it is not enabled by default.</p>
<p>As mentioned on the JACK&#8217;s website, JACK requires real time scheduling privileges for reliable, dropout-free operation.</p>
<p>There is a well detailed <a href="http://jackaudio.org/faq/linux_rt_config.html" target="_blank" rel="noopener noreferrer">tutorial</a> from the JACK&#8217;s team that describes how to enable real time scheduling on your system. I will go through the main steps here. It works for me on PureOS but should also work without problem on many other GNU/Linux distributions.</p>
<p>First of all, create a group called &#8220;realtime&#8221; and add your user to this group (replace <strong>USERNAME</strong> with your current login) :</p>
<pre>sudo groupadd realtime
sudo usermod -a -G realtime USERNAME</pre>
<p>You can check that &#8220;realtime&#8221; is now part of the user&#8217;s groups by running the following command :</p>
<pre>id USERNAME</pre>
<p>Also, make sure that the user is part of the audio group. If not, just add it :</p>
<pre>sudo usermod -a -G audio USERNAME</pre>
<p>On PureOS (and Debian), you should have a folder called <strong>/etc/security/limits.d</strong>. If so, just create and edit the file <strong>/etc/security/limits.d/99-realtime.conf</strong> with your favorite editor. (If you don&#8217;t see this folder, you need to edit <strong>/etc/security/limits.conf</strong>).</p>
<pre>sudo vi /etc/security/limits.d/99-realtime.conf</pre>
<p>Add the following lines and save the file :</p>
<pre>@realtime   -  rtprio     99
@realtime   -  memlock    unlimited</pre>
<p>You need to logout and login again for the changes to take effect.</p>
<p><strong>WARNING</strong> : You should only add new or existing users to the &#8220;realtime&#8221; group only if an application that they use (like JACK) requires it . By doing so, you give them pretty high privileges to interact with the process priorities, and this may affect the whole usability of the computer.</p>
<h2>Run JACK</h2>
<p>Before being able to connect anything with JACK, we need to set it up and start its deamon. For that matter, we will use QJackCtl which is a graphical application that controls JACK&#8217;s inputs and ouputs.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/04/jack_controls.jpg"><img class="alignnone wp-image-18317 size-full" src="https://puri.sm/wp-content/uploads/2017/04/jack_controls.jpg" alt="" width="475" height="137" srcset="https://puri.sm/wp-content/uploads/2017/04/jack_controls.jpg 475w, https://puri.sm/wp-content/uploads/2017/04/jack_controls-300x87.jpg 300w" sizes="(max-width: 475px) 100vw, 475px" /></a></p>
<p>We will first make sure that JACK is setup correctly. Press the &#8220;Setup&#8230;&#8221; button.</p>
<p>I am not an expert with audio hardware and configurations and this setup is working perfectly on my Librem :</p>
<ul>
<li>Driver: alsa<a href="https://puri.sm/wp-content/uploads/2017/04/jack-settings.jpg"><img class="alignright wp-image-18318 size-medium" src="https://puri.sm/wp-content/uploads/2017/04/jack-settings-300x237.jpg" alt="" width="300" height="237" srcset="https://puri.sm/wp-content/uploads/2017/04/jack-settings-300x237.jpg 300w, https://puri.sm/wp-content/uploads/2017/04/jack-settings.jpg 683w" sizes="(max-width: 300px) 100vw, 300px" /></a></li>
<li>Realtime : yes</li>
<li>Interface : hw:PCH</li>
<li>Sample Rate : 44100</li>
<li>Frames/Period : 128</li>
<li>Periods/Buffer : 2</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Save your settings and, on the main QJackCtl controls window, press the &#8220;Start&#8221; button. After a few seconds, you should see the &#8220;Connections&#8221; window popping up. This is where all the connections take place.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/04/jack_connections1.jpg"><img class="alignnone wp-image-18322 size-full" src="https://puri.sm/wp-content/uploads/2017/04/jack_connections1.jpg" alt="" width="626" height="326" srcset="https://puri.sm/wp-content/uploads/2017/04/jack_connections1.jpg 626w, https://puri.sm/wp-content/uploads/2017/04/jack_connections1-300x156.jpg 300w" sizes="(max-width: 626px) 100vw, 626px" /></a></p>
<h2>Connect Yoshimi to Ardour</h2>
<p>Now, we are ready to connect our virtual jacks. It is time to open Ardour and create a new session. You should now see a lot more connections in the JACK&#8217;s connections window. It shows how Ardour interacts with the system&#8217;s audio inputs and outputs.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/04/jack_connections2.jpg"><img class="alignnone wp-image-18323 size-full" src="https://puri.sm/wp-content/uploads/2017/04/jack_connections2.jpg" alt="" width="626" height="326" srcset="https://puri.sm/wp-content/uploads/2017/04/jack_connections2.jpg 626w, https://puri.sm/wp-content/uploads/2017/04/jack_connections2-300x156.jpg 300w" sizes="(max-width: 626px) 100vw, 626px" /></a></p>
<p>Let&#8217;s add a new track to Ardour. Click the menu &#8220;Track&#8221;-&gt;&#8221;Add Track, Bus or VCA&#8230;&#8221;. Call your new track &#8220;Drums&#8221; and set it as stereo.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/04/ardour_add_track.jpg"><img class="alignnone wp-image-18324 size-full" src="https://puri.sm/wp-content/uploads/2017/04/ardour_add_track.jpg" alt="" width="287" height="386" srcset="https://puri.sm/wp-content/uploads/2017/04/ardour_add_track.jpg 287w, https://puri.sm/wp-content/uploads/2017/04/ardour_add_track-223x300.jpg 223w" sizes="(max-width: 287px) 100vw, 287px" /></a></p>
<p>Now you see 2 more Ardour inputs in the JACK&#8217;s connections window. They show the name of the audio track that we just created and they are currently connected to the default system&#8217;s capture device (the microphone). That is is not what we want so we will disconnect them.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/04/jack_connections3.jpg"><img class="alignnone wp-image-18325 size-full" src="https://puri.sm/wp-content/uploads/2017/04/jack_connections3.jpg" alt="" width="626" height="326" srcset="https://puri.sm/wp-content/uploads/2017/04/jack_connections3.jpg 626w, https://puri.sm/wp-content/uploads/2017/04/jack_connections3-300x156.jpg 300w" sizes="(max-width: 626px) 100vw, 626px" /></a></p>
<p>Right click on one of them (Drums/audio_in 1) and chose &#8220;Disconnect&#8221;. It will disconnect the audio capture device. We will now connect our track to Yoshimi.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/04/jack_connections4.jpg"><img class="alignnone wp-image-18326 size-full" src="https://puri.sm/wp-content/uploads/2017/04/jack_connections4.jpg" alt="" width="626" height="326" srcset="https://puri.sm/wp-content/uploads/2017/04/jack_connections4.jpg 626w, https://puri.sm/wp-content/uploads/2017/04/jack_connections4-300x156.jpg 300w" sizes="(max-width: 626px) 100vw, 626px" /></a></p>
<p>Open Yoshimi and wait for it to be fully loaded. You should now see the Yoshimi&#8217;s output appear on the JACK&#8217;s connections window. In order to connect the Yoshimi&#8217;s output to the Ardour&#8217;s input, just drag one on top of the other (make sure to respect the vertical order).</p>
<p>&nbsp;</p>
<p>You are now ready to enjoy your fully operational free software powered professional music studio! 🙂</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/04/jack_ardour_yoshimi.jpg"><img class="alignnone wp-image-18328 size-large" src="https://puri.sm/wp-content/uploads/2017/04/jack_ardour_yoshimi-1024x576.jpg" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2017/04/jack_ardour_yoshimi-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2017/04/jack_ardour_yoshimi-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2017/04/jack_ardour_yoshimi-768x432.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>Please, feel free to comment this post or ask any question in our forums.</p>
<p>Have fun! 😉</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/your-own-music-studio-with-jack-ardour-and-yoshimi/">Your own music studio with JACK, Ardour and Yoshimi</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Spring 2017 product design update and operations report</title>
		<link>https://puri.sm/posts/spring-2017-product-design-update/</link>
		<pubDate>Wed, 19 Apr 2017 02:15:41 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Supply chain]]></category>
		<category><![CDATA[Tablets]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=17233</guid>
		<description><![CDATA[<p>Let&#8217;s recap recent progress with a summary of where we stand and where we&#8217;re going next on the &#8220;operations&#8221; front. We have begun production of the two new revisions of Librem laptops. As we narrowed down on component choices and successfully raised additional funds, we have now made great steps towards our &#8220;zero outstanding orders&#8221; [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/spring-2017-product-design-update/">Spring 2017 product design update and operations report</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Let&#8217;s recap recent progress with a summary of where we stand and where we&#8217;re going next on the &#8220;operations&#8221; front.</p>
<p><strong> We have begun production of the two new revisions of Librem laptops.</strong> As we narrowed down on component choices and successfully raised additional funds, we have now made great steps towards our &#8220;zero outstanding orders&#8221; milestone and our goal of <a href="https://puri.sm/posts/new-librem-13-to-be-manufactured-and-shipped-through-spring-2017/">creating our first inventory to ship future orders from</a>.</p>
<ul>
<li>Last month, we ordered a batch of supplies to begin production of the new Librem 13 &#8220;v2&#8221; units. We have also tested and evaluated three prototype units, the latest of which we will use to extend our coreboot work.</li>
<li>Two weeks ago, we also ordered parts for the new Librem 15 &#8220;v3&#8221; units. So far we have evaluated one prototype unit for this new batch (which will also be used for our coreboot work), and will evaluate a second one soon.</li>
<li>We are currently working to leverage investment to make the Librem 11 batch order happen sooner and create an inventory directly; we will let you know of any progress on that front. In the meantime, we thank you for your patience. And please spread the word about the Librem 11 to those around you looking for a nice security-oriented and freedom-respecting convertible tablet with stylus support (especially interesting for visual artists who want to use the plethora of free creative tools such as <a href="http://mypaint.org/" target="_blank" rel="noopener noreferrer">MyPaint</a>, <a href="https://krita.org/" target="_blank" rel="noopener noreferrer">Krita</a>, <a href="https://inkscape.org/" target="_blank" rel="noopener noreferrer">Inkscape</a>, <a href="https://www.gimp.org/" target="_blank" rel="noopener noreferrer">GIMP</a>, etc.)!<em> The more people know about it, the sooner we should be able to put it into production.</em></li>
</ul>
<h1>Revised products specifications</h1>
<p>For the upcoming Librem 13 v2 and the Librem 15 v3, we evaluated various prototypes, including different cases and keyboard models, alongside various possible CPU, GPU, RAM and storage combinations. With the newer motherboards, we aimed to keep the same flexibility in terms of storage: one M.2 slot and one standard SATA slot. As usual, the RAM and SSDs are all user-replaceable, <em>not</em> soldered.</p>
<p>The Librem 13 gets a whole slew of improvements for version 2:</p>
<ul>
<li>A newer i5 processor, using the 14 nanometers lithography of the Skylake generation, bringing additional performance and power savings over previous generations</li>
<li>A backlit keyboard (the most often requested feature)</li>
<li>Newer Intel graphics as part of the Skylake chipset</li>
<li>DDR4 memory</li>
<li>One USB 3.0 &#8220;type C&#8221; connector</li>
<li>A much better trackpad (sourced from Elantech instead of BYD), which works better out of the box. It supports vertical and horizontal two-finger scrolling, allows changing workspaces with a simple four-finger swipe gesture, has smoother scrolling, and various multitouch gestures (dependent on applications support).</li>
</ul>
<p>Those who have ordered the Librem 15 <em>also</em> get the free update to Skylake, newer graphics, DDR4, and improved trackpad. The Librem 15 already had a backlit keyboard and USB-C.</p>
<p>As you can see, <strong>when you pre-order a Purism device, you don&#8217;t need to worry about the specs becoming outdated</strong> by the time of production &amp; delivery. For all our products, we strike a balance as per our <a href="https://puri.sm/about/manufacturing-and-sourcing/">manufacturing &amp; sourcing approach,</a> yet strive to stay close to the latest technology out there. We aim to please our supporters by bundling these updates at no additional cost whenever possible.</p>
<p>Upgrading from the Broadwell microarchitecture for this round, we chose to go with Skylake (rather than Kabylake) in order to service orders more quickly without bringing on delays in supplies or testing. To provide the best user experience, we prefer to test more thoroughly before moving on to a new chipset (for instance, we&#8217;ll be able to provide coreboot support more quickly with Skylake as part of our current roadmap). We expect to upgrade the chipsets/microachitecture again for the next production run (planned for the second half of 2017 once we complete this batch), which will involve a revised motherboard design, as we will also be adding new hardware features <a href="https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/">in prevision of full support for Heads</a>.</p>
<h1>The power of the Dark Side comes as a duo</h1>
<p>We chose to keep the same overall chassis, although the location of Librem 15&#8217;s killswitches will be different this time (all on the hinge cover, like the Librem 13).</p>
<p>A notable aesthetic improvement for the Librem 15 v3 is that it will be anodized black just like the Librem 13. The temptation of the Dark Side was strong! Here you can see an anodized aluminium extrusion sample of the Librem 15 v3, next to an existing Librem 13 v1:</p>
<p><img class="alignnone size-full wp-image-16751" src="https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop.jpg" alt="" width="2000" height="1383" srcset="https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop.jpg 2000w, https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop-300x207.jpg 300w, https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop-768x531.jpg 768w, https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop-1024x708.jpg 1024w" sizes="(max-width: 2000px) 100vw, 2000px" /></p>
<p>As we are beginning to have quite a bit of hardware revisions and models to keep track of, the laptops will now also feature some subtle branding underneath the backplate for model identification and to show the appropriate certification marks (we are FCC and CE certified). The publicly visible parts such as the screen bezel, palmrests, or the back of the screen lid, all remain unbranded.</p>
<h1>Better power connectors</h1>
<p>We are now sourcing power supplies with L-shaped coaxial connectors, so they keep a low profile when plugged into the side of your Librem:</p>
<p><img class="alignnone wp-image-17424 size-full" src="https://puri.sm/wp-content/uploads/2017/04/L-shaped-power-adapter-connector.jpg" alt="" width="2000" height="1036" srcset="https://puri.sm/wp-content/uploads/2017/04/L-shaped-power-adapter-connector.jpg 2000w, https://puri.sm/wp-content/uploads/2017/04/L-shaped-power-adapter-connector-300x155.jpg 300w, https://puri.sm/wp-content/uploads/2017/04/L-shaped-power-adapter-connector-768x398.jpg 768w, https://puri.sm/wp-content/uploads/2017/04/L-shaped-power-adapter-connector-1024x530.jpg 1024w" sizes="(max-width: 2000px) 100vw, 2000px" /></p>
<p>This is particularly useful if you like to sit cross-legged with your laptop on a sofa, for example! (or for those who like to meditate with a computer on their lap)</p>
<h1>Wrapping up</h1>
<p>We are well on our way to provide a great new set of laptops this summer. We should be receiving the final components around the end of May, at which point we will do the final assembly and shipping throughout June. We will then be able to celebrate having cleared all the existing Librem 13 and 15 orders (including the recent big spike in orders). After that point, we will be able to ship within days and weeks (not months), which will be a huge relief for everybody looking to buy a Librem &#8220;in a pinch&#8221;. We hope you&#8217;re as excited as we are about that!</p>
<p>As always, thank you for your support, and feel free to contact us with your thoughts and encouragements, or to spread the good news around you!</p>
<hr class="ttfmake-hr" style="border-style: solid; border-top-width: 1px;" />
<p>Edit: post updated to reflect the processor models available as of June 2017. For the time being, the Librem 13 will still feature an i5 processor instead of the i7, albeit with the newer Skylake chipset.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/spring-2017-product-design-update/">Spring 2017 product design update and operations report</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Preventing AMI&#8217;s BIOS from interfering with coreboot flashing on the Librem 13</title>
		<link>https://puri.sm/posts/preventing-interference-from-the-old-bios-while-flashing-coreboot/</link>
		<pubDate>Fri, 14 Apr 2017 21:05:07 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Benchmarks and testing]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=16932</guid>
		<description><![CDATA[<p>I wrote recently about one of our collaborators having tried to install coreboot and unfortunately bricking his laptop in the process. I sent him mine as a replacement, then he swapped hard drives and he sent me his testing unit, so that I could investigate what happened. This is what we found. Once I received [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/preventing-interference-from-the-old-bios-while-flashing-coreboot/">Preventing AMI&#8217;s BIOS from interfering with coreboot flashing on the Librem 13</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>I wrote <a href="https://puri.sm/posts/neutralizing-intel-management-engine-on-librem-laptops/">recently</a> about one of our collaborators having tried to install coreboot and unfortunately bricking his laptop in the process. I sent him mine as a replacement, then he swapped hard drives and he sent me his testing unit, so that I could investigate what happened. This is what we found.<span id="more-16932"></span></p>
<p>Once I received his laptop, I obviously wanted to dump its flash to see what went wrong, but it was&#8230; not cooperating. My external programmer setup was working fine with my previous laptop, but now it was somehow completely unable to detect the ROM chip. I set out to figure out why, I tried everything: I used my logic analyzer to see if the SPI data had the right values, I tried a different power supply, a different FTDI chip, different USB cables, anything I could think of&#8230; and it made no sense whatsoever. Sometimes it would show me the right data in the logic analyzer, but the FTDI would not see the same data; most of the times though, it looked as if the MISO pin was being pulled high, so I even tried to wire a resistor to ground in order to pull down on the MISO pin, without luck.</p>
<p>Then, after four hours of intense troubleshooting, it suddenly worked, without warning. What had I done to make it work? I had no idea at first on what I did, but I remembered this as being my last sequence of events before it had worked :</p>
<ol>
<li>I had a suspicion of a defective FTDI chip and was using my backup chip (which was also not working up until now);</li>
<li>I had powered down the ATX power supply providing 3.3V to the motherboard</li>
<li>I used the laptop&#8217;s power supply to turn on the laptop and try to read the chip while it was on (knowing quite well that it wouldn&#8217;t work since the motherboard itself would be driving the SPI chip&#8217;s pins high/low, thus interfering with the FTDI chip);</li>
<li>I shut down the laptop, removed the charging cable and put the external power supply on again</li>
<li>I tried to dump the flash, and that&#8217;s when it worked!</li>
</ol>
<p>I had done similar manipulations hundreds of times already, and whenever I connected the flasher to the ROM (battery removed of course  and external ATX power supply on), the flasher couldn&#8217;t detect the chip. Quite annoying.</p>
<p><strong>Then I found a way to trick the hardware.</strong> While the FTDI chip is connected to the SPI flash, if I insert the charging cable into the laptop for about 2 seconds (and quickly remove it) <em>then</em> turn the power supply back on&#8230; suddenly the FTDI can detect and read/write to the flash chip without problems. Without a doubt this makes no sense at all (the joys of hardware), but it is 100% reproducible, so when I discovered that trick I simply thanked the lords of Kobol for their offering and I dumped the flash, then unbricked the laptop. Oh, and yes, my original FTDI chip had become defective, so switching to the backup one was also a required step.</p>
<h1>Encounters with chimeras</h1>
<figure id="attachment_17350" style="width: 462px" class="wp-caption alignright"><img class="wp-image-17350 size-full" src="https://puri.sm/wp-content/uploads/2017/03/Chimera-PSF.jpg" alt="" width="462" height="502" srcset="https://puri.sm/wp-content/uploads/2017/03/Chimera-PSF.jpg 462w, https://puri.sm/wp-content/uploads/2017/03/Chimera-PSF-276x300.jpg 276w" sizes="(max-width: 462px) 100vw, 462px" /><figcaption class="wp-caption-text">Behold, the &#8220;AMI-coreboot&#8221; chimera.</figcaption></figure>
<p>Inspecting the flash dump, I was in for a surprise: the coreboot image was corrupted in a strange way, it had parts of the old AMI BIOS in the middle of the coreboot BIOS. Essentially, a chimera.</p>
<p>Let&#8217;s study this strange creature.</p>
<ul>
<li>The old factory BIOS started at offset 0x200000 in the ROM (the first 2MB of the ROM are reserved for the ME)</li>
<li>After coreboot was flashed, the old factory BIOS had apparently &#8220;moved&#8221; and was now in the ROM at offset 0x220000…</li>
<li>Unfortunately, coreboot was already at offset 0x200000, so 128KB (0x20000 bytes) into the coreboot image&#8217;s region, the old BIOS had somehow inserted itself there and was corrupting our coreboot image.</li>
</ul>
<p>I was completely baffled by that discovery. How could it have happened? The only thing I knew was that our collaborator had flashed coreboot from within <a href="https://www.qubes-os.org/" target="_blank">Qubes OS</a>, so I installed Qubes OS, spent some time learning how to use it, figured out how to install flashrom into &#8220;dom0&#8221;, how to move my coreboot image into dom0 and how to flash it. I rebooted and&#8230; it was working fine. So the problem wasn&#8217;t QubesOS, which brought me back to square one. I shelved the problem at that time and moved on to writing my coreboot installation script instead.</p>
<p>After my coreboot installation script was done, it was time to beta-test it (beyond just testing it myself). François Téchéné from our team volunteered to try it on his Librem 13. To be sure, I hopped on a conference call with him for this operation. Everything was going well, and after he powered off his laptop… it was a brick too. Curses!</p>
<p>Well, we&#8217;re back to the chimera then. Now we have seen <em>two</em> chimeras, so we know they&#8217;re real. Why was it working for me (I tested at least 100 times during development of the script) and Todd but not for <em>some</em> others? I tried the script again on my machine, powered off the laptop, and then got a brick too. I retried multiple times and kept getting the same corrupted coreboot image with the displaced old BIOS written in the middle of it. This was making less and less sense, and making me more and more tense. <strong>What was wrong with my alchemy?!</strong></p>
<p>My script was already testing that flashrom was writing the ROM properly (by reading it back and ensuring it would get the exact same hash), but in this case after turning off the computer, I would get a different reading (the corrupt image) when reading with an external flash programmer. Below are some comparisons (left vs right) where you can see, on the left, the original BIOS image, and on the right, the chimera :</p>
<p>You see how the images match but the offsets are different (from 0x200000 to 0x220000) :</p>
<p><img class="alignnone size-large wp-image-17347" src="https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-2-1024x491.png" alt="" width="960" height="460" srcset="https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-2-1024x491.png 1024w, https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-2-300x144.png 300w, https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-2-768x368.png 768w, https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-2.png 1468w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<p>And this is the end of the changes, where you can see that the data is not entirely the same (the top part, also some of the lower part is mangled), and the data is matching from 0x21FFFF in the original BIOS with the 0x23FFFF in the chimera) :</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-1.png"><img class="alignnone size-large wp-image-17346" src="https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-1-1024x474.png" alt="" width="960" height="444" srcset="https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-1-1024x474.png 1024w, https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-1-300x139.png 300w, https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-1-768x356.png 768w, https://puri.sm/wp-content/uploads/2017/03/ami-interference-flashrom-1.png 1500w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>I wondered if there was a bug in flashrom or in the internal SPI programmer that would cause this corruption. Maybe it was writing incorrectly but somehow caching the data so that when we read it back (and when flashrom itself verifies the data after it wrote it) it would give us the data we asked to write but not the one that was actually written?</p>
<h1>Finding the alkahest</h1>
<p>As I asked around on IRC in the #flashrom channel, <em>agaran</em> (IRC nickname) came to the rescue and after analyzing the binary files and the diffs (images above), he noticed that the &#8220;old BIOS&#8221; data looked more like some &#8220;NVRAM Storage&#8221; instead of being actual BIOS code. He suggested that maybe something was writing that data when I was powering off the laptop.</p>
<p><img class="alignright wp-image-17351" src="https://puri.sm/wp-content/uploads/2017/03/The-Alchymist-in-Search-of-the-Philosophers-Stone.jpg" alt="" width="478" height="627" srcset="https://puri.sm/wp-content/uploads/2017/03/The-Alchymist-in-Search-of-the-Philosophers-Stone.jpg 600w, https://puri.sm/wp-content/uploads/2017/03/The-Alchymist-in-Search-of-the-Philosophers-Stone-229x300.jpg 229w" sizes="(max-width: 478px) 100vw, 478px" />At that moment, I had an epiphany:<strong> all these last few months, I was almost always rebooting (or suspending) the machine after flashing coreboot, and when I was actually powering it off, it was quite probably always when I was testing a new coreboot version on a laptop that already had a previous version of our coreboot image!</strong> When I was in the conference call with François, he said, &#8220;I&#8217;ll power off the laptop&#8221;, which somehow stuck in my mind so when testing on my own later that day I was now subconciously using the &#8220;poweroff&#8221; command instead of the &#8220;reboot&#8221; command, which made all the difference!</p>
<p>I then spent a couple of days testing: I flashed the original factory BIOS, powered off, then flashed coreboot, then powered off again (or suspended, or rebooted, depending on the test case), probably 20 times for each scenario (every poweroff required flashing using the external hardware flasher, which required the charging cable trick to make it detect the rom). I was then able to confirm that:</p>
<ul>
<li>Whenever we use &#8220;poweroff&#8221;, or even using &#8220;echo o &gt; /proc/<a href="https://en.wikipedia.org/wiki/Magic_SysRq_key">sysrq-trigger</a>&#8220;, the flash was getting corrupted.</li>
<li>If we &#8220;reboot&#8221;, &#8220;pm-suspend&#8221;, &#8220;halt&#8221;, do a force shutdown by holding the power button, or &#8220;echo b &gt; /proc/<a href="https://en.wikipedia.org/wiki/Magic_SysRq_key">sysrq-trigger</a>&#8220;, the flash would not get corrupted and coreboot would be fine.</li>
<li>No corruption happens if I power off when coreboot is running. This only happens if the currently-running BIOS is the factory AMI BIOS.</li>
</ul>
<p>I had eventually connected my logic analyzer again, and realized that the corruption was happening <em>after</em> the Linux power off sequence, right after the screen backlight turns off and before the power LED turns off. I was happy to have written my previous script to analyze the logic trace and return a command execution log, which showed me that indeed, that&#8217;s what was running and rewriting my sectors.</p>
<p>The best explanation we have so far is that the factory BIOS has an <a href="https://en.wikipedia.org/wiki/System_Management_Mode">SMM</a> hook on the <a href="https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Global_states">S5</a>-state transition (shut down), which gets part of the old BIOS to execute, verify if the BIOS settings it has in memory are still matching the values in the ROM, if it doesn&#8217;t match, then it writes them back again. Because why not. And the reason the data is displaced by an offset of 128KB is probably because that same BIOS code will not find the NVRAM storage at its usual 0x200000 offset, so it decides to leave that area intact and instead just write it in the 0x220000 offset).</p>
<h1>Turning lead into gold</h1>
<p>In theory, the workaround is easy: <em>reboot and do not power off after installing coreboot.</em> However, as I&#8217;m writing an install script that should work for every Librem 13 users, and I want it to be as fool-proof as possible, I cannot allow that. Sure, I could have the script&#8217;s startup tell people that they need to reboot their machine at the end of the script and that it &#8220;can&#8217;t be postponed&#8221;, and then have the reboot done as part of the script itself, but what if someone prevents it from rebooting, and ends up shutting down their laptop instead? I&#8217;m sure there <em>will</em> be someone who does that, bricking up their laptop in the process, and we certainly don&#8217;t want that. So I started looking for an alternative solution to leave no margin for error.</p>
<p>There is no obvious way (that I could find) to disable that SMM hook, so I eventually decided to simply shift the coreboot image to a different region in the flash ROM, leaving that &#8220;AMI bios settings&#8221; area free. By doing so, we waste about 256KB of the 6MB BIOS region, but we are not that constrained for space and it&#8217;s a much better solution than risking a brick.</p>
<p>So <strong>now, I have a coreboot image that works in <em>both</em> situations;</strong> whether you power off or reboot your laptop, it will not get corrupted anymore, no matter what (but my script still does an automatic reboot at the end to make sure the old BIOS SMM hook doesn&#8217;t get executed, as an extra safety measure). What a great way to end the week!</p>
<p><em>— this epic tale was brought to you by Youness&#8217; scientific rigor and Jeff&#8217;s homeric storytelling</em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/preventing-interference-from-the-old-bios-while-flashing-coreboot/">Preventing AMI&#8217;s BIOS from interfering with coreboot flashing on the Librem 13</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Security Researcher Trammell Hudson and Device Maker Purism Join Forces to Set a New Standard for Security-Focused Laptops</title>
		<link>https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/</link>
		<pubDate>Wed, 12 Apr 2017 16:00:42 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=17274</guid>
		<description><![CDATA[<p>Hudson’s security firmware Heads will be built into Purism Librem hardware to further protect users from cybersecurity threats, privacy invasion, identity theft, and more. SAN FRANCISCO, CA — APRIL 12, 2017 — One of the foremost security researchers in the infosec community, Trammell Hudson, is working with secure device maker Purism to integrate his free [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/">Security Researcher Trammell Hudson and Device Maker Purism Join Forces to Set a New Standard for Security-Focused Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>Hudson’s security firmware Heads will be built into Purism Librem hardware to further protect users from cybersecurity threats, privacy invasion, identity theft, and more.</em></p>
<p>SAN FRANCISCO, CA — APRIL 12, 2017 — One of the foremost security researchers in the infosec community, Trammell Hudson, is working with secure device maker Purism to integrate his free and open-source “<a href="http://osresearch.net/" target="_blank" rel="noopener noreferrer">Heads</a>” firmware into the company’s Librem laptop line. Purism will be the first hardware company to integrate Heads into its products, and the partnership will push the industry standard with unprecedented protection for end-user devices. Testing has already begun for the integration of the two platforms.<span id="more-17274"></span></p>
<p>When integrated into Purism Librem hardware, Heads will provide cryptographic verification of the system&#8217;s firmware and operating system—using CPU features like Bootguard, flash protection and a TPM—to provide a strong hardware &#8220;root of trust&#8221; while also allowing more advanced users to modify their own systems and securely install their own custom firmware.</p>
<p>Purism coreboot-enabled hardware is already immune to widespread attacks against EFI/UEFI firmware (threats that have been documented in the “Vault 7” CIA documents leak); adding Heads enables cryptographically signing the lowest levels, allowing users to protect their devices against third-party modification. Conventional security approaches such as antivirus and malware detection programs are no longer enough to keep out attackers and criminals in today’s online world. Purism’s vision in working with Hudson to integrate Heads is to increase the safety of individuals and organizations through this technological advancement.</p>
<p>The imperative for computer makers to implement better stewardship models to increase individuals&#8217; protection is evident, as 2017 has been a hallmark year for privacy and security concerns and individuals&#8217; protection rollbacks:</p>
<ul>
<li>Last month, <a href="http://www.npr.org/2017/03/29/521954026/congress-votes-to-roll-back-fccs-internet-privacy-protections" target="_blank" rel="noopener noreferrer">Congress voted to roll back the FCC’s recent privacy rules for ISPs</a>, opening up the potential for subscriber data, including browser history, to be used for marketing and sales purposes.</li>
<li>According to digital security firm Gemalto, <a href="http://www.gemalto.com/press/Pages/Gemalto-releases-findings-of-2016-Breach-Level-Index.aspx" target="_blank" rel="noopener noreferrer">data breaches were up 86 percent in 2016</a>.</li>
<li>A recent PEW study, <a href="http://www.pewinternet.org/2017/03/22/what-the-public-knows-about-cybersecurity/" target="_blank" rel="noopener noreferrer">released last month about public knowledge of cybersecurity</a>, found that many online adults are uneducated about the ins and outs of digital rights and privacy.</li>
<li>There has been a chilling effect on users as a result of these changes: in <a href="https://www.ntia.doc.gov/blog/2016/lack-trust-internet-privacy-and-security-may-deter-economic-and-other-online-activities" target="_blank" rel="noopener noreferrer">a report released last year by the National Telecommunications and Information Administration</a>, forty-five percent of online households reported that privacy and security concerns discouraged them from online purchases and sharing their views on social media or elsewhere on the internet.</li>
</ul>
<p>This demonstrates a clear need for both increased education about these topics, and devices that put users first and empower use of security measures to give them peace of mind about engaging online.</p>
<blockquote>
<figure id="attachment_17341" style="width: 150px" class="wp-caption alignleft"><img class="wp-image-17341 size-thumbnail" src="https://puri.sm/wp-content/uploads/2017/04/trammell-hudson-150x150.jpg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2017/04/trammell-hudson-150x150.jpg 150w, https://puri.sm/wp-content/uploads/2017/04/trammell-hudson-300x300.jpg 300w, https://puri.sm/wp-content/uploads/2017/04/trammell-hudson-180x180.jpg 180w, https://puri.sm/wp-content/uploads/2017/04/trammell-hudson.jpg 500w" sizes="(max-width: 150px) 100vw, 150px" /><figcaption class="wp-caption-text">Trammell Hudson</figcaption></figure>
<p>&#8220;Purism&#8217;s Librem laptops are ideally suited for the philosophy of the Heads firmware project—Purism is manufacturing modern hardware designed to allow the users to have control of their own systems&#8221; said Trammell hudson, well-known information security researcher and founder of the Heads project. &#8220;They are the only vendor that allows users to establish their own hardware root of trust with CPU features like Bootguard, and their support for coreboot and Heads improves security by being open, auditable, flexible and measured.&#8221;</p></blockquote>
<blockquote style="clear: both;">
<figure id="attachment_8674" style="width: 150px" class="wp-caption alignright"><img class="wp-image-8674 size-thumbnail" src="https://puri.sm/wp-content/uploads/2016/10/todd-weaver-150x150.png" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2016/10/todd-weaver-150x150.png 150w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-300x300.png 300w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver.png 500w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-100x100.png 100w, https://puri.sm/wp-content/uploads/2016/10/todd-weaver-180x180.png 180w" sizes="(max-width: 150px) 100vw, 150px" /><figcaption class="wp-caption-text">Purism CEO Todd Weaver</figcaption></figure>
<p>“We are ecstatic about the partnership between Purism and Heads, especially being able to work closely with Trammell who has proven himself an unadulterated security expert. We have begun co-developing a solution to advance our goals of privacy and security for everyone. This union represents the ideal approach to protecting users by default, without sacrificing convenience or usability,” said Todd Weaver, CEO of Purism. “Including Heads is a natural fit with both the functionality and ideology of the Purism Librem laptops.”</p></blockquote>
<hr />
<h1>About the Purism Librem</h1>
<figure id="attachment_10843" style="width: 422px" class="wp-caption alignright"><img class=" wp-image-10843" src="https://puri.sm/wp-content/uploads/2016/11/librem_family.jpg" alt="" width="422" height="301" srcset="https://puri.sm/wp-content/uploads/2016/11/librem_family.jpg 640w, https://puri.sm/wp-content/uploads/2016/11/librem_family-300x214.jpg 300w" sizes="(max-width: 422px) 100vw, 422px" /><figcaption class="wp-caption-text">Security Focused Laptops for Everyone</figcaption></figure>
<p>Purism&#8217;s goal with the Librem laptop is to offer a high-end computer with a simple, out-of-the-box, secure computing environment usable by ordinary users with ease.</p>
<p>Librem laptops feature customized components designed to increase security and freedom for end-users, <a href="https://puri.sm/coreboot/">including coreboot</a>, a neutralized <a href="https://puri.sm/learn/intel-me/">Intel Management Engine</a>, an Intel CPU shipped unfused in &#8220;manufacturing mode&#8221; and without vPro, <a href="https://puri.sm/learn/avoiding-intel-amt/">Intel AMT avoidance</a>, and many other features that make this partnership possible on a technical level.</p>
<h1>About Heads</h1>
<p>Heads is a free and open-source custom firmware and OS configuration, intended to provide physical security and protection for data on laptops and servers. Heads is the result of several years of firmware vulnerability research and collaboration in the infosec community. Combining physical hardening of specific hardware platforms and flash security features, Heads allows moving the &#8220;root of trust&#8221; into the write-protected ROM and preventing further modifications to the bootup code.</p>
<p>As it controls the first instruction the CPU executes, Heads can measure every step of the boot process using a Trusted Platform Module, making it possible to attest to the user that the firmware has not been tampered with. Once the system is in a known good state, the TPM can be used as a hardware key storage to decrypt the main storage drives.</p>
<p>Additionally, Heads allows the hypervisor, kernel and initrd images to be signed by keys controlled by the user, in addition to the ability of the operating system to use a signed, immutable root filesystem so that any software exploits attempting to gain persistence will be detected.</p>
<hr />
<h1>About Trammell Hudson</h1>
<p>Trammell has been researching hardware and firmware security topics for many years, such as the &#8220;<a href="https://trmm.net/Thunderstrike" target="_blank" rel="noopener noreferrer">Thunderstrike</a>&#8221; (and &#8220;<a href="https://trmm.net/Thunderstrike_2" target="_blank" rel="noopener noreferrer">Thunderstrike 2</a>&#8220;) firmware rootkits on Apple Macbooks, as well as techniques for reducing the functionality of the Intel Management Engine. He also started the &#8220;<a href="http://en.wikipedia.org/wiki/Magic_Lantern_(firmware)" target="_blank" rel="noopener noreferrer">Magic Lantern</a>&#8221; project, an open runtime for the Canon DSLR cameras that allows users to take control of their own devices.</p>
<p><!-- About Purism: --><br />
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.</p>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-collaborates-with-heads-project-to-co-develop-security-focused-laptops/">Security Researcher Trammell Hudson and Device Maker Purism Join Forces to Set a New Standard for Security-Focused Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Warrant Canary Updated April 1st 2017</title>
		<link>https://puri.sm/posts/purism-warrant-canary-updated-april-1st-2017/</link>
		<pubDate>Sat, 01 Apr 2017 00:15:42 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=17105</guid>
		<description><![CDATA[<p>[Please note: warrant canaries being posted on April 1st are not April Fools&#8217; jokes.] Before (or on) the first day of each quarter, Purism, following the general rules of warrant canaries, will update its own Warrant Canary page if none of the listed items occurs. Warrant Canary, April 1st 2017 We have not placed any [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-april-1st-2017/">Purism Warrant Canary Updated April 1st 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>[Please note: warrant canaries being posted on April 1st are not April Fools&#8217; jokes.]</p>
<p>Before (or on) the first day of each quarter, Purism, following the general rules of <a href="https://en.wikipedia.org/wiki/Warrant_canary">warrant canaries</a>, will update its own <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> if none of the listed items occurs.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1005" src="https://puri.sm/wp-content/uploads/2015/05/warrant-canary-64x70px.png" alt="warrant-canary-64x70px" width="64" height="70" /></p>
<h1 style="text-align: center;">Warrant Canary, April 1st 2017</h1>
<ol>
<li>We have not placed any backdoors into our software or hardware, and we have not complied with any requests to do so.</li>
<li>We have not received, nor complied with any National Security Letters or FISA court orders.</li>
<li>We have not been subject to any gag order by a FISA court.</li>
</ol>
<p>The next statement will be published on the first day of each quarter (January 1st, April 1st, July 1st, October 1st). Please refer to the <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> for details and digital signatures.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-april-1st-2017/">Purism Warrant Canary Updated April 1st 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Bringing Librem 13 v2 and Librem 15 v3 prototypes back from LibrePlanet for further coreboot porting work</title>
		<link>https://puri.sm/posts/libreplanet-librem-prototypes-for-coreboot-work/</link>
		<pubDate>Tue, 28 Mar 2017 16:46:38 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Physical robustness]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=16930</guid>
		<description><![CDATA[<p>A few days ago we gave you a very quick sneak peek of the Librem 15 v3&#8217;s anodized black finish as we were doing final preparations for our LibrePlanet 2017 attendance. We were very happy to support the Free Software Foundation by sponsoring LibrePlanet! On Saturday morning, we started setting up our booth slowly, thinking [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/libreplanet-librem-prototypes-for-coreboot-work/">Bringing Librem 13 v2 and Librem 15 v3 prototypes back from LibrePlanet for further coreboot porting work</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p class="">A few days ago we gave you a very quick <a href="https://puri.sm/posts/getting-ready-for-libreplanet-and-the-librem-15-v3/">sneak peek</a> of the Librem 15 v3&#8217;s anodized black finish as we were doing final preparations for our LibrePlanet 2017 attendance. We were very happy to support the Free Software Foundation by sponsoring LibrePlanet! On Saturday morning, we started setting up our booth slowly, thinking there would not be much activity going on at the beginning of the day. We were proved wrong:</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">Hit the ground running at <a href="https://twitter.com/fsf?ref_src=twsrc%5Etfw">@fsf</a> <a href="https://twitter.com/hashtag/LibrePlanet?src=hash&amp;ref_src=twsrc%5Etfw">#LibrePlanet</a>! We weren&#39;t even fully set up and the interest is high. Thank you! <a href="https://t.co/FwCFk1apja">pic.twitter.com/FwCFk1apja</a></p>
<p>&mdash; Purism (@Puri_sm) <a href="https://twitter.com/Puri_sm/status/845630011931611139?ref_src=twsrc%5Etfw">March 25, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>There was a crowd around our booth at pretty much all times (except lunchtime) throughout the day Saturday, during which it was revealed that Todd is possibly a cyborg, as he stood there answering questions for eight hours straight, without needing to eat, drink, or sit:</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.42.37.jpg"><img class="alignnone size-large wp-image-16943" src="https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.42.37-1024x576.jpg" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.42.37-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.42.37-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.42.37-768x432.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>Great discussions were had. James was also present, attending talks and officially winning our <em>photobomber of the year</em> award, as you can see him in the lower-right corner of this photo:</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.40.19-pixed.jpg"><img class="alignnone wp-image-16958 size-large" src="https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.40.19-pixed-1024x682.jpg" alt="" width="960" height="639" srcset="https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.40.19-pixed-1024x682.jpg 1024w, https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.40.19-pixed-300x200.jpg 300w, https://puri.sm/wp-content/uploads/2017/03/2017-03-25-11.40.19-pixed-768x512.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>New passions bloomed among attendees:</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">Todd is the one who started my new love affair, I will make sure to drop by again. He’s really great at sharing info I want to know</p>
<p>&mdash; Guido Stein (@GuidoS) <a href="https://twitter.com/GuidoS/status/845665871645327360?ref_src=twsrc%5Etfw">March 25, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>People who saw and touched the Librems found them to be quite impressive. For instance:</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">Met the guys from <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> today at <a href="https://twitter.com/hashtag/libreplanet?src=hash&amp;ref_src=twsrc%5Etfw">#libreplanet</a>. I was impressed by the build on the <a href="https://twitter.com/hashtag/librem13?src=hash&amp;ref_src=twsrc%5Etfw">#librem13</a>.</p>
<p>&mdash; John (@BostonEnginerd) <a href="https://twitter.com/BostonEnginerd/status/845813498089291776?ref_src=twsrc%5Etfw">March 26, 2017</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>Some of the frequent comments we heard were &#8220;Wow. They&#8217;re even better than on the photos!&#8221;, &#8220;When can I buy one?&#8221; and &#8220;I <em>was</em> a Purism skeptic, but I see you are delivering on your promises and making the impossible possible.&#8221;</p>
<p>Really encouraging!</p>
<h1>Upcoming coreboot work</h1>
<p>While we were hard at work answering thousands of questions at LibrePlanet, our coreboot developer Youness was on vacation while waiting for some more testing hardware. This week he will be resuming his work on preparing/packaging coreboot for release, and with the two new prototype units I brought back from Boston he will also be able to begin the coreboot port for these devices. We hope to do that in time to factory-flash them for the next batch of deliveries in May-June, but we&#8217;ll see how the development work pans out. If it&#8217;s not ready within that short timespan, we will provide coreboot as an update that you can flash yourself.</p>
<p>Youness has also made some additional progress on the Intel ME, thanks to information and data that Igor Skochinsky was able to share with us. Stay tuned for Youness&#8217; next report!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/libreplanet-librem-prototypes-for-coreboot-work/">Bringing Librem 13 v2 and Librem 15 v3 prototypes back from LibrePlanet for further coreboot porting work</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Yet Another EFI/UEFI Exploit, this one Utilizing NVRAM and Persistent Storage</title>
		<link>https://puri.sm/posts/efi-uefi-vault7-exploit-utilizing-nvram-and-persistent-storage/</link>
		<pubDate>Mon, 27 Mar 2017 14:00:43 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=15802</guid>
		<description><![CDATA[<p>Continuing on our previous post on this topic, another EFI/UEFI BIOS exploit theoretically known&#8211;and even proven to work by Trammel hudson some years ago&#8211;that resurfaced through the Vault 7 documents, is the EFI/UEFI exploit that can write to NVRAM or persistent storage. This means that this exploit cannot be detected from hard drive inspection, and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/efi-uefi-vault7-exploit-utilizing-nvram-and-persistent-storage/">Yet Another EFI/UEFI Exploit, this one Utilizing NVRAM and Persistent Storage</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Continuing on <a href="https://puri.sm/posts/efi-uefi-proven-to-be-exploited-in-vault7/">our previous post</a> on this topic, another EFI/UEFI BIOS exploit theoretically known&#8211;and even <a href="https://trmm.net/Thunderstrike" target="_blank" rel="noopener noreferrer">proven to work</a> by Trammel hudson some years ago&#8211;that resurfaced through the Vault 7 documents, is the EFI/UEFI exploit that can write to NVRAM or persistent storage. This means that this exploit <strong>cannot be detected from hard drive inspection,</strong> and <strong>can survive through a complete OS reinstall if you&#8217;re using EFI/UEFI</strong> (which is not a problem for Purism users <a href="/coreboot/">running coreboot</a>).</p>
<p>The CIA documents describe it best:</p>
<blockquote><p>&#8220;These variables present interesting opportunities for our tools since they will survive a OS reinstall and are invisible to a forensic image of the hard drive. What&#8217;s also interesting is that there is no way to enumerate NVRAM variables from the OS&#8230; you have to know the exact GUID and name of the variable to even determine that it exists.&#8221; — the CIA, as leaked through the <a href="https://wikileaks.org/ciav7p1/cms/page_31227915.html">Vault 7 Persistent Storage Document</a></p></blockquote>
<p>This line also summarizes intent for the exploit:</p>
<blockquote><p>&#8220;This might be a good place to put either implants or encryption keys. If every implant deployment used a different GUID/name pair, it would make the variables a bit more difficult to discover.&#8221; — the CIA, from the <a href="https://wikileaks.org/ciav7p1/cms/page_31227915.html">Vault 7 Persistent Storage Document</a></p></blockquote>
<p>This continues to reinforce that our philosophy and beliefs are the only way to have long-term products that respects users&#8217; digital rights.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/efi-uefi-vault7-exploit-utilizing-nvram-and-persistent-storage/">Yet Another EFI/UEFI Exploit, this one Utilizing NVRAM and Persistent Storage</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Getting ready for LibrePlanet and the new Librem 15 v3</title>
		<link>https://puri.sm/posts/getting-ready-for-libreplanet-and-the-librem-15-v3/</link>
		<pubDate>Fri, 24 Mar 2017 20:53:03 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=16748</guid>
		<description><![CDATA[<p>This year, we&#8217;re attending and sponsoring LibrePlanet, which is being held this week-end in Boston. Todd and I arrived one day early, as we wanted to seize the opportunity to spend a full day coworking to align our plans (regarding communications, product design and supply chain management), confirm product specifications, and test some new prototypes [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/getting-ready-for-libreplanet-and-the-librem-15-v3/">Getting ready for LibrePlanet and the new Librem 15 v3</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This year, we&#8217;re <a href="https://puri.sm/posts/meet-us-at-libreplanet-2017/">attending and sponsoring LibrePlanet</a>, which is being held this week-end in Boston. Todd and I arrived one day early, as we wanted to seize the opportunity to spend a full day coworking to align our plans (regarding communications, product design and supply chain management), confirm product specifications, and test some new prototypes we have on hand. Todd recently (yesterday!) received sample parts and prototype units from suppliers, so we spent some time checking the aesthetic and functional aspect of the next revision of the Librem 13 (v2) and Librem 15 (v3), including the chips, killswitches, and removable components.</p>
<p>I also brought with me some older units I had gathered from others, including the Librem 11 prototype (which we bricked during testing) and the previous revision of the Librem 15.</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.16.52-annotated.jpg"><img class="alignnone size-large wp-image-16750" src="https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.16.52-annotated-1024x732.jpg" alt="" width="960" height="686" srcset="https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.16.52-annotated-1024x732.jpg 1024w, https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.16.52-annotated-300x214.jpg 300w, https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.16.52-annotated-768x549.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>Oh, &#8220;But what is that mysterious black plate in the center of the table&#8221;, you ask? Well, that&#8217;s one of the sample parts our suppliers sent us: the upper <strong>aluminium plate of the upcoming Librem 15 v3, which will be anodized black</strong> like our lovely Librem 13.</p>
<p>Here you can see Todd&#8217;s Librem 13 on the left (which looks brand new even after 2 years of intensive use) and the Librem 15 v3&#8217;s anodized aluminium extrusion sample on the right (resting on top of the old Librem 15 production model for comparison).</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop.jpg"><img class="alignnone wp-image-16751 size-large" src="https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop-1024x708.jpg" alt="" width="960" height="664" srcset="https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop-1024x708.jpg 1024w, https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop-300x207.jpg 300w, https://puri.sm/wp-content/uploads/2017/03/2017-03-24-10.22.15-small-crop-768x531.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>We chose a matte finish to avoid fingerprints from showing up (disclaimer: if you&#8217;re worried about someone <em>lifting</em> your invisible fingerprints from your laptop, you probably want to type with gloves like <a href="https://www.colourbox.com/preview/1546229-hands-of-hacker-on-a-laptop.jpg" target="_blank">this guy</a>&#8211;except you&#8217;ll be way cooler, because you&#8217;ll be using a Librem instead of some old plastic junk 😉</p>
<p>We&#8217;re still finalizing details when it comes to the final specs, but from the looks of it, those with outstanding orders may benefit from a free <strong>upgrade to a newer generation of CPU and graphic chipsets,</strong> in addition to the black aluminium chassis.</p>
<p><strong>Today we have placed a batch order through our supply chain for the Librem 15 v3,</strong> so we hope to provide you with an update on specifications and estimates soon. In the meantime, if any of you are attending LibrePlanet, we look forward to meeting you this week-end!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/getting-ready-for-libreplanet-and-the-librem-15-v3/">Getting ready for LibrePlanet and the new Librem 15 v3</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Proving the Known, EFI/UEFI Exploited for BIOS Level Attacks</title>
		<link>https://puri.sm/posts/efi-uefi-proven-to-be-exploited-in-vault7/</link>
		<pubDate>Fri, 24 Mar 2017 18:55:40 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=15798</guid>
		<description><![CDATA[<p>We&#8217;re continuing with a second report (many more coming!) on the &#8220;Vault 7&#8221; Documents we started digesting recently. There is an extensive section dedicated to EFI/UEFI exploitations. While this threat has been known from a theoretical standpoint from the moment the non-free BIOS replacement&#8211;EFI/UEFI&#8211;came into existence, the Vault 7 documents published recently now confirm that [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/efi-uefi-proven-to-be-exploited-in-vault7/">Proving the Known, EFI/UEFI Exploited for BIOS Level Attacks</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We&#8217;re continuing with a second report (many more coming!) on the &#8220;Vault 7&#8221; Documents we <a href="https://puri.sm/posts/what-the-cia-vault-7-documents-mean/">started</a> digesting recently. There is an extensive section dedicated to <a href="https://wikileaks.org/ciav7p1/cms/page_26968080.html">EFI/UEFI exploitations</a>. While this threat has been known from a theoretical standpoint from the moment the non-free BIOS replacement&#8211;EFI/UEFI&#8211;came into existence, the Vault 7 documents published recently now confirm that these threats are real and these weaknesses are actively being exploited.</p>
<p>One interesting read we&#8217;re focusing on today is the <a href="https://wikileaks.org/ciav7p1/cms/page_36896783.html">EFI/UEFI &#8220;ExitBootServices Hooking&#8221; exploit</a> and sample copy-and-paste code to inject a hook into the last execute state of the EFI/UEFI process (the &#8220;ExitBootServices&#8221;).</p>
<blockquote><p>Copy-and-paste code was included in the leaks which allow for the exploitation of UEFI-based boot systems by altering the operating system&#8217;s kernel which is loaded into memory before exiting the UEFI boot sequence. The copy-and-paste code allows for an attacker to insert a custom hook which can be used to arbitrarily alter the operating system&#8217;s kernel in memory immediately before execution control is handed to the kernel. — <a href="https://en.wikipedia.org/wiki/Vault_7#UEFI">Wikipedia&#8217;s summary</a>.</p></blockquote>
<p>It is trivial to utilize this exploit:</p>
<blockquote><p>Because the ExitBootServices service can be found by getting its pointer from the global EFI_BOOT_SERVICES table, hooking the ExitBootServices call is trivial. [&#8230;] When you&#8217;re running in UEFI, that EFI_BOOT_SERVICES table isn&#8217;t protected by anything, so you can just write directly to it. — <a href="https://wikileaks.org/ciav7p1/cms/page_36896783.html">Vault 7 ExitBootServices Hooking</a></p></blockquote>
<p>The result is that the entire system is compromised. As the page highlights, &#8220;At this point, you can do whatever you want.&#8221;</p>
<p>This type of exploit once-again highlights that security is <a href="https://puri.sm/posts/what-the-cia-vault-7-documents-mean/">a game of depth</a>. This exploit is one level below the kernel, which means it has complete control of every level above it, such as the kernel, the entire operating system, any and all applications, network traffic, web application usage, and all user interaction.</p>
<p>The good news is, Purism <a href="https://puri.sm/coreboot/timeline/">recently</a> completed the port of coreboot to the Librem 13 v1 (with more ports to come for the rest of our devices), providing a free/libre and open source replacement for EFI/UEFI which avoids all of the exploits mentioned within the documents.</p>
<p>The only long-term approach to protect oneself is to have complete control of the device. Control is the key word, and there is no other way to have complete control than to have as much of the software released under free software licenses where the source code is available to confirm it operates in your best interest and not that of criminals, spies, bad hackers, nations, or thieves.</p>
<p>Confirming that EFI/UEFI has a known and trivial exploit that is <a href="https://wikileaks.org/ciav7p1/cms/files/UEFI%202_5.pdf">built into the standard</a> also confirms that there is no depth too deep to exploit, and the only defense against unwanted stripping of a users&#8217; digital rights is to use hardware and software that you control. Purism does just that by releasing all software under a free software license where the source code is available to be audited, reviewed, and scrutinized making a user control their device not the device controlling the user.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/efi-uefi-proven-to-be-exploited-in-vault7/">Proving the Known, EFI/UEFI Exploited for BIOS Level Attacks</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>What the US Senate Vote Barring the FCC from Protecting the Privacy of Customers Means</title>
		<link>https://puri.sm/posts/what-the-us-senate-vote-barring-the-fcc-from-protecting-the-privacy-of-customers-means/</link>
		<pubDate>Fri, 24 Mar 2017 16:33:00 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=16699</guid>
		<description><![CDATA[<p>On March 23rd, 2017 the US Congress disapproved the rule submitted by the Federal Communications Commission relating to &#8220;Protecting the Privacy of Customers of Broadband and Other Telecommunications Services&#8221;, and so that rule shall have no force or effect. This means the FCC does not have the legal authority to protect the privacy of customers [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/what-the-us-senate-vote-barring-the-fcc-from-protecting-the-privacy-of-customers-means/">What the US Senate Vote Barring the FCC from Protecting the Privacy of Customers Means</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>On March 23rd, 2017 the US Congress <a href="https://www.congress.gov/bill/115th-congress/senate-joint-resolution/34/text" target="_blank">disapproved</a> the rule submitted by the Federal Communications Commission relating to &#8220;Protecting the Privacy of Customers of Broadband and Other Telecommunications Services&#8221;, and so that rule shall have no force or effect.</p>
<p>This means the FCC does not have the legal authority to protect the privacy of customers from ISPs gobbling up all the data they want to. The ISPs own the connection from your router to the Internet at large. ISPs have access to everything that passes over the connection including any non-encrypted content such as, every webpage you visit, every email you send, every photo you share, every document you deliver, and any social media post you make. Utilizing SSL helps guard against this threat of ISPs selling your head-end usage data, which is why Purism integrates <a href="https://www.eff.org/">EFF</a>&#8216;s <a href="https://www.eff.org/https-everywhere">HTTPS Everywhere</a> in <a href="https://pureos.net/">PureOS</a> by default. In the future Purism will also be including SSL tunneling by default to help users stop ISPs from the privacy invading fire-hose of everything you do online.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/what-the-us-senate-vote-barring-the-fcc-from-protecting-the-privacy-of-customers-means/">What the US Senate Vote Barring the FCC from Protecting the Privacy of Customers Means</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Releasing the beta of PureOS 3</title>
		<link>https://puri.sm/posts/pureos3-beta/</link>
		<pubDate>Thu, 23 Mar 2017 15:00:27 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Customer Feedback]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=16568</guid>
		<description><![CDATA[<p>After our alpha release in November, we are today releasing the beta for PureOS 3.0, which we intend to release as a final release in time for our upcoming new laptop batch shipment (more news on that soon). As PureOS uses a rolling release model, software all across the stack continued to receive updates since [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureos3-beta/">Releasing the beta of PureOS 3</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>After our alpha release in November, we are today <strong>releasing the beta for <a href="https://pureos.net/">PureOS</a> 3.0,</strong> which we intend to release as a final release in time for our <a href="https://puri.sm/posts/new-librem-13-to-be-manufactured-and-shipped-through-spring-2017/">upcoming new laptop batch shipment</a> (more news on that soon).</p>
<p>As PureOS uses a <a href="https://en.wikipedia.org/wiki/Rolling_release">rolling release</a> model, software all across the stack continued to receive updates since our first alpha some months ago, even though the core of our work has been to improve and deploy <strong>new infrastructure</strong> to support efficient development of this operating system and to make the PureOS experience more pleasant for users, too. The PureOS infrastructure is now better at exposing migration/update issues, which means that we iron out broken or missing package dependencies more quickly (with the goal of preventing them from ever being encountered by users, although such occurrences are already rare). Building this infrastructure for PureOS is some very ambitious—and often invisible—work that we are accomplishing as the foundation for all PureOS development.</p>
<p>We are also in the final stages of preparing proper developer documentation, closely modeled on Debian&#8217;s contributors documentation and procedures, but pointing to the right bits and pieces when it comes to PureOS.</p>
<p><strong>FSF endorsement is work in progress</strong>: we are working with the FSF and addressing any concerns or requests they may have. As per the FSF&#8217;s requests:</p>
<ul>
<li>The <a href="https://puri.sm/posts/a-new-pureos-website/">new</a> PureOS website is now fully separate and works with LibreJS.</li>
<li>Iceweasel/Firefox was removed from the archive (its presence there was actually due to a repository synchronization bug) and we modified the add-ons system to avoid the possibility of installing non-free add-ons by mistake. That said, this is one of the reasons why PureBrowser exists, and PureBrowser will continue to be the default. The forced removal of Firefox/Iceweasel caused some trouble with the PureOS package repositories archive but this will be fixed before the final release.</li>
<li>TorBrowser is now torbrowser-launcher, a package that downloads and installs the official Tor browser with updates being applied as soon as the Tor project publishes them.</li>
</ul>
<p>On the security front:</p>
<ul>
<li>A <a href="https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)">Wayland</a>-based GNOME 3 experience remains what we ship by default.</li>
<li>We have started preparing our Linux kernel to be based on the <a href="https://en.wikipedia.org/wiki/Grsecurity">grsecurity</a> kernel. This is available as a package in the beta&#8217;s repositories but is not enabled by default, as we consider it requires more testing (you can help!) so we can use it as the default Linux kernel in the future (for PureOS 3.0&#8217;s final release, hopefully!)… so feel free to install and try it out (don&#8217;t forget to install paxctld as well)! This will be a huge step forward in terms of security. While most regular GNU/Linux distributions are more secure and privacy-respecting than proprietary OSes, having the grsecurity patchset in PureOS&#8217; Linux kernel by default will bring PureOS far above the norm in terms of desktop GNU/Linux security practices.</li>
<li>We look forward to integrating <a href="http://flatpak.org/"> flatpak</a> in the future to benefit from its sandboxing capabilities</li>
</ul>
<p>As you can see, we&#8217;re making some nice progress and PureOS has great plans ahead to achieve a great user experience that balances security and usability. This is quite a bit better than running OSes that <a href="https://puri.sm/learn/eliminating-corporate-control-and-data-capitalism/">work against you</a> or that <a href="https://puri.sm/posts/what-the-cia-vault-7-documents-mean/">strip you of control over the applications layer</a>!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureos3-beta/">Releasing the beta of PureOS 3</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>RAW footage with Magic Lantern &#038; MLRawViewer</title>
		<link>https://puri.sm/posts/raw-footage-with-magic-lantern-mlrawviewer/</link>
		<pubDate>Wed, 22 Mar 2017 21:29:22 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=16620</guid>
		<description><![CDATA[<p>A picture of my post production studio. Software freedom is amazing! Used with the right hardware, it becomes limitless. Being part of the Purism team as well as the Ethic Cinema project, makes me do a lot of research in term of freedom in visual creations. Everyday, I realize a bit more, how powerful my [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/raw-footage-with-magic-lantern-mlrawviewer/">RAW footage with Magic Lantern &#038; MLRawViewer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><strong><em><a href="https://puri.sm/wp-content/uploads/2017/03/librem_studio1.jpg"><img class="wp-image-17003 size-large aligncenter" src="https://puri.sm/wp-content/uploads/2017/03/librem_studio1-1024x470.jpg" alt="" width="960" height="441" srcset="https://puri.sm/wp-content/uploads/2017/03/librem_studio1.jpg 1024w, https://puri.sm/wp-content/uploads/2017/03/librem_studio1-300x138.jpg 300w, https://puri.sm/wp-content/uploads/2017/03/librem_studio1-768x353.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a> </em></strong></p>
<p style="text-align: center;"><em>A picture of my post production studio.</em><strong><em><br />
</em></strong></p>
<p>Software freedom is amazing! Used with the right hardware, it becomes limitless. Being part of the Purism team as well as the Ethic Cinema project, makes me do a lot of research in term of freedom in visual creations.</p>
<p>Everyday, I realize a bit more, how powerful my free software based studio is when it comes to handling a professional film making workflow. And of course, as a film maker coming from the old school of proprietary technologies, I am so glad to know that now, I am in control.</p>
<h2>Getting the best out of your video footage</h2>
<p>On a <a href="https://puri.sm/posts/digital-media-transcoding-part-3-free-formats-in-post-production/">previews post</a>, talking about A/V formats, I said that I didn&#8217;t know any camera that lets you be in full control of your footage. Especially if you are on a budget. Most of the time, you will have to deal with footage in a compressed, proprietary format. This can be a problem in a post production workflow because if you re-encode your footage based on an already compressed one, it will start to degrade. If you chose to keep your original footage, you will have to deal with the limitations that come from the proprietary nature of the formats.</p>
<p>This may be true but there is a way to bypass the problem.</p>
<h2>RAW files</h2>
<p><a href="https://puri.sm/wp-content/uploads/2017/03/Magic_Lantern_logo.png"><img class="size-medium wp-image-16626 alignright" src="https://puri.sm/wp-content/uploads/2017/03/Magic_Lantern_logo-300x263.png" alt="" width="300" height="263" srcset="https://puri.sm/wp-content/uploads/2017/03/Magic_Lantern_logo-300x263.png 300w, https://puri.sm/wp-content/uploads/2017/03/Magic_Lantern_logo-768x674.png 768w, https://puri.sm/wp-content/uploads/2017/03/Magic_Lantern_logo-1024x899.png 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a>Thankfully the amazing people from <a href="http://magiclantern.fm/" target="_blank" rel="noopener noreferrer">Magic Lantern</a> came to the rescue!</p>
<p>Magic Lantern is a video camera firmware that is released under the GPL license and runs on most Canon DSLRs (Are there some equivalents for other cameras ?). This firmware extends the functionality of the camera and most of all, lets you record your footage as RAW files.</p>
<p>RAW files are brute data coming straight from the sensor. It is like a film negative that would have had no treatment yet.</p>
<p>Based on this RAW file, we are free to export our original footage to the format that we wish. This step is what would happen in the camera in order to generate the footage. The camera would apply your color presets to the RAW data coming from the sensor end encode it to a usable video format. Usually an H.264 format within a MOV container.</p>
<p>With Magic Lantern we have access to the RAW file, so we are in control.</p>
<h2>Handling RAW files</h2>
<p><a href="https://puri.sm/wp-content/uploads/2017/03/mlrawviewer.png"><img class="alignleft wp-image-16627 size-medium" src="https://puri.sm/wp-content/uploads/2017/03/mlrawviewer-300x188.png" alt="" width="300" height="188" srcset="https://puri.sm/wp-content/uploads/2017/03/mlrawviewer-300x188.png 300w, https://puri.sm/wp-content/uploads/2017/03/mlrawviewer-768x481.png 768w, https://puri.sm/wp-content/uploads/2017/03/mlrawviewer-1024x641.png 1024w, https://puri.sm/wp-content/uploads/2017/03/mlrawviewer.png 1080w" sizes="(max-width: 300px) 100vw, 300px" /></a>Once the RAW file is stored in the computer, it is time to generate our original footage.</p>
<p><a href="https://bitbucket.org/baldand/mlrawviewer/" target="_blank" rel="noopener noreferrer">MLRawViewer</a> is an amazing free software, made in python and based on <a href="https://ffmpeg.org/" target="_blank" rel="noopener noreferrer">FFmpeg</a>. It lets you preview, color grade and encode your RAW footage.</p>
<p>In its latests version (1.4), MLRawViewer only encodes as Apple ProRes (.mov) or Adobe Digital Negative (.dng) formats. Unfortunately, both formats are proprietary, so as part of the Ethic Cinema project, we have decided to contribute to MLRawViewer. We have added the free lossless Huffyuv (.mkv) format to the list as well as the ability to rotate the encoded video. We sometimes film with the camera upside-down when doing camera movements close to the ground with our steadycam, so rotating our footage during this process is very useful.</p>
<p>While our changes are not merged into the original project, you can test it from <a href="https://github.com/ethiccinema/mlrawviewer" target="_blank" rel="noopener noreferrer">our repository</a>.</p>
<p>Having the footage being encoded from RAW to a lossless format makes it keep its full quality (which wouldn&#8217;t be the case when using the built in H.264 compressed format). Gradients and details are perfectly preserved. It also gives us the ability to use the highest dynamic range available from the camera, or to use a custom LUT (picture style) that would suit our needs.</p>
<p>Please, note that this step is not to be confused with the actual color grading process that takes place at the end of the post production, when the editing is complete. The goal here, is to prepare the footage to allow as much flexibility as possible during the color grading phase. Usually, we chose a very flat picture style at this stage, in order to make sure that we keep as much details as possible from dark to bright.</p>
<p>All in all, the footage we get through this process is at the best possible quality and very close to what one could get from a very high end cinema camera.</p>
<p>This was the missing bit of my workflow. I have now achieved full control and freedom over the whole post production workflow.</p>
<h2>Installing MLRawViewer</h2>
<p><em>Note, I have updated this part on 07/04/2017 after noticing some problems with different configurations running python3 along with python2</em></p>
<p>I plan to make an Appimage build of MLRawViewer, but it is not done yet, so you will have to compile it yourself.</p>
<p>Don&#8217;t worry, it is not very difficult and here are the instructions for PureOS and other Debian based systems (It should be very similar on others systems) :</p>
<p>First of all, you need to install git and python, along with pip. (I installed pyaudio with apt because for some reason it failed installing with pip).</p>
<p><strong>Note</strong> that you need to install version<strong> 2.7</strong> of python as version 3 is not supported by MLRawViewer.</p>
<div class="code">sudo apt install git python2.7 python2.7-dev python-pip python-pyaudio libglfw3-wayland<br />
# Use &#8216;libglfw3&#8217; if you are not on wayland</div>
<p>Then, you need to install the required dependencies making sure that you use the right versions (which may not be the latests)</p>
<div class="code">pip2 install scandir<br />
pip2 install -I PyOpenGL==3.0.2<br />
pip2 install numpy==1.9.1<br />
pip2 install glfw<br />
pip2 install Pillow==2.1.0</div>
<p>Then, you need to get the source code of MLrawViewer from the Ethic Cinema repository for the updates</p>
<div class="code">git clone https://github.com/ethiccinema/mlrawviewer.git</div>
<p>or from the original repository</p>
<div class="code">git clone https://bitbucket.org/baldand/mlrawviewer.git</div>
<p>It is now time to build the application.</p>
<div class="code">cd mlrawviewer<br />
python2 setup.py build<br />
cp build/lib.linux-x86_64-2.7/bitunpack.so bitunpack.so</div>
<p>And run it</p>
<div class="code">./mlrawviewer.py</div>
<p>Don&#8217;t hesitate to ask any question in the forums if you have any trouble  or if you wish me to post any tutorial related to multimedia manipulation with free software. You can use the PureOS area in the forums. I am very happy to help!</p>
<p>&nbsp;</p>
<h2>What&#8217;s next?</h2>
<p>Well, how cool would it be to shoot with an <a href="https://www.apertus.org/" target="_blank" rel="noopener noreferrer">Axiom</a> camera ? &#8230; along with the new <a href="https://puri.sm/products/librem-15/">Librem 15 v3</a> !</p>
<p>&nbsp;</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/03/axiom-beta-concept-enlosure-03.png"><img class="alignnone wp-image-16625 size-large" src="https://puri.sm/wp-content/uploads/2017/03/axiom-beta-concept-enlosure-03-1024x683.png" alt="" width="960" height="640" srcset="https://puri.sm/wp-content/uploads/2017/03/axiom-beta-concept-enlosure-03-1024x683.png 1024w, https://puri.sm/wp-content/uploads/2017/03/axiom-beta-concept-enlosure-03-300x200.png 300w, https://puri.sm/wp-content/uploads/2017/03/axiom-beta-concept-enlosure-03-768x512.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/raw-footage-with-magic-lantern-mlrawviewer/">RAW footage with Magic Lantern &#038; MLRawViewer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>What the CIA Vault 7 Documents Mean</title>
		<link>https://puri.sm/posts/what-the-cia-vault-7-documents-mean/</link>
		<pubDate>Wed, 15 Mar 2017 13:00:50 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=15653</guid>
		<description><![CDATA[<p>WikiLeaks has recently released a treasure trove of documents, codenamed Vault 7, that will take weeks to digest. And we will digest it all. But before we go document by document, we wanted to address top-level concerns users have, and how our philosophy and business model are the only ones that can withstand the test [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/what-the-cia-vault-7-documents-mean/">What the CIA Vault 7 Documents Mean</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>WikiLeaks has recently released a treasure trove of documents, codenamed <a href="https://en.wikipedia.org/wiki/Vault_7" target="_blank">Vault 7</a>, that will take weeks to digest. And we <em>will</em> digest it all. But before we go document by document, we wanted to address top-level concerns users have, and how <a href="https://puri.sm/about/social-purpose/" target="_blank">our philosophy</a> and <a href="https://puri.sm/about/business-model-and-vision/" target="_blank">business model</a> are the only ones that can withstand the test of time against this type of user device control.<span id="more-15653"></span></p>
<p>The Vault 7 Documents highlight an important fact that is often overlooked: <strong>security is a game of <em>depth.</em></strong> &#8220;How deep do you go&#8221; is how we commonly compare hardware, products, and software. As an example, Whatsapp, Signal, Telegram, Weibo, Confide and Cloakman—each specifically mentioned in the Vault 7 documents—are just &#8220;applications&#8221; that run on an Operating System. While we may take issue with the fact that most of these encrypted communication applications mentioned use non-free software (so we have no way of knowing if they, themselves, are compromised or even operate the users&#8217; best interest), the important point to drive home is that <strong>if the Operating System is controlled by the CIA, other nation states, or anybody with ill intentions who grabbed the leaked code, then the applications themselves are by definition fully compromised.</strong> Let&#8217;s be clear, the CIA is a spying agency, it&#8217;s what they do, likewise Russia, China, and other sophisticated nations also conduct espionage, it&#8217;s what they do. We as people from around the world should not offer our digital lives wholesale so easily to anybody foreign or domestic, this is one of the many reasons Purism exists, to offer products, tools, software, and services that protect you and your digital rights by default.</p>
<figure id="attachment_15666" style="width: 520px" class="wp-caption alignright"><img class="size-full wp-image-15666" src="https://puri.sm/wp-content/uploads/2017/03/down-the-rabbit-hole-photo-by-Samantha-Marx-crop.jpg" alt="" width="520" height="558" srcset="https://puri.sm/wp-content/uploads/2017/03/down-the-rabbit-hole-photo-by-Samantha-Marx-crop.jpg 520w, https://puri.sm/wp-content/uploads/2017/03/down-the-rabbit-hole-photo-by-Samantha-Marx-crop-280x300.jpg 280w" sizes="(max-width: 520px) 100vw, 520px" /><figcaption class="wp-caption-text">How deep does the rabbit hole go?<br />(derived from Down the Rabbit Hole by Samantha Marx, CC 2.0)</figcaption></figure>
<p>On any platform, the levels of security go in reverse order, like this:</p>
<ol>
<li>web access</li>
<li>networking</li>
<li>applications</li>
<li>operating system</li>
<li>kernel</li>
<li>bootloader</li>
<li>BIOS/UEFI</li>
<li>firmware</li>
<li>chips</li>
<li>hardware</li>
<li>schematics</li>
</ol>
<p>From Snowden&#8217;s revelations, through the newly released Vault 7 documents, we have learned that the above list is under full-scale attack, not just by the CIA or NSA, but also from non-US nations states, bad hackers, and criminals. At the &#8220;web access&#8221; level, having third-party trackers blocked in your web browser, while helpful, does not come remotely <em>close</em> to making sure your data is safe, secure and under your control. Likewise, if we go down one level to &#8220;networking&#8221;: if your wireless card is compromised or the source code is not available, everything sent and received can be under the control of somebody <em>other than you.</em></p>
<p>The next level is the <em>applications,</em> where as mentioned above all the &#8220;encrypted communication applications&#8221; live. If you were to ask us, &#8220;How would I gain access to all encrypted communication across all applications?&#8221; We would answer it simply by saying &#8220;Go any level lower, like the OS, and take over that—you will then own everything in any of the levels above.&#8221; Which is why we, at Purism, work so hard to have every level controlled by the user, not by any other person or entity. The approach utilized by the CIA, according to the documents, was a simple &#8220;go a level deeper&#8221; to own all levels shallower.</p>
<p>At Purism, we release the source code, and also do not allow non-free or binary applications anywhere within the web access, networking, applications, <a href="https://pureos.net/" target="_blank">operating system</a>, kernel, nor bootloader. <a href="https://puri.sm/learn/freedom-roadmap/" target="_blank">We go deeper</a> than any hardware manufacturer by at least 6 layers. We continue to dig deeper and deeper, and will not stop until all 11 levels mentioned above are completely freed.</p>
<ul>
<li>At the BIOS/UEFI level we will be releasing (and will be preloading) <a href="https://puri.sm/coreboot/">coreboot</a> and a neutralized <a href="https://puri.sm/learn/intel-me/">Intel ME</a> for all our products, which ensures most of the BIOS/UEFI level operates in a user&#8217;s best interest. There are a few more binaries we are working to free within coreboot, and are making great progress there.</li>
<li>At the firmware level, we are completely freed, except the remaining firmware binaries mentioned at the BIOS/UEFI level.</li>
<li>At the hardware level, we are completely freed, and we offer an additional solution to threats that were brought up in the Vault 7 documents, primarily remote access of microphone and camera feeds. On Purism products a user can <a href="https://puri.sm/learn/hardware-kill-switches/" target="_blank">physically sever</a> the connection for webcam and microphone, avoiding the &#8220;Weeping Angel&#8221; threat of &#8220;Fake-off&#8221; where the device appears off, but is actually still listening or watching.</li>
<li>As we grow, we can free deeper and deeper into the levels, getting to the point where even our schematics can be released and verified.</li>
</ul>
<p>Purism is the only manufacturer who you know is advancing toward a goal where users&#8217; control their own devices. All <a href="https://puri.sm/about/competitors/" target="_blank">other manufacturers are undermining users&#8217; digital rights</a>, by not releasing their source code, or by having <a href="https://puri.sm/learn/eliminating-corporate-control-and-data-capitalism/" target="_blank">a business model where corporate surveillance is how they profit</a>. Purism&#8217;s long-term goal is to have user-signed and user-encrypted devices—once we have that, a user can finally rest easier that their device is owned and controlled by them. Purism is well on our way, and are happy to be changing the world for the better.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/what-the-cia-vault-7-documents-mean/">What the CIA Vault 7 Documents Mean</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Todd&#8217;s Purism Librem 13 experience with coreboot and a neutralized ME</title>
		<link>https://puri.sm/posts/todds-librem-13-with-coreboot-and-a-neutralized-me/</link>
		<pubDate>Mon, 13 Mar 2017 14:00:56 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Benchmarks and testing]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Testimonials and user stories]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=15072</guid>
		<description><![CDATA[<p>A few days ago, I got to experience the efforts of a culmination of free software supporters; from Purism team members, ME hackers, coreboot developers, and a lot of other individuals. I am very pleased to run a Librem 13 with coreboot, running a neutralized Intel Management Engine, and no microcode update. I used that setup [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/todds-librem-13-with-coreboot-and-a-neutralized-me/">Todd&#8217;s Purism Librem 13 experience with coreboot and a neutralized ME</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><iframe width="640" height="360" src="https://www.youtube.com/embed/12dNAggyyow?feature=oembed" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></p>
<p>A few days ago, I got to experience the efforts of a culmination of free software supporters; from Purism team members, ME hackers, coreboot developers, and a lot of other individuals. I am very pleased to run a Librem 13 with coreboot, running a neutralized <a href="https://puri.sm/learn/intel-me/">Intel Management Engine</a>, and no microcode update. I used that setup to type this blog post!<span id="more-15072"></span></p>
<p><img class="aligncenter size-full wp-image-15076" src="https://puri.sm/wp-content/uploads/2017/02/purism-librem-13-v1-coreboot-status-20170220.png" alt="" width="831" height="551" srcset="https://puri.sm/wp-content/uploads/2017/02/purism-librem-13-v1-coreboot-status-20170220.png 831w, https://puri.sm/wp-content/uploads/2017/02/purism-librem-13-v1-coreboot-status-20170220-300x199.png 300w, https://puri.sm/wp-content/uploads/2017/02/purism-librem-13-v1-coreboot-status-20170220-768x509.png 768w" sizes="(max-width: 831px) 100vw, 831px" /></p>
<p>Coreboot is fantastic, stable, secure, fast, and free software. So I am very excited to reach one of our milestones with the Librem 13 toward our goal of digging deeper and deeper, freeing more and more of our high-end hardware. If you care to read more on our <a href="https://puri.sm/about/business-model-and-vision/">approach, business model, and vision</a>, it would probably provide some context as to where we are and how far we plan to go.</p>
<pre>todd@librem-13:~/proj/coreboot-dev/coreboot/util/cbmem$ sudo ./cbmem -c | egrep -i "coreboot-|purism|librem"
coreboot-4.5-1035-g6a02eeb Mon Feb 20 17:34:53 UTC 2017 romstage starting...
coreboot-4.5-1035-g6a02eeb Mon Feb 20 17:34:53 UTC 2017 ramstage starting...
Root Device (Purism Librem 13)
Found mainboard Purism Librem 13
todd@librem-13:~/proj/coreboot-dev/coreboot/util/cbmem$</pre>
<h3>A neutralized Intel Management Engine</h3>
<p>The <a href="https://puri.sm/learn/intel-me/">Intel Management Engine</a> (not to be confused with the Intel AMT&#8211;<a href="https://puri.sm/learn/avoiding-intel-amt/">which we already avoid</a>), shortened to Intel ME, is a very large binary (1.5MB) included within Coreboot to bring-up post-2008 era CPUs. We have known it was possible and have stated that we plan to remove this binary, often considered the nastiest of binaries compared to memory init, ref-code, or vbios. Based off the tremendous work from <a href="https://github.com/corna/me_cleaner/">me_cleaner</a>, we can safely gut over 90% of the Intel ME, removing all the backdoor networking stack, leaving only the very small section (120k) to initialize and configure the hardware.</p>
<pre>todd@librem-13:~/proj/coreboot-dev/coreboot/util/cbmem$ sudo ./cbmem -c | grep ^ME
ME: FW Partition Table : OK
ME: Bringup Loader Failure : NO
ME: Firmware Init Complete : NO
ME: Manufacturing Mode : YES
ME: Boot Options Present : NO
ME: Update In Progress : NO
ME: Current Working State : Recovery
ME: Current Operation State : Bring up
ME: Current Operation Mode : Normal
ME: Error Code : No Error
ME: Progress Phase : BUP Phase
ME: Power Management Event : Clean Moff-&gt;Mx wake
ME: Progress Phase State : Waiting for DID BIOS message
ME: HSIO Version : 0 (CRC 0x0000)
ME: FW Partition Table : OK
ME: Bringup Loader Failure : NO
ME: Firmware Init Complete : NO
ME: Manufacturing Mode : YES
ME: Boot Options Present : NO
ME: Update In Progress : NO
ME: Current Working State : Recovery
ME: Current Operation State : M0 with UMA
ME: Current Operation Mode : Normal
ME: Error Code : Image Failure
ME: Progress Phase : BUP Phase
ME: Power Management Event : Clean Moff-&gt;Mx wake
ME: Progress Phase State : M0 kernel load
ME: BIOS path: Error
ME: found version 10.0.32.1000
ME: Wake Event to ME Reset: 84 ms
ME: ME Reset to Platform Reset: 753 ms
ME: Platform Reset to CPU Reset: 0 ms
todd@librem-13:~/proj/coreboot-dev/coreboot/util/cbmem$</pre>
<h3>Testing out usage without microcode updates</h3>
<p>There are plenty of debates over including microcode updates or not, with the philosophical discussion ranging from &#8220;The original microcode is already trusted from the CPU vendor when you first get the CPU, so why not apply the microcode updates?&#8221;, to &#8220;No microcode update should be applied because it is loaded on the CPU via a flashing utility in software&#8221;.</p>
<p>Whatever side of the fence you&#8217;re on, we wanted to give users the control to include or not include the microcode updates, and as such worked to source CPUs that had a low stepping so the microcode updates were not completely insurmountable, and at least possible to run without these updates. I am typing this now on a Librem 13 that has no microcode update applied, and we will allow for users to decide a no-microcode-updates option (with the risks that it may carry in hard-lock-ups or inaccurate floating point calculations) or a microcode option (with the risks that it may carry in bit flips provided from the CPU vendor). I personally have rolled back in the microcode update, because I saw odd system lock-up behavior within 24 hours of operation at random times. With the microcode rolled back in, I am back to a stable never-locking-up behavior, as I would expect from a Librem laptop.</p>
<pre>todd@librem-13:~$ cat /proc/cpuinfo | grep microcode | wc
 0 0 0
todd@librem-13:~$</pre>
<h3>LibrePlanet 2017</h3>
<p>Don&#8217;t forget that we <a href="https://puri.sm/posts/meet-us-at-libreplanet-2017/">will be at LibrePlanet 2017</a> in Boston, showcasing the Librem 13 running coreboot, with a neutralized ME. I look forward to meeting you there!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/todds-librem-13-with-coreboot-and-a-neutralized-me/">Todd&#8217;s Purism Librem 13 experience with coreboot and a neutralized ME</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Neutralizing the Intel Management Engine on Librem Laptops</title>
		<link>https://puri.sm/posts/neutralizing-intel-management-engine-on-librem-laptops/</link>
		<pubDate>Thu, 09 Mar 2017 15:00:37 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Benchmarks and testing]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=15191</guid>
		<description><![CDATA[<p>In my last blog post, I have spoken of the completion of the Purism coreboot port for the Librem 13 v1 and mentioned that I had some good news about the Intel Management Engine disablement efforts (to go further than our existing quarantine) and to &#8220;stay tuned&#8221; for more information. Since then I got a [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/neutralizing-intel-management-engine-on-librem-laptops/">Neutralizing the Intel Management Engine on Librem Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>In my <a href="https://puri.sm/posts/librem-13-coreboot-report-february-25th-2017/">last blog post</a>, I have spoken of the completion of the <a href="https://puri.sm/coreboot/" target="_blank">Purism coreboot port</a> for the Librem 13 v1 and mentioned that I had some good news about the Intel Management Engine disablement efforts (to go further than <a href="https://puri.sm/learn/avoiding-intel-amt/" target="_blank">our existing quarantine</a>) and to &#8220;stay tuned&#8221; for more information. Since then I got a little side-tracked with some more work on coreboot (more below), but now it&#8217;s time to share with you the good news!<span id="more-15191"></span></p>
<h1>Ladies and Gentlemen, Clean Your Engines!</h1>
<p><strong>I am happy to say that neutralizing the ME works! </strong>I investigated the effectiveness of neutralizing the Management Engine using the <a href="http://github.com/corna/me_cleaner">me_cleaner</a> tool (which is an amazing feat of the community), and then I tested to make sure the ME was indeed neutralized and that the Librem 13 stays on for over 30 minutes. We plan to <strong>go even further than that</strong> in the future and <strong>reverse-engineer the remaining parts</strong> just so we can attain 100% freedom.</p>
<p>First of all, you need to understand what me_cleaner does. You can of course go read the technical details on their wiki on <a href="https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F">how it works</a>, but to put it simply, the ME is organized in multiple <a href="https://www.slideshare.net/codeblue_jp/igor-skochinsky-enpub/17">modules</a>, each handling a specific task. The me_cleaner tool deletes most modules (utilities, kernel, network stack, and a Java virtual machine<em>—Yes! You read that right</em>), pretty much everything except the hardware initialization (BUP = Bring UP) module in the ME image. After the BUP module is executed, it can&#8217;t find the other modules, so it stops executing (as it has nothing to execute into), but at that point the 30 minutes watchdog has <em>already</em> been disabled by the BUP itself, so we can keep running. This is already a great improvement! The watchdog is precisely the issue that had been blocking us when we did our initial investigations a year ago.</p>
<p>After I ran the me_cleaner script on the BIOS image, and flashed it, I needed to test and make sure that the ME was indeed neutralized. I used the &#8220;intelmetool&#8221; that comes with coreboot and which is used to communicate with the ME PCI device to get information from it. Unfortunately, the intelmetool kept crashing, which was a good sign because it apparently couldn&#8217;t find the ME, but a crash (segmentation fault) is not really a conclusive answer… so I looked at its code, figured out what it did wrong, fixed it, then tested it again. This time, it gave me lots of output, and it confirmed that the ME was basically unresponsive. I then checked the output of &#8220;cbmem&#8221;—coreboot&#8217;s debug log during the boot sequence—and it showed that the ME was now stuck in &#8220;bring up phase&#8221;, its state was &#8220;recovery&#8221; instead of &#8220;normal&#8221;.</p>
<p>Bring out the Champagne! The ME is not only <a href="https://puri.sm/learn/avoiding-intel-amt/" target="_blank">quarantined</a>, it is <strong>now officially neutralized</strong> and the Librem remains working beyond the 30 minutes time limit that Intel had put in place!</p>
<figure id="attachment_15692" style="width: 721px" class="wp-caption alignnone"><a href="https://en.wikipedia.org/wiki/File:Veuve_clicquot_bottle_sizes.jpg" target="_blank"><img class="wp-image-15692 size-full" src="https://puri.sm/wp-content/uploads/2017/03/Veuve-clicquot-Champagne-bottles.jpg" alt="Champagne bottles" width="721" height="514" srcset="https://puri.sm/wp-content/uploads/2017/03/Veuve-clicquot-Champagne-bottles.jpg 721w, https://puri.sm/wp-content/uploads/2017/03/Veuve-clicquot-Champagne-bottles-300x214.jpg 300w" sizes="(max-width: 721px) 100vw, 721px" /></a><figcaption class="wp-caption-text">Pictured: our recommended &#8220;Defeat of the Intel ME&#8221; celebration kit.</figcaption></figure>
<h1>The remains</h1>
<p>A question remains, however: &#8220;What exactly did we remove, and what remains?&#8221; So I tried to dig into that as well.</p>
<p>First of all, the Intel ME image takes 2MB of space in the BIOS flash, but not all of those 2MB are used. It&#8217;s made of different modules, which can be compressed with LZMA or with a private/secret Huffman dictionary. There is a total of 1.2MB of actual compressed code in the image, which gives us a total of 1.6MB (1662976 bytes) of uncompressed code in 23 modules.</p>
<p>Of those 23 modules, 21 modules are completely removed from the ME partition, and we leave only 2 modules: ROMP and BUP. The ROMP module is <span style="text-decoration: line-through;">a &#8220;ROM bypass&#8221; module which is used to bypass the ROM initialization code and it&#8217;s</span> less than 1KB of code, used to load the BUP module and execute it. The BUP module is a 116KB module which is used to initialize the ME hardware. So we end up with 120KB (122880) of data (108224 bytes actually, if we ignore the end of the ROMP and BUP modules which are empty) which represents 7.38% of the total ME code. We have effectively removed over 92.6% of the ME code without any adverse effects (but see further below).</p>
<p>And so we removed <em>plenty of stuff,</em> but most importantly, <strong> we completely removed the ME kernel as well as the network stack.</strong> You can see the full list of modules here:</p>
<pre>## Original ME modules :
total 1.6M
8.0K -rw-r--r-- 1 kakaroto kakaroto 8.0K Feb 28 17:08 AFWS-20687000.mod
12K -rw-r--r-- 1 kakaroto kakaroto 12K Feb 28 17:08 BOP-20392000.mod
116K -rw-r--r-- 1 kakaroto kakaroto 116K Feb 28 17:08 BUP-200d4000.mod
16K -rw-r--r-- 1 kakaroto kakaroto 16K Feb 28 17:08 CLS-206e0000.mod
4.0K -rw-r--r-- 1 kakaroto kakaroto 4.0K Feb 28 17:08 ClsPriv-20716000.mod
12K -rw-r--r-- 1 kakaroto kakaroto 12K Feb 28 17:08 FPF-206b3000.mod
132K -rw-r--r-- 1 kakaroto kakaroto 140K Feb 28 17:08 FTPM-20777000.mod
60K -rw-r--r-- 1 kakaroto kakaroto 60K Feb 28 17:08 HOSTCOMM-20396000.mod
24K -rw-r--r-- 1 kakaroto kakaroto 24K Feb 28 17:08 HOTHAM-2032b000.mod
16K -rw-r--r-- 1 kakaroto kakaroto 16K Feb 28 17:08 ICC-203ad000.mod
272K -rw-r--r-- 1 kakaroto kakaroto 272K Feb 28 17:08 JOM-208c2000.mod
344K -rw-r--r-- 1 kakaroto kakaroto 344K Feb 28 17:08 KERNEL-200f8000.mod
28K -rw-r--r-- 1 kakaroto kakaroto 28K Feb 28 17:08 MCTP-20379000.mod
28K -rw-r--r-- 1 kakaroto kakaroto 28K Feb 28 17:08 ME_TUNNEL-203b4000.mod
52K -rw-r--r-- 1 kakaroto kakaroto 52K Feb 28 17:08 NET_STACK-20383000.mod
20K -rw-r--r-- 1 kakaroto kakaroto 20K Feb 28 17:08 NFC-208bb000.mod
196K -rw-r--r-- 1 kakaroto kakaroto 204K Feb 28 17:08 Pavp-20040000.mod
124K -rw-r--r-- 1 kakaroto kakaroto 124K Feb 28 17:08 POLICY-2034d000.mod
4.0K -rw-r--r-- 1 kakaroto kakaroto 4.0K Feb 28 17:08 ROMP-200d2000.mod
60K -rw-r--r-- 1 kakaroto kakaroto 60K Feb 28 17:08 SESSMGR-20719000.mod
44K -rw-r--r-- 1 kakaroto kakaroto 44K Feb 28 17:08 SESSMGR_PRIV-2015a000.mod
4.0K -rw-r--r-- 1 kakaroto kakaroto 4.0K Feb 28 17:08 UPDATE-2003e000.mod
32K -rw-r--r-- 1 kakaroto kakaroto 32K Feb 28 17:08 utilities-2036f000.mod
## Cleaned ME modules :
total 120K
4.0K -rw-r--r-- 1 kakaroto kakaroto 4.0K Feb 28 17:15 ROMP-200d2000.mod
116K -rw-r--r-- 1 kakaroto kakaroto 116K Feb 28 17:15 BUP-200d4000.mod</pre>
<h1>A few things to watch out for</h1>
<h2>Possible graphics problems</h2>
<p>Unfortunately for me, on one of my machine&#8217;s set-ups, the i915 graphics driver would constantly crash with Wayland. I have tried an Ubuntu 16.04  live USB and haven&#8217;t had any problems with it, but when trying with two different PureOS installs, I had one being extremely stable while the other had the graphics driver crashing. I could still SSH into the machine and do what I wanted, but I couldn&#8217;t login into my desktop. Running &#8220;startx&#8221; in a terminal was working, however, without causing additional crashes of the graphics driver.</p>
<p>Other people on the team tested on their own Librem 13 and couldn&#8217;t reproduce the issue.</p>
<p>I spent some time trying to debug that phenomenon, but without much success. I tried updating/downgrading the kernel and comparing Wayland versions, and couldn&#8217;t figure out what was different between my two PureOS installs. I eventually put that aside because I had other things to do, and this could wait, given that I only experienced this problem on one particular machine.</p>
<h2>Microcode or no microcode, that is the question!</h2>
<p>Then came the idea of removing the microcode update from coreboot. This is a tricky question.</p>
<ul>
<li>The way the CPU is made, it comes with a predefined &#8220;microcode&#8221;, basically some sort of &#8220;arrangement&#8221; of the low-level transistor blocks to define the &#8220;high-level&#8221; x86 instruction sets the processor supports. Sometimes if an instruction doesn&#8217;t behave the way it should, Intel will release a microcode update to &#8220;re-arrange&#8221; the transistor blocks in order to fix bugs in how the instructions are behaving. Those bugs can be anything: silent data corruption, security flaws, or very visible kernel panics.</li>
<li>Some people, however, may decide not to have a microcode update in their BIOS because it&#8217;s technically an <a href="https://puri.sm/learn/blobs/" target="_blank">unknown binary</a>—even though the CPU hardware itself already comes with an initial microcode configuration pre-burned in its silicon.</li>
</ul>
<p>After researching the implications of removing the microcode update from coreboot, I tested it. I ran prime95 for over 28 hours without any errors (what I forgot to mention in <a href="https://puri.sm/posts/librem-13-coreboot-report-february-25th-2017/" target="_blank">my previous blog post</a> is that my prime95 results back then were actually made on a microcode-less system!) The system seems to run fine, boots, logs me in without problems and is perfectly usable, so that&#8217;s great… but it&#8217;s of course no guarantee that the system won&#8217;t have hidden bugs that I can&#8217;t notice, or small data corruption, etc. If anyone wants to remove the microcode updates from their BIOS, they can do that, and they can be safe in knowing that the system will be &#8220;usable&#8221;, but of course this comes with a big disclaimer on the risks involved. Todd (our CEO) has tested his machine extensively with coreboot without microcode updates and said that the machine would lock-up completely in less than 24 hours, after a few days of testing, he added back the microcode updates and the system became stable again. Your mileage may vary.</p>
<p>Here are some comments about this that I&#8217;ve received from the #coreboot IRC channel:</p>
<blockquote><p>&lt;avph&gt; microcode problems are weird. They can appear in many different problems. I have encountered: VT-X very broken, movies playing (SIMD broken?), wrong CPUID, &#8230;<br />
&lt;pgeorgi&gt; I guess the most common issues fixed by microcode updates are typically related to caching bugs, which often have security impact. TLB broken, write-back unstable, stuff like that. There&#8217;s hardly a single tool you can run and hope that it&#8217;ll catch all those bugs.<br />
&lt;the7thstranger&gt; I have never seen an x86 chip that didn&#8217;t fail in some way without ucode updates, so don&#8217;t get your hopes up</p></blockquote>
<h1>Back for more coreboot work</h1>
<p>In the introduction, I mentioned some coreboot issues that distracted me. Nothing major at the beginning: there was a small typo (and apparently without consequences) in one of the commits I wrote in coreboot, which was not noticed until after it was merged, so I had to fix that (quick and easy) and send it to coreboot for <a href="https://review.coreboot.org/#/c/18514/">review</a>/merging (not so quick and easy). The coreboot team was great in giving me good feedback pretty quickly (my commit message wasn&#8217;t up to their standards because I did it in a rush), and it got merged upstream.</p>
<p>Then, unfortunately, during beta testing, someone in the team bricked his Librem 13 (good thing we&#8217;re testing with our own devices first, huh?) We&#8217;re not yet sure why this happened, so I&#8217;m waiting to receive this person&#8217;s unit to debug that. In the meantime, I had to send my Librem 13 to them so they can get their laptop back to work. Once I receive their &#8220;brick&#8221;, I&#8217;ll be able to investigate why it&#8217;s not booting, whether it was a problem in flashing coreboot (due to QubesOS or a bad version of flashrom or due to user error), if it&#8217;s a problem with coreboot itself, or if it&#8217;s a problem with the hardware (that laptop might have been an early prototype, which means the hardware may be different, I&#8217;ll have to check to make sure).</p>
<p>For now, I&#8217;m also still working on a fool-proof (as much as possible) install script that will build coreboot for you and install it, limiting any risks of user-error that might cause a bricked machine. Once I know what happened to that bricked Librem (and fix it), then I&#8217;ll be able to continue working on that installation script (it&#8217;s hard to test it without any hardware on hand!), after which we&#8217;ll do some more &#8220;in-house&#8221; beta testing before releasing a public beta test for everybody.</p>
<p>Thankfully, any brick of the laptop can easily be recovered by using an external hardware flasher and the original BIOS. I have the original BIOS from that specific machine, since a backup was made before coreboot was flashed to it, so I can recover it quickly.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/neutralizing-intel-management-engine-on-librem-laptops/">Neutralizing the Intel Management Engine on Librem Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The Librem 13 v1 coreboot port is now complete</title>
		<link>https://puri.sm/posts/librem-13-coreboot-report-february-25th-2017/</link>
		<pubDate>Sat, 25 Feb 2017 22:00:29 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Benchmarks and testing]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=14838</guid>
		<description><![CDATA[<p>Here are the news you&#8217;ve been waiting for: the coreboot port for the Librem 13 v1 is 100% done! I fixed all of the remaining issues, it is now fully working and is stable, ready for others to enjoy. I fixed the instability problem with the M.2 SATA port, finished running all the tests to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13-coreboot-report-february-25th-2017/">The Librem 13 v1 coreboot port is now complete</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.29.42-small.jpg"><img class="alignright size-medium wp-image-15189" src="https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.29.42-small-300x168.jpg" alt="" width="300" height="168" srcset="https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.29.42-small-300x168.jpg 300w, https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.29.42-small-768x431.jpg 768w, https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.29.42-small.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a>Here are the news you&#8217;ve been waiting for: <strong>the coreboot port for the Librem 13 v1 is 100% done! </strong>I fixed all of the remaining issues, it is now fully working and is stable, ready for others to enjoy. I fixed the instability problem with the M.2 SATA port, finished running all the tests to ensure coreboot is working correctly, fixed the headphone jack that was not working, made the boot prettier, and started investigating the Intel Management Engine issue. Read on for details.<span id="more-14838"></span></p>
<p>Currently our test matrix looks like this—100% tested and working:</p>
<div style="color: #339966; font-size: 70%; text-decoration: line-through; column-count: 2; column-gap: 2%; -moz-column-count: 2; -webkit-column-count: 2; -moz-column-gap: 2%; -webkit-column-gap: 2%;">
<ol>
<li>Cold boot: memory controller works.</li>
<li>Cold boot: all installed DRAM is online.</li>
<li>Cold boot: graphics controller works.</li>
<li>Cold boot: SATA controller succeeds.</li>
<li>Cold boot: EC controller responds ok to init code.</li>
<li>Cold boot: LCD backlight turns on.</li>
<li>Cold boot: linux boots ok in text mode.</li>
<li>Cold boot: linux boots ok in framebuffer (boot splash) mode.</li>
<li>Cold boot: X initializes the LCD at full native resolution.</li>
<li>Cold boot: X enables hardware acceleration.</li>
<li>Boot time: Cold boot to grub succeeds in less than a set timeout.</li>
<li>Boot time: Reboot from linux back to linux succeeds in less than a set timeout.</li>
<li>Boot time: Power down succeeds in less than a set timeout.</li>
<li>SeaBIOS test: keyboard works.</li>
<li>Grub test: keyboard works.</li>
<li>Grub test: text mode and framebuffer graphics work.</li>
<li>Cold boot to USB linux succeeds.</li>
<li>Reboot to USB linux succeeds.</li>
<li>EC test: fan spins.</li>
<li>EC test: holding power for &gt;5 seconds forces a power down.</li>
<li>ACPI test: lid switch works.</li>
<li>ACPI test: power button event received ok.</li>
<li>ACPI test: AC power on/off event received ok.</li>
<li>ACPI+EC+battery test: battery percentage works.</li>
<li>Media keys on keyboard work in linux.</li>
<li>Device tests: internal mic, internal speakers, webcam, webcam mic, wifi, bluetooth, hard drive, SSD, SD card, each USB port, headphone jack.</li>
<li>prime95 (one instance bound to each hyperthread) for a fixed time to test CPU thermal management.</li>
<li>glxgears for a fixed time to test GPU thermal management.</li>
<li>During prime95 test, CPU digital thermal sensor should give reasonable results.</li>
<li>Linux suspend ok.</li>
<li>LCD backlight adjustable in linux.</li>
<li>Linux kernel boot messages should not contain too many errors.</li>
</ol>
</div>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 2px;" />
<p>The next steps will be:</p>
<ol>
<li>Write a script for users to beta test the coreboot release easily, and document the whole thing;</li>
<li>Determine the best method to extract the existing BIOS parts and flash coreboot, avoiding any code redistributing;</li>
<li>Package it all in a .deb that PureOS users can simply apply as an update to get their BIOS replaced by coreboot.</li>
</ol>
<hr class="ttfmake-hr" style="border-style: solid; border-top-width: 1px;" />
<h1>How did you fix those last issues?</h1>
<h2>The M.2 SATA port</h2>
<p>In my previous post I noted some <a href="https://puri.sm/posts/librem-13-coreboot-report-february-3rd-2017/">strange issues with the M.2 SATA port</a>. I thought it had something to do with the <a href="https://en.wikipedia.org/wiki/PCI_configuration_space">PCI configuration</a> (the subsystem ID was different). I hadn&#8217;t had time to investigate this too much, but I had an idea that needed to be reconsidered, something I had tried very early on but it had failed because coreboot didn&#8217;t support it, and I thought that I had the wrong idea&#8230;</p>
<p>Basically, the <a href="https://www.coreboot.org/Creating_A_devicetree.cb#Introduction">devicetree.cb</a> of the Librem 13 says this:</p>
<p><code> # Port 0 tuning for link stability<br />
register "sata_port0_gen3_dtle" = "9"</code></p>
<p>Since the 2.5&#8243; SATA is on port 0, while the M.2 SATA is on port 3, and my M.2 SATA issues were of a &#8220;link stability&#8221; nature, I figured, I&#8217;d just add this to the device tree and that this might solve the problem:</p>
<p><code> register "sata_port3_gen3_dtle" = "9"</code></p>
<p>…but that didn&#8217;t work outright (didn&#8217;t compile), so I shelved that idea.</p>
<p>After posting my previous blog entry mentioning the M.2 issue, I went on coreboot&#8217;s IRC channel and asked if this &#8220;gen3_dtle&#8221; thing could be the cause, and someone mentioned that the behavior I see is the exact behavior he was seeing on his board until he added a similar line to the devicetree.cb file for his board, so it at least confirmed that was my problem… but the SATA initialization code for the Intel Broadwell SoC does not have support for that register for port 3, only for port 0 and port 1. After looking at the code, I realized that it&#8217;s probably only because nobody had needed to use it for port 3 until today. Then comes the obvious question: what does that value mean, what is the SATA DTLE, and how do I add it for port 3? Well, the soc/intel/broadwell/sata.c file uses that devicetree register and sets some &#8220;IOBP Registers&#8221; on the SATA controller using that value, and the &#8220;IOBP registers&#8221; are defined in soc/intel/broadwell/include/soc/sata.h like this :</p>
<p><code>/* SATA IOBP Registers */<br />
#define SATA_IOBP_SP0_SECRT88 0xea002688<br />
#define SATA_IOBP_SP1_SECRT88 0xea002488<br />
#define SATA_IOBP_SP0DTLE_DATA 0xea002750<br />
#define SATA_IOBP_SP0DTLE_EDGE 0xea002754<br />
#define SATA_IOBP_SP1DTLE_DATA 0xea002550<br />
#define SATA_IOBP_SP1DTLE_EDGE 0xea002554</code></p>
<p>So the obvious next questions are &#8220;What are these magic numbers?&#8221; and &#8220;What magic number should I use for port 2 and port 3?&#8221;. Unfortunately, there really is <em>no information</em> about what these &#8220;IOBP registers&#8221; mean, or what those values are, or where to get them from. Someone in #coreboot said that information comes from an Intel specification document that is only available under <a href="https://en.wikipedia.org/wiki/Non-disclosure_agreement">NDA</a>.</p>
<p>Considering that &#8216;SP0&#8217; is for port 0 and &#8216;SP1&#8217; is for port 1, and that the value goes from 0xea002<strong>750</strong> for port 0 to 0xea002<strong>550</strong> for port 1… I thought, &#8220;It would be funny if…&#8221; and set port 2 as 0xea002<strong>350</strong>, port 3 as 0xea002<strong>150,</strong> and tested it. It worked! Those guessed magic values for port 2 and 3 fixed the M.2 instability issues I was seeing. Well. That went better than expected.</p>
<p>I then booted the Librem from the SSD and started testing everything else in my list, at which point I found out that the headphones jack wasn&#8217;t working.</p>
<p><img class="aligncenter size-full wp-image-15187" src="https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.46.29-small-crop.jpg" alt="" width="100%; height:auto;" srcset="https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.46.29-small-crop.jpg 1000w, https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.46.29-small-crop-300x69.jpg 300w, https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.46.29-small-crop-768x177.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<h2 style="text-align: center;">The Harrowing Jeopardy<br />
of <span style="color: #999999;">the</span><br />
Headphone Jack</h2>
<p style="font-family: Serif; margin-left: 20%; margin-right: 20%;"><em>&#8220;This might be a PulseAudio bug&#8221;, thought I. Alas, after attempting everything I could with PulseAudio, the issue remained—from the headphones came nothing but deafening silence. I pondered the untimely physical death of Headphone Jack (&#8220;A hardware issue? Inconceivable!&#8221;), so I hammered the vendor BIOS back into the corpse to be sure… and lo and behold, Headphone Jack was alive! Thus I started the investigation into the causes of its disappearance amidst coreboot.</em></p>
<p>After a few days of looking at various possible causes and finding nothing, I realized that most patches in the coreboot git log mentioning &#8220;headphones&#8221; were modifying <em>hda_verb.c</em> or <em>hda_verb.h</em> (HDA means &#8220;Intel High Definition Audio&#8221;) and I realized the file contains the structure that is used to initialize the &#8220;codec&#8221; that runs on the sound card.</p>
<p>I recalled the codec#0 file that I had grabbed from the machine with original BIOS according to the <a href="https://www.coreboot.org/Motherboard_Porting_Guide">motherboard porting guide</a> and I compared it with the one from coreboot, and I found very few (and insignificant) differences, so it didn&#8217;t make any sense. Eventually, I decided to compare the content of <em>hda_verb.c</em> with the data from the codec#0 file even though it didn&#8217;t change from AMI bios to coreboot, and I noticed something strange right away.</p>
<p>codec#0:<br />
<code>Codec: Intel Broadwell HDMI<br />
Address: 0<br />
AFG Function Id: 0x1 (unsol 0)<br />
Vendor Id: 0x80862808<br />
Subsystem Id: 0x80860101</code></p>
<p>hda_verb.c:<br />
<code>0x19910269, /* Codec Vendor / Device ID: Realtek ALC269 */<br />
0x19910269, /* Subsystem ID */</code></p>
<p>Well, well! That&#8217;s not the same thing at all: the codec ID is different, the subsystem ID is different, the device ID/codec name is not even the same. Then I noticed the &#8216;0x8086&#8217; in the codec id and it was the same vendor id as the Intel PCI vendor id, so on a hunch and out of curiosity, I decided to run &#8220;lspci&#8221; and search for the Audio PCI device to see if the PCI vendor/product id matches the codec id from the codec#0 file</p>
<p><code>lspci -nn | grep -i audio<br />
00:03.0 Audio device [0403]: Intel Broadwell-U Audio Controller [8086:160c] (rev 09)<br />
00:1b.0 Audio device [0403]: Intel Wildcat Point-LP High Definition Audio Controller [8086:9ca0] (rev 03)</code></p>
<p>Hey, I have two audio controllers for some reason! I looked at the script I ran to get the code#0 and it grabbed the file from /proc/asound/card0/codec#0, but when I looked at my /proc/asound directory, I had both a &#8220;card0&#8221; directory and a &#8220;card1&#8221; directory. I peeked into the card1/codec#0 file and found this :</p>
<p><code>Codec: Realtek ALC269VB<br />
Address: 0<br />
AFG Function Id: 0x1 (unsol 1)<br />
Vendor Id: 0x10ec0269<br />
Subsystem Id: 0x19910269<br />
...<br />
Control: name="Headphone Playback Switch", index=0, device=0</code></p>
<p>Ah-ha! Now, to figure out why it didn&#8217;t work. I copied that card1/codec#0 file, inserted the headphones and copied it again, compared the two and found differences (it detects when the headphones are inserted), flashed coreboot, copied the files again, with and without the headphones , then I compared the codec files from the coreboot system to the codec files from the AMI bios… and there were no differences between the files!</p>
<p>Some hours of head scratching ensued. Then, as I was looking at the codec#0 file, I noticed that it did not match what I had seen before, so copied the files yet again and compared the codec files from coreboot and AMI… and suddenly, they were completely different. I shrugged and continued my investigation. I later realized that the codec does not get reinitialized during a reboot, so that&#8217;s why the codec had not changed after I flashed coreboot and rebooted—I had to do a full shutdown and power on again in order to have the codec re-initialized by coreboot!</p>
<p>So, after comparing the codecs from the AMI and coreboot bioses and comparing with the contents of hda_verb.c, I saw differences that I couldn&#8217;t explain, and after I while I wanted to debug what was happening in coreboot and realized that there are already some debug messages being printed by the code that initializes the codec using the hda_verb.c data. I ran the &#8216;cbmem&#8217; utility, printed the coreboot debug messages, and found this:</p>
<p><code>HDA: Initializing codec #0<br />
HDA: codec viddid: 10ec0269<br />
HDA: No verb table entry found</code></p>
<p>That&#8217;s when I realized the error. The codec viddid (vendor id/device id) is 0x10ec0269, yet hda_verb.c had it set to 0x19910269 (which is actually the subsystem ID), so coreboot was simply never finding the data from hda_verb and never initializing the codec. So I fixed the codec ID in hda_verb.c and recompiled coreboot. I fully shut down the laptop and powered it back on, then the headphones jack was working. Hooray!</p>
<h1>The boot splash—Beauty is Pain</h1>
<p>My next step was to add a nice bootsplash image to the boot process. It wasn&#8217;t strictly necessary at this point, but I wanted to do that, so I did. The problem is that it wasn&#8217;t working (surprise, surprise).</p>
<p>First, you have to add the bootsplash image in menuconfig, which adds it to the coreboot.rom… but doesn&#8217;t use it. So then you need to tell coreboot to actually show the bootsplash image, which didn&#8217;t work.</p>
<ul>
<li>I figured it&#8217;s because the VGA graphics aren&#8217;t initialized since it&#8217;s SeaBIOS that runs the VGA option ROM (vbios), so I enabled coreboot to run the VGA option ROM, then I enabled it to run all PCI option ROMs.</li>
<li>I then realized I probably had to use an image with the exact resolution of the VESA mode being used… and it still didn&#8217;t work.</li>
<li>At that point I thought, &#8220;Maybe it was happening too fast for me to see&#8221;, so I enabled the option to keep the graphics in VESA mode.</li>
</ul>
<p>I asked on IRC and those present told me that it was supposed to be &#8220;as simple as adding the image to coreboot and that&#8217;s it&#8221;. Eventually, while debugging, I saw an error message in cbmem from the SeaBIOS payload itself:</p>
<p><code>jpeg_decode failed with return code 9...</code></p>
<p>But I didn&#8217;t care about SeaBIOS because I wanted <em>coreboot</em> to show the image.</p>
<p>Eventually, I had another &#8220;What if…&#8221; moment and asked someone on IRC who had a working bootsplash to send me the image they used. I tried it and it worked! So the problem was my own image. After I made sure the resolutions matched, I had no idea what to look for next, and online, I couldn&#8217;t find any information on what requirements the image had to have.</p>
<p>I also realized that coreboot could show the bootsplash, but SeaBIOS would also find the bootsplash image in CBFS (in the bios filesystem basically) and would also show it, so I had <em>both</em> coreboot and SeaBIOS attempting to show the bootsplash, and if SeaBIOS was showing an error in decrypting the JPEG, it was probably the same reason why coreboot was refusing to display it. I then looked at the jpeg module in the SeaBIOS code and found the -9 error that it returned… it had something to do with the colorspace being wrong, as jpeg_decode only supports YCBR:22:11:11</p>
<p><code>#define ERR_NOT_YCBCR_221111 9</code></p>
<p>I looked at how to determine the colorspace of the JPEG image and how to change to YCBCR:22:11:11 but couldn&#8217;t find much information, so I started reading the code of jpeg_decode and understanding the binary structure of the JPEG file format (did anyone say <a href="http://www.urbandictionary.com/define.php?term=yak%20shaving" target="_blank">yak shaving</a>?), until I found which bits in the JPEG header were specifying the colorspace. I then opened GIMP and tried various things until I found where to change the colorspace, then wrangled with the options until I found which one was setting the bits to perfectly match the YCBCR:22:11:11 colorspace that SeaBIOS required. At that point, I was just using &#8220;hexdump&#8221; and reading the jpeg data structure to determine if it would work. In GIMP, we need to set the &#8220;Subsampling&#8221; advanced option to &#8220;4:2:0 (chroma quartered)&#8221;.</p>
<p>Once I did that, I booted and… <em>still. No. Bootsplash. </em> ლ(ಠ益ಠლ)</p>
<p>I looked at the cbmem log again and this time it was error 11, instead of 9:</p>
<p><code>#define ERR_NOT_SEQUENTIAL_DCT 11</code></p>
<p>Now, that didn&#8217;t mean much; I kept looking for this sequential DCT information, but couldn&#8217;t find any information about it. There were 3 bytes in the SOS (Start of Scan) marker of the JPEG headers, which were the ones that the jpeg_decode function was using to decide if it returned that error or not, and everywhere I looked, it was either not explaining what those bytes meant or defining them as &#8220;ignorableBytes&#8221; or explaining them as &#8220;unused&#8221; or &#8220;skip 3 bytes&#8221; or something like that, without explaining what they were or what they were for… eventually, I tried to bruteforce it, and I found that disabling the &#8220;progressive&#8221; option in GIMP will set those 3 bytes to the value that SeaBIOS&#8217; jpeg_decode requires (which is 0x003F00, by the way). This gives us these JPEG export options in GIMP:</p>
<p><img class="alignnone wp-image-15234 size-full" src="https://puri.sm/wp-content/uploads/2017/02/coreboot-splash-gimp-export-options-annotated.png" width="707" height="644" srcset="https://puri.sm/wp-content/uploads/2017/02/coreboot-splash-gimp-export-options-annotated.png 707w, https://puri.sm/wp-content/uploads/2017/02/coreboot-splash-gimp-export-options-annotated-300x273.png 300w" sizes="(max-width: 707px) 100vw, 707px" /></p>
<p>And voilà! With those settings, the splash image gets shown. Easy peasy, huh?</p>
<figure id="attachment_15190" style="width: 960px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.18.50.jpg"><img class="size-large wp-image-15190" src="https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.18.50-1024x721.jpg" alt="" width="960" height="676" srcset="https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.18.50-1024x721.jpg 1024w, https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.18.50-300x211.jpg 300w, https://puri.sm/wp-content/uploads/2017/02/2017-02-14-15.18.50-768x541.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption class="wp-caption-text">The Librem 13 v1 successfully showing the splash with coreboot (temporary artwork)</figcaption></figure>
<p>Afterwards, we asked François to create some more minimalistic bootsplash. This is roughly what it looks like now (keep in mind the picture is a bit overexposed here as well, so it looks better with the naked eye):</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/02/2017-02-24-17.26.40.jpg"><img class="alignnone size-large wp-image-15235" src="https://puri.sm/wp-content/uploads/2017/02/2017-02-24-17.26.40-1024x768.jpg" alt="" width="960" height="720" srcset="https://puri.sm/wp-content/uploads/2017/02/2017-02-24-17.26.40-1024x768.jpg 1024w, https://puri.sm/wp-content/uploads/2017/02/2017-02-24-17.26.40-300x225.jpg 300w, https://puri.sm/wp-content/uploads/2017/02/2017-02-24-17.26.40-768x576.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<h1>Upstreaming the work</h1>
<p>I went through all of our test matrix and verified that everything works as expected. I ran prime95 for 28.5 hours without issues and verified that the CPU/GPU temperatures remain acceptable under both heavy CPU load (prime95) as well as heavy GPU load (uncapped glxgears):</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-40-10-crop.jpeg"><img class="alignnone size-thumbnail wp-image-15243" src="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-40-10-crop-150x150.jpeg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-40-10-crop-150x150.jpeg 150w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-40-10-crop-180x180.jpeg 180w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-40-10-crop-300x300.jpeg 300w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-40-10-crop-600x600.jpeg 600w" sizes="(max-width: 150px) 100vw, 150px" /></a> <a href="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-46-07-crop.jpeg"><img class="alignnone size-thumbnail wp-image-15244" src="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-46-07-crop-150x150.jpeg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-46-07-crop-150x150.jpeg 150w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-46-07-crop-180x180.jpeg 180w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-46-07-crop-300x300.jpeg 300w" sizes="(max-width: 150px) 100vw, 150px" /></a> <a href="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-57-15-crop.jpeg"><img class="alignnone size-thumbnail wp-image-15245" src="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-57-15-crop-150x150.jpeg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-57-15-crop-150x150.jpeg 150w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-57-15-crop-180x180.jpeg 180w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-57-15-crop-300x300.jpeg 300w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-13-57-15-crop-600x600.jpeg 600w" sizes="(max-width: 150px) 100vw, 150px" /></a> <a href="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-04-29-crop.jpeg"><img class="alignnone size-thumbnail wp-image-15246" src="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-04-29-crop-150x150.jpeg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-04-29-crop-150x150.jpeg 150w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-04-29-crop-180x180.jpeg 180w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-04-29-crop-300x300.jpeg 300w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-04-29-crop-600x600.jpeg 600w" sizes="(max-width: 150px) 100vw, 150px" /></a> <a href="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-53-34-crop.jpeg"><img class="alignnone size-thumbnail wp-image-15247" src="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-53-34-crop-150x150.jpeg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-53-34-crop-150x150.jpeg 150w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-53-34-crop-180x180.jpeg 180w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-53-34-crop-300x300.jpeg 300w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-15-14-53-34-crop-600x600.jpeg 600w" sizes="(max-width: 150px) 100vw, 150px" /></a> <a href="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-21-17-53-05-crop.jpeg"><img class="alignnone size-thumbnail wp-image-15248" src="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-21-17-53-05-crop-150x150.jpeg" alt="" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-21-17-53-05-crop-150x150.jpeg 150w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-21-17-53-05-crop-180x180.jpeg 180w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-21-17-53-05-crop-300x300.jpeg 300w, https://puri.sm/wp-content/uploads/2017/02/Screenshot-from-2017-02-21-17-53-05-crop-600x600.jpeg 600w" sizes="(max-width: 150px) 100vw, 150px" /></a></p>
<p>…and eventually came to the conclusion that our coreboot release is done, stable and working.</p>
<p>I reviewed, cleaned and committed my changes, and <a href="https://review.coreboot.org/#/q/status:merged+project:coreboot+branch:master+topic:purism/librem13">sent the commits upstream</a> (to coreboot) for review. Unlike in academia, the reviews were quick and painless: no changes were asked and it was all merged into the coreboot master branch on February 22nd.</p>
<p>While finishing the coreboot port, I also started to play around with the me_cleaner and testing the Librem with the Intel Management Engine disabled and various CPU configurations. We have some good news to report on this. Stay tuned.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13-coreboot-report-february-25th-2017/">The Librem 13 v1 coreboot port is now complete</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Meet us at LibrePlanet 2017 from March 24th to March 26th</title>
		<link>https://puri.sm/posts/meet-us-at-libreplanet-2017/</link>
		<pubDate>Thu, 23 Feb 2017 04:38:05 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=14840</guid>
		<description><![CDATA[<p>We are proud to announce that we will be attending and sponsoring the Free Software Foundation&#8217;s flagship conference, LibrePlanet, at the MIT on March 25-26th. We will also be manning a booth there, where you can try out our Librem laptops and discuss latest advancements, including our completed port of the Librem 13 to coreboot. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-us-at-libreplanet-2017/">Meet us at LibrePlanet 2017 from March 24th to March 26th</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright wp-image-15158 size-medium" src="https://puri.sm/wp-content/uploads/2017/02/libreplanet-logo-300x182.jpg" width="300" height="182" srcset="https://puri.sm/wp-content/uploads/2017/02/libreplanet-logo-300x182.jpg 300w, https://puri.sm/wp-content/uploads/2017/02/libreplanet-logo-768x465.jpg 768w, https://puri.sm/wp-content/uploads/2017/02/libreplanet-logo.jpg 825w" sizes="(max-width: 300px) 100vw, 300px" />We are proud to announce that we will be <strong>attending and sponsoring the Free Software Foundation&#8217;s flagship conference, LibrePlanet,</strong> at the MIT <a href="https://libreplanet.org/2017/">on March 25-26th</a>.</p>
<p>We will also be manning a booth there, where you can try out our Librem laptops and discuss latest advancements, including our completed port of the Librem 13 to coreboot. Come and say hi! We&#8217;ll be happy to meet old friends and new Free Software enthusiasts, veterans and newcomers, and to answer any questions attendees may have for us. We might also have a few surprises for our visitors.</p>
<p>Todd and Jeff will also be present in Cambridge/Boston on Friday, March 24th, for any business or press inquiries. Should you prefer to meet before the event, please get in touch with us at pr@puri.sm.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-us-at-libreplanet-2017/">Meet us at LibrePlanet 2017 from March 24th to March 26th</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>New Librem 13 version to be manufactured &#038; shipped through Spring 2017</title>
		<link>https://puri.sm/posts/new-librem-13-to-be-manufactured-and-shipped-through-spring-2017/</link>
		<pubDate>Wed, 15 Feb 2017 15:00:08 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=14766</guid>
		<description><![CDATA[<p>True to the promise we have made last month, we are thrilled to announce that today, February 15th, 2017, we are placing orders throughout our supply chain for all components needed for the Librem 13 v2 to begin shipping-from-inventory in April-May onwards! This comes after months of efforts to: upgrade parts of our supply chain, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/new-librem-13-to-be-manufactured-and-shipped-through-spring-2017/">New Librem 13 version to be manufactured &#038; shipped through Spring 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://shop.puri.sm/shop/librem-13/"><img class="alignright wp-image-14830 " src="https://puri.sm/wp-content/uploads/2017/02/librem13v2_persp_crop.jpg" width="523" height="308" srcset="https://puri.sm/wp-content/uploads/2017/02/librem13v2_persp_crop.jpg 1000w, https://puri.sm/wp-content/uploads/2017/02/librem13v2_persp_crop-300x177.jpg 300w, https://puri.sm/wp-content/uploads/2017/02/librem13v2_persp_crop-768x452.jpg 768w" sizes="(max-width: 523px) 100vw, 523px" /></a>True to <a href="https://puri.sm/posts/growing-to-ship-from-inventory-in-2017/">the promise we have made last month</a>, we are thrilled to announce that <strong>today, February 15th, 2017,</strong> we are placing orders throughout our supply chain for all components needed for the Librem 13 v2 to begin shipping-from-inventory in April-May onwards! This comes after months of efforts to:</p>
<ul>
<li>upgrade parts of our supply chain, case, backlit keyboard, kill switches, and battery;</li>
<li>close investment to place a large-enough order that we can have inventory to ship directly from.</li>
</ul>
<p>This is a critical step. <strong>Future Librem 13 orders, from May onwards, will only take days to fulfill.</strong> Incrementally throughout 2017, this will become the way we fulfill orders for <em>all</em> our existing products.<span id="more-14766"></span></p>
<h1>A last minute opportunity to hop onto this batch</h1>
<p>As we are purchasing supplies to create a large inventory of Librem 13 v2 units, <strong>any extra <a href="https://shop.puri.sm/shop/librem-13/">Librem 13</a> orders placed between today and March 15th will be added on top of this large order</strong> and can thus be expected to ship at the same time (estimated time of arrival to you: April-May, 2017). So if any of you were waiting for the opportunity to buy units that would ship quickly to you, now is your best opportunity—and you&#8217;ll be supporting us in the process, creating a virtuous circle. Please spread the word to those around you as well!</p>
<h1>Will this batch ship with coreboot preinstalled?</h1>
<p>Most likely. We will try as much as possible to squeeze this into the manufacturing schedule as we are <a href="https://puri.sm/posts/librem-13-coreboot-report-february-3rd-2017/">nearing completion on our coreboot porting and validation for the Librem 13 v1</a> (more news coming soon), but we&#8217;re not making hard guarantees about having it ready just yet. <em>If</em> the timeframe is too tight to preinstall it on units to be shipped in April-May, we will offer to have your order wait until we can pre-install coreboot, or provide you with tools and instructions to install it yourself through a simple software update.</p>
<h1>What about the Librem 11 and 15?</h1>
<p><a href="https://puri.sm/wp-content/uploads/2016/04/librem11_3-640px.jpeg"><img class="alignright wp-image-4327" src="https://puri.sm/wp-content/uploads/2016/04/librem11_3-640px.jpeg" alt="" width="532" height="421" srcset="https://puri.sm/wp-content/uploads/2016/04/librem11_3-640px.jpeg 640w, https://puri.sm/wp-content/uploads/2016/04/librem11_3-640px-300x237.jpeg 300w" sizes="(max-width: 532px) 100vw, 532px" /></a>Our 13&#8243; laptop being the most popular model, we&#8217;re fulfilling orders for this product as the first batch of 2017, simultaneously creating inventory for future Librem 13 orders. For those who have preordered Librem 15 and Librem 11 units, you will have to wait a little bit longer, but not very long: this new Librem 13 batch, and our ability to finally ship the Librem 13 from inventory, will help us gain the financial leverage we need to do the same for the Librem 11 and Librem 15 soon afterwards. We&#8217;re hoping to achieve this during the beginning of the summer. We will keep you updated on our progress—for now, we just need to be careful and do things one step at a time.</p>
<p>Thanks for your support!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/new-librem-13-to-be-manufactured-and-shipped-through-spring-2017/">New Librem 13 version to be manufactured &#038; shipped through Spring 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>A new PureOS website</title>
		<link>https://puri.sm/posts/a-new-pureos-website/</link>
		<pubDate>Mon, 06 Feb 2017 21:09:59 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Customer Feedback]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=14473</guid>
		<description><![CDATA[<p>I&#8217;m happy to announce that I have put together a new website dedicated to PureOS, with its own domain name: https://pureos.net/ I created the PureOS website from scratch and made sure that not only is PureOS freedom-and privacy-respecting, its website would be as well. It enforces HTTPS. It is Icecat and Tor friendly. There is [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-new-pureos-website/">A new PureOS website</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://puri.sm/wp-content/uploads/2017/02/2017-new-pureos-website.png"><img class="alignright size-medium wp-image-14495" src="https://puri.sm/wp-content/uploads/2017/02/2017-new-pureos-website-300x271.png" alt="2017 new pureos website" width="300" height="271" srcset="https://puri.sm/wp-content/uploads/2017/02/2017-new-pureos-website-300x271.png 300w, https://puri.sm/wp-content/uploads/2017/02/2017-new-pureos-website-768x694.png 768w, https://puri.sm/wp-content/uploads/2017/02/2017-new-pureos-website-1024x925.png 1024w, https://puri.sm/wp-content/uploads/2017/02/2017-new-pureos-website.png 1187w" sizes="(max-width: 300px) 100vw, 300px" /></a>I&#8217;m happy to announce that I have put together a new website dedicated to PureOS, with its own domain name: <a href="https://pureos.net/">https://pureos.net/</a></p>
<p>I created the PureOS website from scratch and made sure that not only is PureOS freedom-and privacy-respecting, its <em>website</em> would be as well.</p>
<ul>
<li>It enforces HTTPS.</li>
<li>It is Icecat and Tor friendly.</li>
<li>There is no javascript at all—the interactive top menu that is displayed on small screens (mobile / tablets) is only made of CSS (with the checkbox trick)!</li>
<li>At the moment it doesn&#8217;t use any backend/framework (it is pure HTML), but I am also working on a small PHP backend that would handle very simple freedom-respecting templates as well as translations, following LibreJS rules for JavaScript usage. This backend is not complete yet but it will be released under a GPLv3 license.</li>
</ul>
<p>Don&#8217;t hesitate to download and try PureOS! Your feedback is more than welcome as we want this fully free distribution to be as user-friendly and freedom respecting as possible. Those two goals <em>are</em> compatible.</p>
<p style="padding-left: 30px;">I believe the world is reaching a point where the lack of freedom is starting to become noticeably less comfortable than the virtual comfort promoted by restrictive software makers. More and more people feel concerned about privacy, freedom and ethics in general. Most of them are beginning to understand why Free Software is so important (<a href="https://puri.sm/posts/switching-from-proprietary-to-free-software/">I was/am one of them</a>!) The problem is that many people out there are under the impression that they are not &#8220;technical&#8221; enough to run a free OS like GNU/Linux, and so, they just give up&#8230; we must convince them that things are moving forward in the world of software freedom and that PureOS is as respectful of their freedom &amp; privacy as it is modern, full-featured and easy to use by everyone.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-new-pureos-website/">A new PureOS website</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 13 coreboot report &#8211; February 3rd, 2017: It&#8217;s Alive!</title>
		<link>https://puri.sm/posts/librem-13-coreboot-report-february-3rd-2017/</link>
		<pubDate>Fri, 03 Feb 2017 21:17:45 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=14224</guid>
		<description><![CDATA[<p>Hi again everyone and welcome to the &#8220;Good news&#8221; post! It&#8217;s been 3 weeks since I wrote my last blog post but this is going to be a short update, in big part because I&#8217;ve spent the first two weeks sick in bed and thus wasn&#8217;t able to do much at all. However, in the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13-coreboot-report-february-3rd-2017/">Librem 13 coreboot report &#8211; February 3rd, 2017: It&#8217;s Alive!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<figure id="attachment_14339" style="width: 605px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2017/01/2017-01-24-11.41.34-librem-13-memtest-with-coreboot.jpg"><img class="wp-image-14339" src="https://puri.sm/wp-content/uploads/2017/01/2017-01-24-11.41.34-librem-13-memtest-with-coreboot-1024x768.jpg" alt="2017-01-24--11.41.34 librem 13 memtest with coreboot" width="605" height="454" srcset="https://puri.sm/wp-content/uploads/2017/01/2017-01-24-11.41.34-librem-13-memtest-with-coreboot-1024x768.jpg 1024w, https://puri.sm/wp-content/uploads/2017/01/2017-01-24-11.41.34-librem-13-memtest-with-coreboot-300x225.jpg 300w, https://puri.sm/wp-content/uploads/2017/01/2017-01-24-11.41.34-librem-13-memtest-with-coreboot-768x576.jpg 768w, https://puri.sm/wp-content/uploads/2017/01/2017-01-24-11.41.34-librem-13-memtest-with-coreboot.jpg 1500w" sizes="(max-width: 605px) 100vw, 605px" /></a><figcaption class="wp-caption-text">Memtest with coreboot on the Librem 13</figcaption></figure>
<p>Hi again everyone and welcome to the &#8220;Good news&#8221; post!</p>
<p>It&#8217;s been 3 weeks since I wrote my <a href="https://puri.sm/posts/librem-13-coreboot-report-january-12-2017/">last blog post</a> but this is going to be a short update, in big part because I&#8217;ve spent the first two weeks sick in bed and thus wasn&#8217;t able to do much at all. However, in the last week I <em>did</em> manage to make some big progress, and the result represents such a great milestone that it warrants a blog post of its own. And, well, I doubt many will complain about not having to read through a wall of text for today&#8217;s blog post 🙂</p>
<p>So the good news is: <strong>coreboot is working on the Librem 13.</strong> The laptop boots into Linux and most things are working! The only issue I have found so far is that the M.2 SATA port doesn&#8217;t seem to work properly yet (see below for more info).<span id="more-14224"></span></p>
<h1>Getting video output</h1>
<p>&nbsp;</p>
<p>You may remember that, at the end of my <a href="https://puri.sm/posts/librem-13-coreboot-report-january-12-2017/">2nd blog post</a>, I had finally managed to build coreboot with all of the binary blobs included and it <em>should</em> have worked but it didn&#8217;t for &#8220;some reason&#8221;, so I was going to try to enable debugging to see where it froze.</p>
<p>After installing the &#8220;<a href="https://www.coreboot.org/BeagleBone_Black_-_screwdriver">Screwdriver</a>&#8221; image on the BeagleBone Black and enabling the <a href="https://www.coreboot.org/EHCI_Debug_Port">EHCI debugging </a>in the coreboot config, I was able to get the debug output from coreboot. It was really quite easy to achieve. The screwdriver image for BBB is pretty much a &#8220;boot it and it will Just Work™&#8221; thing, no configuration or app installs to do on it. As for enabling EHCI debugging, it took me a couple of tries because I had to enable two options in different config menus, not just one (enable EHCI log debugging, then enable the option to send the log via USB), but thankfully the wiki page explained that so once I followed the docs, it was quite simple. And for the curious/future reference, the USB port which outputs the EHCI debugging is the one on the <em>right</em> side of the laptop.</p>
<p>Once I had the boot log from coreboot, I noticed that it hadn&#8217;t frozen anywhere, the last line was about coreboot launching the payload SeaBIOS, so coreboot did everything up until the end. I checked the various steps and it had initialized the RAM, the refcode, the VBIOS, etc. I figured, &#8220;Maybe it&#8217;s a configuration issue&#8221;, so I checked my lspci output from before, and saw that the VGA Controller PCI ID was &#8220;8086,1616&#8221;, then I went into the coreboot config and saw that it was set to &#8220;8086,0406&#8221;. So I changed that, and flashed coreboot and when I booted the machine, the video controller worked and I saw the SeaBIOS prompt. Hurray!</p>
<h1>The Curious Case of the M.2 SSD</h1>
<p>Unfortunately, once I tried booting Linux, it failed with a &#8220;Read Error&#8221;:</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/02/2017-02-02-16.49.12.jpg"><img class="alignnone wp-image-14439 size-medium" src="https://puri.sm/wp-content/uploads/2017/02/2017-02-02-16.49.12-300x111.jpg" width="300" height="111" srcset="https://puri.sm/wp-content/uploads/2017/02/2017-02-02-16.49.12-300x111.jpg 300w, https://puri.sm/wp-content/uploads/2017/02/2017-02-02-16.49.12-768x285.jpg 768w, https://puri.sm/wp-content/uploads/2017/02/2017-02-02-16.49.12.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>After spending some time trying to figure it out and not being able to (there is no &#8220;Read Error&#8221; string or anything that could print such a string in the SeaBIOS code, so I couldn&#8217;t track down where the error came from, and there is no EHCI debug since coreboot is already done booting and the issue is from SeaBIOS), I tried booting PureOS from the USB installation drive instead, and I was able to boot into the live environment without any problems. Wow, first success! PureOS is booting with coreboot! There was much rejoicing.</p>
<p>To begin investigating the SSD issue, I used the same set of commands from the <a href="https://www.coreboot.org/Motherboard_Porting_Guide">Motherboard porting guide</a> and started comparing the results, and there were a few differences, but I&#8217;m still not sure what they mean. Here&#8217;s an example of some of the differences between the two lspci outputs (the problematic SATA controller) :</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/02/L13-M2-SATA-coreboot-lspci-diff-meld.png"><img class="alignnone size-large wp-image-14440" src="https://puri.sm/wp-content/uploads/2017/02/L13-M2-SATA-coreboot-lspci-diff-meld-1024x454.png" alt="L13 M2 SATA coreboot lspci diff meld" width="960" height="426" srcset="https://puri.sm/wp-content/uploads/2017/02/L13-M2-SATA-coreboot-lspci-diff-meld-1024x454.png 1024w, https://puri.sm/wp-content/uploads/2017/02/L13-M2-SATA-coreboot-lspci-diff-meld-300x133.png 300w, https://puri.sm/wp-content/uploads/2017/02/L13-M2-SATA-coreboot-lspci-diff-meld-768x341.png 768w, https://puri.sm/wp-content/uploads/2017/02/L13-M2-SATA-coreboot-lspci-diff-meld.png 1598w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>For reference, you can see the full lspci output <a href="https://paste.fedoraproject.org/545065/raw/">with</a> and <a href="https://paste.fedoraproject.org/545067/raw/">without</a> coreboot.</p>
<p>Even after booting into Linux, the internal SSD was not accessible, and &#8216;dmesg&#8217; was showing errors initializing the SATA controller.</p>
<p>SeaBIOS was sometimes seeing the M.2 SSD (but was never able to boot from it):</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-16.25.19.jpg"><img class="alignnone size-medium wp-image-14350" src="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-16.25.19-300x106.jpg" alt="2017-01-31--16.25.19" width="300" height="106" srcset="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-16.25.19-300x106.jpg 300w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-16.25.19-768x271.jpg 768w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-16.25.19.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Sometimes, it wouldn&#8217;t see the M.2 SSD at all:</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-17.24.38.jpg"><img class="alignnone size-medium wp-image-14349" src="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-17.24.38-300x104.jpg" alt="2017-01-31--17.24.38" width="300" height="104" srcset="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-17.24.38-300x104.jpg 300w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-17.24.38-768x265.jpg 768w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-17.24.38.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&#8230;and sometimes, it would just show garbage:</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-18.11.29.jpg"><img class="alignnone size-medium wp-image-14352" src="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-18.11.29-300x144.jpg" alt="2017-01-31--18.11.29" width="300" height="144" srcset="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-18.11.29-300x144.jpg 300w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-18.11.29-768x369.jpg 768w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-18.11.29.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>However, it had no issues detecting and booting from the USB stick, so I had an idea; I installed a 2.5&#8243; HDD into my Librem 13 and tried that. It was immediatly detected by the PureOS liveUSB. So I installed PureOS on the HDD, and rebooted. While SeaBIOS still didn&#8217;t detect the SSD, it detected the 2.5&#8243; HDD and was able to boot flawlessly with it. Still no SSD detection even with PureOS fully booted from the HDD however, and dmesg still complained about various SATA initialization issues.</p>
<p>I took the opportunity to test the wifi, video card, speakers, and everything seemed to work. I then booted into MemTest86+ and tested the RAM overnight. There were no errors after more than 17 hours of RAM testing.</p>
<p>As I booted Linux again I noticed the ME PCI device wasn&#8217;t in the lspci output, so I wondered if I somehow messed up the ME partition, therefore I left the computer running for a couple of hours to make sure it wouldn&#8217;t shut down (due to ME watchdog), then I noticed something weird: <strong>I suddenly had a /dev/sdb* set of devices.</strong> The output of &#8216;dmesg&#8217; showed that it magically was able to detect it somehow and I was now able to access the M.2 SSD.</p>
<p><img class="size-full wp-image-14337 alignnone" src="https://puri.sm/wp-content/uploads/2017/01/what-sorcery-is-this.jpg" alt="what-sorcery-is-this" width="559" height="227" srcset="https://puri.sm/wp-content/uploads/2017/01/what-sorcery-is-this.jpg 559w, https://puri.sm/wp-content/uploads/2017/01/what-sorcery-is-this-300x122.jpg 300w" sizes="(max-width: 559px) 100vw, 559px" /></p>
<p>So I did a few more tests, and it seems that after a few minutes (30 minutes to an hour), the M.2 SSD connector will suddenly start responding and Linux will be able to initialize it and detect/access the SSD. It also seems that suspending/resuming the laptop helps trigger the M.2 initialization much faster. I still have no idea why this happens. And once, it managed to initialize the SSD after only 3 seconds instead of the usual 30 minutes, as you can see in this &#8216;dmesg&#8217; output here :</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-dmesg-errors.png"><img class="alignnone size-medium wp-image-14348" src="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-dmesg-errors-300x167.png" alt="2017-01-31 dmesg errors" width="300" height="167" srcset="https://puri.sm/wp-content/uploads/2017/01/2017-01-31-dmesg-errors-300x167.png 300w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-dmesg-errors-768x428.png 768w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-dmesg-errors-1024x570.png 1024w, https://puri.sm/wp-content/uploads/2017/01/2017-01-31-dmesg-errors.png 1338w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>I have now started reading up on the PCI Configuration space in order to understand the differences in the lspci output and hopefully fix the M.2 issues. My current theory is that since the PCI subsystem ID is different when using the vendor BIOS than from using the coreboot BIOS, it&#8217;s possible that the subsystem ID somehow tells SeaBIOS/Linux that this specific SATA controller has a quirk that changes the initialization timings. This is only a wild guess for the time being, hopefully in the next few weeks I&#8217;ll understand enough about the way PCI initialization works to be able to figure out what goes wrong.</p>
<h1>Summarizing</h1>
<p>My current status is that PureOS boots and is perfectly usable, however the M.2 controller doesn&#8217;t work reliably. Also, the MEI PCI device as well as the USB EHCI device have disappeared from the &#8216;lspci&#8217; output (both USB ports are working though). The lspci output is also different for most of the other devices when compared to the original BIOS.</p>
<p>One other thing worth mentioning is that I have stopped using the IC clip already. Since I am able to boot into Linux with coreboot, I can now use flashrom to flash the BIOS directly from Linux and I&#8217;ve used it to do my BIOS updates while testing in the last few days. This is great, because not only does it speed up development, but it also confirms/tests the process that existing Librem 13 owners will go through to update their laptops to coreboot.</p>
<p>Here is the Acceptance Test Matrix that I mentioned in my previous article, which I&#8217;ve found in an old <a href="https://blogs.coreboot.org/blog/2015/09/02/2015-08-28-librem-13-weekly-bios-update/">post</a> on the coreboot blog, where I&#8217;ve stricken whatever I have had time to test and confirm as working, and made bold anything known not to work :</p>
<ol>
<li><span style="color: #339966;"><del>Cold boot: memory controller works.</del></span></li>
<li><span style="color: #339966;"><del>Cold boot: all installed DRAM is online.</del></span></li>
<li><span style="color: #339966;"><del>Cold boot: graphics controller works.</del></span></li>
<li><span style="color: #ff6600;"><strong>Cold boot: SATA controller succeeds.</strong></span></li>
<li>Cold boot: EC controller responds ok to init code.</li>
<li><span style="color: #339966;"><del>Cold boot: LCD backlight turns on.</del></span></li>
<li><span style="color: #339966;"><del>Cold boot: linux boots ok in text mode.</del></span></li>
<li><span style="color: #339966;"><del>Cold boot: linux boots ok in framebuffer (boot splash) mode.</del></span></li>
<li><span style="color: #339966;"><del>Cold boot: X initializes the LCD at full native resolution.</del></span></li>
<li><del><span style="color: #339966;">Cold boot: X enables hardware acceleration.</span></del></li>
<li>Boot time: Cold boot to grub succeeds in less than a set timeout.</li>
<li>Boot time: Reboot from linux back to linux succeeds in less than a set timeout.</li>
<li>Boot time: Power down succeeds in less than a set timeout.</li>
<li><span style="color: #339966;"><del>SeaBIOS test: keyboard works.</del></span></li>
<li><span style="color: #339966;"><del>Grub test: keyboard works.</del></span></li>
<li><span style="color: #339966;"><del>Grub test: text mode and framebuffer graphics work.</del></span></li>
<li><span style="color: #339966;"><del>Cold boot to USB linux succeeds. (We plan to use SeaBIOS for boot device selection, barring major bugs.)</del></span></li>
<li><span style="color: #339966;"><del>Reboot to USB linux succeeds.</del></span></li>
<li><span style="color: #339966;"><del>EC test: fan spins.</del></span></li>
<li><span style="color: #339966;"><del>EC test: holding power for &gt;5 seconds forces a power down.</del></span></li>
<li><span style="color: #339966;"><del>ACPI test: lid switch works.</del></span></li>
<li><del><span style="color: #339966;">ACPI test: power button event received ok.</span></del></li>
<li><del><span style="color: #339966;">ACPI test: AC power on/off event received ok.</span></del></li>
<li><del><span style="color: #339966;">ACPI+EC+battery test: battery percentage works.</span></del></li>
<li>Media keys on keyboard work in linux.</li>
<li>Device tests: internal mic, <span style="color: #339966;"><del>internal speakers,</del></span> webcam, webcam mic, <span style="color: #339966;"><del>wifi</del>,</span> bluetooth, <span style="color: #339966;"><del>hard drive</del>,</span> <strong>SSD</strong>, SD card, <span style="color: #339966;"><del>each USB port</del>,</span> headphone jack.</li>
<li>prime95 (one instance bound to each hyperthread) for a fixed time to test CPU thermal management.</li>
<li>glxgears for a fixed time to test GPU thermal management.</li>
<li>During prime95 test, CPU digital thermal sensor should give reasonable results.</li>
<li><span style="color: #339966;"><del>Linux suspend ok.</del></span></li>
<li><del><span style="color: #339966;">LCD backlight adjustable in linux.</span></del></li>
<li><span style="color: #339966;"><del>Linux kernel boot messages should not contain too many errors.</del></span> <strong>(Only the SATA errors are appearing)</strong></li>
</ol>
<p>As you can see we have at least 22 out of 32 items that are considered tested and done, which means we&#8217;re at least two-thirds there—most of the other items are probably working as well, I just hadn&#8217;t had time to test them yet.</p>
<p>I hope to have the M.2 issues fixed within the next couple of weeks, then, after making sure it is perfectly safe to flash coreboot to any Librem 13, we&#8217;ll probably release a beta image for people to test (it will come with plenty of disclaimers though!) After that, I&#8217;ll work on disabling the Intel ME (first by using the <a href="https://github.com/corna/me_cleaner">me_cleaner</a> tool, then testing if it works as expected).</p>
<p>We&#8217;ll keep you posted on the progress.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13-coreboot-report-february-3rd-2017/">Librem 13 coreboot report &#8211; February 3rd, 2017: It&#8217;s Alive!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 13 coreboot report &#8211; January 12, 2017</title>
		<link>https://puri.sm/posts/librem-13-coreboot-report-january-12-2017/</link>
		<pubDate>Thu, 12 Jan 2017 17:45:13 +0000</pubDate>
		<dc:creator><![CDATA[Youness Alaoui]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=12966</guid>
		<description><![CDATA[<p>Hello again Purists! I&#8217;ve made some progress on the coreboot port to the Librem 13 v1 hardware. You probably remember that my initial post about coreboot development was mostly about the v2 hardware and all the mistakes I made while getting familiar with BIOS development. One comment I&#8217;ve heard on the previous post is that [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13-coreboot-report-january-12-2017/">Librem 13 coreboot report &#8211; January 12, 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hello again Purists! I&#8217;ve made some progress on the coreboot port to the Librem 13 v1 hardware.<span id="more-12966"></span></p>
<p><img class="alignright size-medium wp-image-13016" src="https://puri.sm/wp-content/uploads/2017/01/logic-analyzer_and_probes-300x169.jpg" alt="logic-analyzer_and_probes" width="300" height="169" srcset="https://puri.sm/wp-content/uploads/2017/01/logic-analyzer_and_probes-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2017/01/logic-analyzer_and_probes-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2017/01/logic-analyzer_and_probes.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" />You probably remember that <a href="https://puri.sm/posts/diving-back-into-coreboot-development/" class="broken_link">my initial post</a> about coreboot development was mostly about the v2 hardware and all the mistakes I made while getting familiar with BIOS development. One comment I&#8217;ve heard on the previous post is that it was over-complicated to use a Logic Analyzer in order to do a dump of the flash. <em>Of course</em> it was over-complicated, but I did it for reasons other than just creating a dump. I did it because:</p>
<ul>
<li>I hadn&#8217;t received the sockets/other hardware I ordered.</li>
<li>It sounded like a fun thing to do while I wait. And I simply love using the Saleae Logic Analyzer, and I look for any excuse to use it!</li>
<li>The logic analyzer doesn&#8217;t <em>only</em> give me a dump, it gives me a trace of all accesses, it allows me to see &#8220;which offsets are accessed when&#8221;.</li>
<li>When I see the process of what happens exactly (which bytes are read/executed first, where does it jump, etc.), it helps me better understand the boot process.</li>
<li>It lets me see which areas of the flash are ignored/not accessed. That also allows me to see which areas/partitions of the ME region are not protected by a signature (if the reads are not all sequential).</li>
<li>If I see the ME code being read in its entirety twice, it might mean that there is a <a href="https://en.wikipedia.org/wiki/Time_of_check_to_time_of_use">ToCToU</a> exploit that can be used there (signature is checked during the first read, then the ME code is loaded into memory).</li>
</ul>
<p>So yeah, it might have been overkill, but it was interesting to do, that&#8217;s why I did it.</p>
<h1>Dumping the Librem 13 v1 BIOS from software</h1>
<p>At the end of my previous post, I explained that I had finally found a Librem 13 v1 that I could use. Given how it took us 3 weeks to finally manage to get one, I don&#8217;t want to be making the same mistakes this time around and bricking a very hard-to-replace laptop. Therefore, I decided against soldering a socket on the motherboard this time, or to be more precise, I decided to only solder the socket <em>after/if</em> I brick the laptop (once it becomes necessary). So my first task was to try, by any means necessary, to dump the flash contents using software only. Of course, I still did my logic analyzer trace, just for fun 🙂</p>
<p>I found the flash chip to be an 8MB MX25L6406E chip, and the vendor BIOS was from American Megatrends (AMI). <img class="alignright size-full wp-image-13345" src="https://puri.sm/wp-content/uploads/2017/01/AptioV-screenshot.png" alt="aptiov-screenshot" width="627" height="417" srcset="https://puri.sm/wp-content/uploads/2017/01/AptioV-screenshot.png 627w, https://puri.sm/wp-content/uploads/2017/01/AptioV-screenshot-300x200.png 300w" sizes="(max-width: 627px) 100vw, 627px" />Since I knew that flashrom wouldn&#8217;t work on laptops (more on that later), the first thing I tried was to find the flashing tool from the <a href="https://ami.com/products/bios-uefi-firmware/">AMI utilities</a>. I didn&#8217;t know what kind of BIOS I had, but looking at the screenshot from the <a href="https://ami.com/products/bios-uefi-firmware/aptio-v/">Aptio-V</a> page, it was clear that it wasn&#8217;t Aptio-V, so I had the choice between AMIBIOS or Aptio-4&#8230; so I first tried the one for AMIBIOS, I created a bootable DOS USB stick and copied AFUDOS to it&#8230; but it failed, then I tried the tool for Aptio-4, it failed, but it gave me an error message that said I need to use the tool for Aptio-5, so I finally downloaded the AFUDOS utility for the Aptio-V BIOS and that one worked (facepalm!). So I dumped my BIOS, success! Hmm, it&#8217;s only a 6MB file, weird&#8230;</p>
<p>Now, I figured that &#8220;It&#8217;s nice and all, but I need to be able to do it from a GNU/Linux platform&#8221;, because Librem users will be using PureOS so they&#8217;d need a way to dump/flash their BIOS from there. Thankfully, I found that AMI also has a tool called &#8220;AFULNX&#8221; for GNU/Linux, but for some reason it&#8217;s not available for download. I eventually found a link to it, which I can&#8217;t seem to find again now, but I also found this great <a href="http://hargrave.info/articles/afulnx.html">article</a> by Roman Hargrave that explained just how &#8220;awesome&#8221; (emphasis: sarcasm) AFULNX is. To make a long story short, the AFULNX tool will extract the source for a kernel module and try to build it, which will always fail because they are missing an include, then it deletes those source files, so I&#8217;d have to be quick enough to suspend the process before it deletes the files, then make a copy and fix the code so it compiles, then I need that kernel module file to be renamed (otherwise on the next execution it deletes it and retries).</p>
<p>Anyway, I managed to run AFULNX and dump my kernel. It&#8217;s another 6MB binary, which is weird because I know from the spec of the chipset, that the flash is supposed to be 8MB. So I compare the BIOS I dumped with the one that was dumped with the Logic Analyzer… Surprise, surprise, they are completely different. After a little investigating, I realize they are not so different, but the BIOS dumped by AFULNX is actually the last 6MB of the flash, while the first 2MB were completely skipped. Comparing the images from the v1 and v2 BIOS images, and also looking at the LA trace, I could see that the first thing being read is the offset 0x10, which contains the magic number 0x5aa5f00f in both images, so I figured that the flash has some sort of &#8220;filesystem&#8221; which itself contains the BIOS file, and that the AFULNX binary only dumps that BIOS file without the filesystem itself. This meant that my dump was useless in the case of a bricked laptop. I needed a full flash image, otherwise I couldn&#8217;t recover.</p>
<p>I then started investigating what this &#8220;filesystem&#8221; is, and I can&#8217;t say that I found a lot of documentation! Thankfully, I know the magic number of 0x5aa5f00f and that helped me find some stuff about it such as a patch on flashrom talking about supporting &#8220;<a href="https://www.flashrom.org/pipermail/flashrom/2013-June/011083.html">ROM layout from IFD</a>&#8220;, then, I found the magic number in the ichdesc.py from the tool called <a href="https://github.com/fesh0r/romdump">romdump</a> which seems to be used to split the raw flash into multiple parts (one of which is the 6MB BIOS file from AFULNX), the file calls it the &#8220;ICH flash descriptor&#8221;… which led me to something called &#8220;<a href="https://libreboot.org/docs/hcl/gm45_remove_me.html#ich9gen">ich9gen</a>&#8221; that is used to generate that structure (so, is it an ICH9 or an IFD format?). Obviously ICH is a reference to the Intel Controller Hub, which I assume is the one parsing that flash structure (but then why does the <a href="https://www.coreboot.org/Developer_Manual#Hardware_Overview">coreboot developer manual</a> say that the CPU just loads the top most 16 bytes from the flash? That&#8217;s clearly not the case since there is an actual structure to the BIOS and the ICH is the one parsing it prior to the BIOS getting executed). Anyway, I eventually figured out that it&#8217;s called (in coreboot speak) a &#8220;descriptor&#8221; which is used to define &#8220;regions&#8221; in the flash, one of those regions is the Intel ME firmware, another one is the GbE (Gigabit Ethernet) configuration data, which is used to configure the Intel integrated GbE device (it contains the MAC address for example), as well as the BIOS region which contains the actual UEFI BIOS.</p>
<p>So… at that point I still haven&#8217;t managed to do a proper full flash dump using a software method, but at least, I have good BIOS dumps from AFULNX and AFUDOS, right? I then decide to use romdump to extract the BIOS from my logic-analyzer dump, and compare the BIOS dump from AFULNX with the one from the Logic Analyzer, to see what kind of corruption I got from the logic analyzer… and when comparing the two, I realize that the BIOS dumped from AFULNX <em>is</em> the one that is corrupted!</p>
<p><img class="alignnone size-full wp-image-12703" src="https://puri.sm/wp-content/uploads/2016/12/facepalm.jpg" alt="facepalm" width="485" height="364" srcset="https://puri.sm/wp-content/uploads/2016/12/facepalm.jpg 485w, https://puri.sm/wp-content/uploads/2016/12/facepalm-300x225.jpg 300w" sizes="(max-width: 485px) 100vw, 485px" /></p>
<p>In the AFULNX BIOS dump, there were some huge chunks that were all &#8220;0xffffffff&#8221; but were filled with data in the logic analyzer BIOS dump. Also, There were some differences in some bytes which, when I looked at the full LA trace, I saw those bytes being read about 20 times with the exact same data being returned each time (confirming the data to be valid) and yet, the one from AFULNX was different…</p>
<p>So I compared the AFULNX dump with the bios dump from AFUDOS, and… <strong>the files were different!</strong> The two BIOS dumps from AFULNX and AFUDOS were not only very different from the logic analyzer dump, they were also highly different from each other, confirming that they were <strong>both</strong> corrupted. That just makes everything <em>worse…</em> Why would a software-based dump of the BIOS result in corrupted data? And that&#8217;s using the official tool!</p>
<p><img class="alignnone size-full wp-image-13267" src="https://puri.sm/wp-content/uploads/2017/01/double-facepalm.jpg" alt="double-facepalm" width="510" height="364" srcset="https://puri.sm/wp-content/uploads/2017/01/double-facepalm.jpg 510w, https://puri.sm/wp-content/uploads/2017/01/double-facepalm-300x214.jpg 300w" sizes="(max-width: 510px) 100vw, 510px" /></p>
<p>If the data is corrupted, how can I trust it? Most importantly how can I write to the BIOS if writing might cause it to be corrupted (i.e.: &#8220;is coreboot failing or is the image that was written to the flash wrong&#8221;)? Since AFULNX is not open-source, I was hoping to eventually reverse engineer AFULNX itself, to figure out what it does and port those &#8220;exceptions&#8221; (if there are any) to flashrom to make it support the Librem 13 hardware. That would allow the users to dump and write their flash with the coreboot BIOS using the free/libre and open source flashrom tool, but if that data can&#8217;t be trusted, it&#8217;s unacceptable. I need to find a way to do a proper and reliable dump of the flash.</p>
<h1>Interlude: building coreboot</h1>
<p>While I was thinking on how to do the dump, I decided to move to something else: building coreboot for the Librem (I had previously built coreboot for qemu, following the instructions on <a href="https://www.coreboot.org/Lesson1">the wiki</a>, but that&#8217;s not very helpful for the Librem 13). So I configured coreboot with &#8216;make menuconfig&#8217;, set the mainboard to the Librem 13, and ran &#8216;make&#8217;. Of course, it failed for some magical reason that I can&#8217;t remember right now, but after wrestling a bit with it I eventually realized that I was missing the BLOBs in the 3rdparty/blobs directory, and without it, I couldn&#8217;t build it. So I tried to disable the blobs from the config, but it still complained. I couldn&#8217;t find information on where to find those blobs that it needed, and I was a bit lost in all of that, to be honest. The only information I found was about the <a href="https://www.coreboot.org/Binary_situation">binary situation</a> of coreboot but not on how and where to find the binary blobs, what filename to give to the files, in which directory to put them, etc. I&#8217;m going to skip ahead now and spare you the details of long nights crying and wondering <em>&#8220;What am I doing wrong?&#8221;</em> and just tell you that the coreboot project has a separate <a href="https://review.coreboot.org/#/admin/projects/blobs">repository for binary blobs</a> which needs to be cloned into the &#8216;3rdparty/&#8217; directory (replacing the empty &#8216;blobs&#8217; directory in it). Also, even if you ask for a fake IFD in the config, removing the need for the descriptor.bin and me.bin binaries, it will <em>still</em> look for the microcode blobs, which is a separate config option (which was causing things to fail for me).</p>
<p>So, the good news is, the CPU microcode blobs are in that blobs repository… but the descriptor.bin and me.bin binaries are not, and those will have to be created/copied manually; they come from my own flash dump and can be extracted using the tool &#8216;utils/ifdtool&#8217; from my full raw BIOS dump. <em>Great,</em> I don&#8217;t have that!</p>
<h1>Back to the dump!</h1>
<p><img class="size-full wp-image-13268 alignright" src="https://puri.sm/wp-content/uploads/2017/01/IC-test-clip.jpg" alt="ic-test-clip" width="600" height="600" srcset="https://puri.sm/wp-content/uploads/2017/01/IC-test-clip.jpg 600w, https://puri.sm/wp-content/uploads/2017/01/IC-test-clip-150x150.jpg 150w, https://puri.sm/wp-content/uploads/2017/01/IC-test-clip-300x300.jpg 300w, https://puri.sm/wp-content/uploads/2017/01/IC-test-clip-180x180.jpg 180w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p>Time to try some alternative methods. In the previous blog post, I spoke about the possibility of using an <a href="https://www.sparkfun.com/products/13153">IC test clip</a> (actually, about using the Logic Analyzer&#8217;s test clips) and an external power supply to power the flash chip, but I considered that to be a dangerous thing to do (based on some post I read on the flashrom mailing list). It turns out that while I was afraid of doing that, it&#8217;s really not <em>that</em> dangerous and it is actually <em>the</em> preferred method of doing things.</p>
<ul>
<li>I apparently got &#8216;tricked&#8217; into using the socket method simply because I stumbled onto <a href="https://www.coreboot.org/Soldering_a_socket_on_your_board">this page</a> in the coreboot wiki and thought that&#8217;s what I needed to do.</li>
<li>Last week, <a href="https://puri.sm/about/team/">Zlatan</a> was at the <a href="https://en.wikipedia.org/wiki/Chaos_Communication_Congress">CCC</a> and participated in the coreboot install session, where he got someone from coreboot to dump his flash, compile coreboot and flash it on his Librem 13. It didn&#8217;t work, but it was a helpful event because I realized, &#8220;If coreboot developers are using the IC test clip and it&#8217;s safe, then I probably also should&#8221;, so I researched that further and found posts/wiki pages that confirm it to be a good method to use, then I ordered one, received it overnight, and started playing around with doing a dump of the flash using hardware—but without soldering!</li>
</ul>
<p>With the IC test clip on hand, I started looking for docs about that tool and saw a lot of wiki pages explaining how to do it. Most of them said to use an ATX Power supply to supply the 3.3V to the chip, and to always connect the power line last. So my first try was to connect the IC clip (so easy to use! Wonderful.) to my breadboard with the same FTDI <a href="http://www.digikey.ca/product-detail/en/UM232H/768-1103-ND/2614628?WT.mc_id=IQ_7604_G_pla2614628&amp;wt.srch=1&amp;wt.medium=cpc&amp;WT.srch=1&amp;mkwid=s&amp;pcrid=102742927745&amp;pkw=&amp;pmt=&amp;pdv=c">UM232H</a> as before, then disconnect the battery from the laptop, then connect the power line. The LED on the FTDI suddenly dimmed (it is powering much more than just the flash chip), and my PC was suddenly unable to access the FTDI chip. It still recognizes it but it complains about being unable to reset it. So I brought out a second FTDI chip, and used the first one for all the data/signal lines, and the second one for the power line only (and I did connect the ground from both FTDI chips together), but it was failing, it just couldn&#8217;t recognize the flash. I eventually realized that the problem was that flashrom was trying to read from the wrong FTDI (since I had two connected to my PC), so once I specified the right serial number to use, it was still failing, this time with &#8220;unable to read serial from device&#8221;. I suppose that second FTDI was simply draining my laptop&#8217;s USB power or something, I&#8217;m not sure exactly what the issue was, but I decided to just go grab myself an ATX power supply and use that instead. After I shorted the PS_ON pin on the power supply to get it to turn on, and made sure the orange wires are for the 3.3V power rail, I connected it all and tried again, it still failed! But at least, I was getting a response. I was getting this response from the chip :</p>
<pre>RDID returned 0xe1 0x10 0x0b. RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0xe1, id2 0x100b</pre>
<p>But once I checked the datasheet for the MX25L6406E chip, it said that the RDID response (the manufacturer/device ID) should be 0xc2 0x20 0x17, and I noticed that 0xe1 is 1 bit shifted from 0xc2, so I figured that the FTDI must be too fast for the flash chip (even though FTDI was running at 30MHz, and the flash datasheet says it supports a clock of 86MHz—maybe only for reads?). I decided to try lowering the clock, so I changed the clock to 15MHz and it worked! So yay, finally, I was able to dump the flash. I did five dumps, and they all had the exact same checksum, that meant that there was no corruption in any of the dumps. Now I can get back to work!</p>
<p>For the curious, here is the command I used to dump the flash:</p>
<pre>../flashrom/flashrom -p ft2232_spi:type=232H,serial=FTVDZ6J5,divisor=4 -c "MX25L6406E/MX25L6408E" -V -r v1.rom</pre>
<p>I was then able to use the idftool to split the rom image into the 3 regions it contained (the descriptor, the ME and the BIOS regions). It didn&#8217;t contain a GbE region because the Librem does not use the Intel network card. I put the right files in the right directories and coreboot finally compiled!</p>
<h2>A good scare</h2>
<p>Now, before I test out coreboot, I decided to go grab all the information I can on my hardware, so that if something happens, at least, I would have that. so I went to the <a href="https://www.coreboot.org/Motherboard_Porting_Guide">Motherboard Porting Guide</a> on coreboot.org, read it, installed all the dependencies, then after quickly looking at the commands that I&#8217;m told to copy-paste (just some lspci, lsusb, etc.), I proceeded to paste this block of commands in my terminal in order to gather all the logs that I would need :</p>
<pre> lspci -nnvvvxxxx &gt; lspci.log 2&gt;lspci.err.log
 lsusb -vvv &gt; lsusb.log 2&gt;lsusb.err.log
 superiotool -deV &gt; superiotool.log 2&gt; superiotool.err.log
 inteltool -a &gt; inteltool.log 2&gt; inteltool.err.log
 ectool -i &gt; ectool.log 2&gt;ectool.err.log
 msrtool &gt; msrtool.log 2&gt;msrtool.err.log
 dmidecode &gt; dmidecode.log 2&gt;dmidecode.err.log
 biosdecode &gt; biosdecode.log 2&gt;biosdecode.err.log
 nvramtool -x &gt; nvramtool.log 2&gt;nvramtool.err.log
 dmesg &gt; dmesg.log 2&gt;dmesg.err.log
 flashrom -V -p internal:laptop=force_I_want_a_brick &gt; flashrom_info.log 2&gt;flashrom_info.err.log
 flashrom -V -p internal:laptop=force_I_want_a_brick -r rom.bin &gt; flashrom_read.log 2&gt;flashrom_read.err.log
 acpidump &gt; acpidump.log 2&gt;acpidump.err.log
 for x in /sys/class/sound/card0/hw*; do cat "$x/init_pin_configs" &gt; pin_"$(basename "$x")"; done
 for x in /proc/asound/card0/codec#*; do cat "$x" &gt; "$(basename "$x")"; done
 cat /proc/cpuinfo &gt; cpuinfo.log 2&gt;cpuinfo.err.log
 cat /proc/ioports &gt; ioports.log 2&gt;ioports.err.log
 cat /sys/class/input/input*/id/bustype &gt; input_bustypes.log</pre>
<p>And only <em>after</em> I pasted it, I saw the next line in the wiki (below the block of commands) that says, &#8220;Save all logs in safe place, and also rom.bin file.&#8221;, and noticed that flashrom is used in there too, but since I knew flashrom typically doesn&#8217;t work on <a href="https://www.flashrom.org/Laptops">laptops</a> (as explained in my last blog post) I assumed that command probably just didn&#8217;t work and there would be no rom.bin&#8230; until I saw the option given to flashrom: <em>laptop=force_i_want_a_brick </em>…</p>
<p><img class="alignnone size-full wp-image-13343" src="https://puri.sm/wp-content/uploads/2017/01/Massimo.jpg" alt="massimo" width="800" height="529" srcset="https://puri.sm/wp-content/uploads/2017/01/Massimo.jpg 800w, https://puri.sm/wp-content/uploads/2017/01/Massimo-300x198.jpg 300w, https://puri.sm/wp-content/uploads/2017/01/Massimo-768x508.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p>I was half horrified, half amused—this seemed like a ridiculously dangerous thing to put in a long &#8220;to be copy/pasted&#8221; block of seemingly harmless commands. &#8220;Those options shouldn&#8217;t be part of a script, they should be set consciously by the user after a big warning!&#8221;, I thought. I later discussed this on IRC with the coreboot developers; while most agree that the risk is minimal and it is fairly safe, it was also agreed upon that the option shouldn&#8217;t be there in the wiki because of the risk to the user. So that will change soon (if not by a coreboot dev, then I will edit the wiki to add clear warnings).</p>
<p>Thankfully, the resulting &#8220;rom.bin&#8221; had the full 8MB BIOS dump in my case, and it was all correct (I later compared it with my dump made with the IC clip, and it was almost identical, small differences must be due to the ME constantly writing data to the flash and thus changing some bytes). And so it seems I can indeed dump the flash from software only. Whew!</p>
<p>After some research and discussion on IRC, it turns out that the big problem with flashrom and laptops is the EC (The Embedded Controller), which handles battery charging, the power on/off events,etc..) : if the EC is reading the flash, then you can get some conflicts. Sometimes the EC will appear as a fake flash to the PCH and act as a proxy, but either way, the real problem is just the conflict between EC and PCH trying to access the flash, and <strong>it happens to be safe on the Librem 13 because the EC is using a seperate flash chip instead</strong>. An old <a href="https://puri.sm/posts/2015-08-21-librem-13-weekly-progress-update/">blog post</a> from 2015 on the Purism blog confirms that. So, no more need for AFULNX (or reverse engineering what it does to bypass the EC): we can certainly use flashrom to dump and write the coreboot update to the Librem 13 laptops.</p>
<h2>Finding Nemo and Dory: the MRC and the VBIOS</h2>
<p>I then used my IC clip setup to write the coreboot image into the flash, and turned on the laptop. The laptop stayed on, but the screen remained black. I asked around on the coreboot IRC channel to get some pointers. After posting my config file, I was told that I am missing 2 important items: the mrc.bin binary blob, and the VBIOS (Video/VGA BIOS); without a VBIOS there would be no graphics support, and without mrc.bin there would be no RAM. So I started searching for this &#8220;mrc.bin&#8221;, and found very <a href="https://www.google.ca/webhp?sourceid=chrome-instant&amp;ion=1&amp;espv=2&amp;ie=UTF-8#q=coreboot+mrc.bin">little</a> <a href="https://www.coreboot.org/index.php?search=MRC&amp;title=Special%3ASearch&amp;go=Go">information</a> on what is &#8220;MRC&#8221;, what it is for and where I can get it. Thankfully, the folks on IRC were very nice and helped me figure things out.</p>
<p><strong>The MRC blob</strong> does the <a href="https://www.coreboot.org/Developer_Manual/RAM_init">RAM initialization</a>, and it is necessary for the Broadwell architecture to use MRC.bin because there is no native memory init support in coreboot for Haswell/Broadwell chips, unlike <a href="https://www.coreboot.org/Intel_Native_Raminit">older Intel chips</a>. From my understand, it&#8217;s in some kind of Google-specific format or that Google is the one creating those mrc.bin binary blobs, and apparently, it can&#8217;t be redistributed, but I&#8217;m not sure… So I have 3 options, either use the provided MRC.bin from a chromebook&#8217;s (with similar chipset) coreboot but not be able to redistribute it (users would have to extract it from the chromebook bios image themselves), or I could use the Intel FSP, but support in coreboot is incomplete, so I&#8217;d have to add the support for it somehow, or reverse engineer the memory initialization and re-implement that in coreboot natively. I think reverse engineering it may be the best thing for the future, but for now all I want is to get this running as fast as possible, so I&#8217;ll go with the MRC solution for now.</p>
<ul>
<li>In any case, I couldn&#8217;t just download the mrc.bin file from somewhere, and it was not in coreboot&#8217;s blobs repository either. It&#8217;s apparently the same blob as the one used in the Google Chromebook Samus which uses a similar Broadwell chipset, all I needed to do was to run the &#8216;./utils/chromebook/crosfirmware.sh samus&#8217; command which would download the chromebook recovery image for the Samus device, and extract the BIOS from it. Then I could use cbfstool to extract the mrc.bin binary from it as explained in this <a href="https://patchwork.ozlabs.org/patch/596597/">commit </a>(see additions to the README file). Unfortunately, cbfstool would refuse to extract/print the BIOS because it couldn&#8217;t detect it as being a coreboot BIOS. Thankfully, someone on IRC (coolstar) quickly told me to use &#8216;-r BOOT_STUB&#8217; option which fixes things. Once I did that, I got the mrc.bin file.</li>
<li>Then I was told I would also need the refcode&#8230; &#8220;What is the refcode?&#8221; Well, they didn&#8217;t know, and it doesn&#8217;t seem to be clear either from the coreboot config help page, as it only says it&#8217;s an &#8220;external reference code to be put in cbfs&#8221; (by the way, cbfs is the coreboot filesystem which contains all the coreboot code and blobs, etc..). Eventually, I found some <a href="http://lists.denx.de/pipermail/u-boot/2016-March/248052.html">email</a> on the U-boot mailing list saying that the Broadwell chipsets need an additional reference code to be executed in order to initialize the PCH. So I extracted the refcode binary blob as well and added it to coreboot.</li>
</ul>
<p><strong>The VBIOS</strong>, on the other hand, was the easy part. I followed the instructions from the <a href="https://www.coreboot.org/VGA_support">coreboot wiki</a>, I tried the bios_extract method, but it couldn&#8217;t recognize my BIOS as being an AMI BIOS, so I looked in the bios_extract source code, and figured out how it detects the BIOS vendor (it looks for specific strings in it), and I realized that my BIOS didn&#8217;t fit (it didn&#8217;t have anything close to those strings at all) and it wasn&#8217;t a simple bug to fix it and make it work… so I figured, maybe it&#8217;s considered a &#8220;UEFI&#8221; bios, so I followed the &#8220;UEFI method&#8221; which uses the UEFITool, so I installed it, ran it, gave it my vendor BIOS, and it recognized it as a UEFI bios and showed me a tree of &#8220;lots of stuff&#8221;:</p>
<p><a href="https://puri.sm/wp-content/uploads/2017/01/UEFITool.png"><img class="alignnone size-large wp-image-13382" src="https://puri.sm/wp-content/uploads/2017/01/UEFITool-1024x533.png" alt="UEFITool" width="960" height="500" srcset="https://puri.sm/wp-content/uploads/2017/01/UEFITool-1024x533.png 1024w, https://puri.sm/wp-content/uploads/2017/01/UEFITool-300x156.png 300w, https://puri.sm/wp-content/uploads/2017/01/UEFITool-768x400.png 768w, https://puri.sm/wp-content/uploads/2017/01/UEFITool.png 1600w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>To find the VBIOS, the wiki says to:</p>
<blockquote><p>* Look for the &#8220;CSMCORE&#8221; DXE Driver ? usually having the hash &#8216;a062cf1f-8473-4aa3-8793-600bc4ffe9a8&#8217;?<br />
* Search for text &#8220;VGA Compatible BIOS&#8221; (<b>uncheck unicode</b>)<br />
* Search for text &#8220;PCIR&#8221; (<b>uncheck unicode</b>)</p></blockquote>
<p>And so, I did, I found the DXE Driver called &#8220;CSM DXE&#8221; with the correct hash. I thought that I would then open that item and search for &#8220;VGA Compatible BIOS&#8221; in it, but nope, when I did the search, it gave me a completely different module, and when I searched for &#8220;PCIR&#8221; it gave me a bunch of different modules which matched… and I had no idea what to chose. I made my choice on the single result from &#8220;VGA Compatible BIOS&#8221; and extracted that one. I tried it and it didn&#8217;t work, so I wasn&#8217;t sure if it was right, but it <em>felt</em> right. Eventually, I put back my original vendor BIOS on the flash, booted the Librem 13 into PureOs, and used the &#8220;extraction from mapped memory&#8221; method to grab the VBIOS directly from GNU/Linux. As I compared it, it was identical to the vbios.bin that I extracted from UEFITool, so I at least knew that I had the right file.</p>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 2px;" />
<h1>Next steps</h1>
<p><img class="alignright wp-image-12704" src="https://puri.sm/wp-content/uploads/2016/12/Navy_Diver-680x1024.jpg" alt="Going deep." width="384" height="578" srcset="https://puri.sm/wp-content/uploads/2016/12/Navy_Diver-680x1024.jpg 680w, https://puri.sm/wp-content/uploads/2016/12/Navy_Diver-199x300.jpg 199w, https://puri.sm/wp-content/uploads/2016/12/Navy_Diver-768x1157.jpg 768w, https://puri.sm/wp-content/uploads/2016/12/Navy_Diver.jpg 996w" sizes="(max-width: 384px) 100vw, 384px" />I now have coreboot with the proper descriptor, ME regions, VBIOS, MRC.bin (and refcode), but I don&#8217;t know yet why it still doesn&#8217;t boot. The next step for me will be to see how I can debug it. There are some ways to debug coreboot but I haven&#8217;t looked at them yet. There&#8217;s an <a href="https://blogs.coreboot.org/blog/2015/08/14/2015-08-14-librem-13-weekly-progress-update/">old blog post</a> about debugging coreboot on the Librem 13, but I&#8217;m not sure I&#8217;m in the mood to be soldering on the LPC lines (and where are they?), but Zlatan in the CCC coreboot session said that the coreboot developer was able to debug that it had stopped at the vga init stage for him (they didn&#8217;t have the VBIOS, I think), so there is obviously going to be a way to do that, and I doubt they soldered on the LPC lines in the middle of a conference. I think it&#8217;s safe to assume that I could use a beaglebone black (which I have already) and use the <a href="https://www.coreboot.org/EHCI_Debug_Port">EHCI debug port</a> to capture debug information. That will be my challenge for next week and once I achieve that, I will be able to debug what happens and hopefully figure out what went wrong and fix coreboot so it can boot the Librem 13!</p>
<p>Now, there are still some questions that I needed to know.</p>
<ul>
<li>For example, assuming I get coreboot to work on my Librem 13, how can I know that it&#8217;s doing it&#8217;s job? I need a checklist of what coreboot is supposed to be doing and a way to check if it does it correctly. Thankfully, I found <a href="https://blogs.coreboot.org/blog/2015/09/02/2015-08-28-librem-13-weekly-bios-update/">this old article</a> that lists a checklist of 32 items for the Librem 13 coreboot port to be considered done.</li>
<li>I also wanted to know what are the risks to the motherboard if I have a wrong configuration in coreboot, are there components that could get fried? I got the answer today from IRC (thank you agra, avph, felix_, icon, for all the help), and the answer is that it&#8217;s &#8220;highly unlikely&#8221; that I could damage the board, although it <em>is</em> possible, such as supplying a too high voltage to the memory controller. Most boards are safe however, as the voltage regulator would not allow such things, but some motherboards might not be as safe as others, so I&#8217;d need to check the voltage regulators on my board to see what kind of values they allow.</li>
</ul>
<p>So, now, I feel much more at ease with everything. My knowledge is of course still quite incomplete, but I don&#8217;t feel as blind as I felt last month, and I have a clear path towards what I need to be doing. Hopefully, I can find out easily how to enable debugging next week, figure out where everything went wrong, fix it, and &#8220;Tada! coreboot works!&#8221; But yeah, it&#8217;s probably going to be a little more complicated than that 😉</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13-coreboot-report-january-12-2017/">Librem 13 coreboot report &#8211; January 12, 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Warrant Canary Updated January 1st 2017</title>
		<link>https://puri.sm/posts/purism-warrant-canary-updated-january-1st-2017/</link>
		<pubDate>Sun, 01 Jan 2017 16:00:55 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=12901</guid>
		<description><![CDATA[<p>Happy GNU year! Before (or on) the first day of each quarter, Purism, following the general rules of warrant canaries, will update its own Warrant Canary page if none of the listed items occurs. Warrant Canary, January 1st 2017 We have not placed any backdoors into our software or hardware, and we have not complied [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-january-1st-2017/">Purism Warrant Canary Updated January 1st 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Happy GNU year!</p>
<p>Before (or on) the first day of each quarter, Purism, following the general rules of <a href="https://en.wikipedia.org/wiki/Warrant_canary">warrant canaries</a>, will update its own <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> if none of the listed items occurs.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1005" src="https://puri.sm/wp-content/uploads/2015/05/warrant-canary-64x70px.png" alt="warrant-canary-64x70px" width="64" height="70" /></p>
<h1 style="text-align: center;">Warrant Canary, January 1st 2017</h1>
<ol>
<li>We have not placed any backdoors into our software or hardware, and we have not complied with any requests to do so.</li>
<li>We have not received, nor complied with any National Security Letters or FISA court orders.</li>
<li>We have not been subject to any gag order by a FISA court.</li>
</ol>
<p>The next statement will be published on the first day of each quarter (January 1st, April 1st, July 1st, October 1st). Please refer to the <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> for details and digital signatures.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-january-1st-2017/">Purism Warrant Canary Updated January 1st 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Bits about PureOS</title>
		<link>https://puri.sm/posts/bits-about-pureos/</link>
		<pubDate>Fri, 23 Dec 2016 22:56:25 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=12621</guid>
		<description><![CDATA[<p>There are were some questions floating around our community regarding PureOS compared to other distros, and I feel it is time to address them all in one go. PureOS compared to other distros Do PureOS and Tails have the same goals? Yes and no. We both want to make secure, private and anonymous OSes but [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/bits-about-pureos/">Bits about PureOS</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>There are were some questions floating around our community regarding PureOS compared to other distros, and I feel it is time to address them all in one go.</p>
<h1>PureOS compared to other distros</h1>
<h2>Do PureOS and Tails have the same goals?</h2>
<p>Yes and no. We both want to make secure, private and anonymous OSes but we approach the problem differently:</p>
<ul>
<li>Tails has longer development cycles.</li>
<li>Tails is more focused on pure anonymity, privacy and security, not tailoring towards average end-users (by &#8220;average&#8221; we mean &#8220;average computer user&#8221; and not &#8220;average GNU/Linux user&#8221;). While Tails is not as complicated to use as Qubes, there still is very little attention paid to <a href="https://en.wikipedia.org/wiki/User_experience">user experience</a>.</li>
<li>Tails is a system that you don&#8217;t install onto a hard drive (last time I talked to Tails developers, they said they were writing code that even prevents you from installing it onto the hard drive).</li>
</ul>
<p>On other hand, PureOS comes preinstalled on Purism&#8217;s devices and takes all security/privacy/anonymity aspect tailored towards a broader set of end-users.</p>
<ul>
<li>PureOS will not take security measures that would, for example, make 99% of the web browsing experience almost impossible (Tails also doesn&#8217;t do this, but this mention is just an example to reflect our philosophy).</li>
<li>PureOS aims to be easy to switch from Windows/Mac as well for any other OS, while increasing security and privacy in great amounts compared to the two most popular desktop OSes.</li>
<li>PureOS doesn&#8217;t require any account, doesn&#8217;t send any feedback/telemetry to Purism (or any other company) and doesn&#8217;t spam with add-ons.</li>
<li>The combination is therefore meant to be easy to use (and pleasant to the eye) while being a very big step forwards in terms of freedom, privacy, security and anonymity.</li>
</ul>
<p>SubgraphOS is an example of an OS that is more aligned with PureOS&#8217; ideas.</p>
<h2>What are the differences between Debian and PureOS?</h2>
<p>Hopefully I don&#8217;t need to explain the long standing giant Debian. PureOS will tend to have least possible amount of deltas compared to Debian and it will try to forward upstream (and to Debian) all changes we make that make sense for wider community (Matthias and myself are also Debian Developers and we understand the importance of this). Said that, we have some differences: <strong>PureOS hosts only Free software</strong> &#8211; while Debian is officially only main, it does host and allows an option of having non-free software. PureOS will have more frequent changes and for now it will not have an real stable release in Debian sense (we consider PureOS stable for everyday usage as most of users experience the same with Debian Testing). <strong>PureOS already defaults to Wayland</strong> as default while Debian will still stay with X for at least one release. For final PureOS 3.0 release, the plan is also to switch from Debian Installer to <strong>Calamares</strong> and also PureOS will have kernel with <strong>grsecurity</strong> enabled (and of course our own configuration).</p>
<h2>What package formats is PureOS going to use?</h2>
<p>PureOS is based on Debian and thus we use the famous <strong>deb</strong> format for core system packages. Besides that, our plan is to have <a href="http://flatpak.org/">Flatpak</a> as a convenient and secure complement to deb packages in the future. Flatpak is pretty advanced, is gaining momentum among application makers, and has a lively community.</p>
<h1>Where are PureOS sources (to code)?</h1>
<p>They are at <strong>repo.wp.puri.sm/pureos/pool/main </strong>but the easiest way to get any code is to just do:</p>
<pre>apt source &lt;packagename&gt;</pre>
<h1>How to upgrade to the latest stable version?</h1>
<p>PureOS is in essence a <a href="https://en.wikipedia.org/wiki/Rolling_release">rolling release</a> and if you keep it up-to-date you&#8217;re already at the latest version. We release point releases (like now with the upcoming PureOS 3.0) to have better testing of features as well as having an image for our OEM ISO. There is no need to download every ISO we release if you update frequently, but it helps us with testing.</p>
<h1>Why can&#8217;t I search apps in GNOME Software and why doesn&#8217;t installation work for some packages?</h1>
<p>GNOME Software requires Appstream metadata to work properly, and we are in the process of implementing that machine. It will soon be ready, probably by our next &#8220;beta&#8221; release of PureOS 3.</p>
<p>The installation issue comes out because of migrations issues. Short explanation: our packages get synced from Debian into our archive called &#8220;landing&#8221;, there from landing they migrate to &#8220;green&#8221; which is what you have in your sources.list. So we basically have an additional testing step during this migration, but as those parts are new in our archive they sometimes might get broken. We are improving this daily so bear in mind that all can be resolved in your next update.</p>
<h1>Why does PureOS default to GNOME?</h1>
<p>We consider <a href="https://gnome.org/">GNOME</a> the most technically advanced and polished Desktop Environment out there. It also has the best support for Wayland and touchscreen devices, which is important for PureOS&#8217; path. Those who need more features or a different look &amp; feel can either go to <a href="https://extensions.gnome.org/">extensions.gnome.org</a> or install any other DE they need (you&#8217;re always just an &#8220;apt install&#8221; away from anything you want).</p>
<h1>How can I contribute?</h1>
<p>Talking about PureOS, sharing to your and wider community, sending bug reports, code, art and coffee to developers, all helps.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/bits-about-pureos/">Bits about PureOS</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Growing to Ship from Inventory in 2017</title>
		<link>https://puri.sm/posts/growing-to-ship-from-inventory-in-2017/</link>
		<pubDate>Thu, 15 Dec 2016 21:45:25 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Tablets]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=12197</guid>
		<description><![CDATA[<p>Thank you all for supporting Purism, with ordering hardware, donations, volunteering, downloading PureOS, using our products, and of course the kind words. We are excited to finally approach the transition from &#8220;build-to-order&#8221; (where users have tended to wait months for Librem products) to shipping from inventory, where new users will be waiting merely days for [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/growing-to-ship-from-inventory-in-2017/">Growing to Ship from Inventory in 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Thank you all for supporting Purism, with ordering hardware, donations, volunteering, downloading PureOS, using our products, and of course the kind words. We are excited to finally approach the transition from &#8220;build-to-order&#8221; (where users have tended to wait months for Librem products) to <strong>shipping from inventory</strong>, where new users will be waiting merely days for Librem products. This is the most important step we&#8217;re taking yet.</p>
<p>To do this, we are leveraging past sales revenue to get investment and a larger line-of-credit, so we can place an even larger order for all the supplies, hardware, and component parts needed to build and house inventory.</p>
<figure id="attachment_10559" style="width: 300px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1.jpg"><img class="size-medium wp-image-10559" src="https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1-300x197.jpg" alt="The Librem 13 v2 prototype" width="300" height="197" srcset="https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1-300x197.jpg 300w, https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1-768x505.jpg 768w, https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption class="wp-caption-text">The Librem 13 v2 prototype</figcaption></figure>
<p>This larger order is expected to be placed in January, and we intend it to include: the Librem 13 v2, the Librem 15 v2, and the Librem 11 v1. There is typically an 8 week lead time for fabrication, which means placing our bulk inventory orders in January will allow us to fulfill the remaining preorders and backorders in March, and ship-from-inventory beginning in April of 2017.</p>
<p>This is a very exciting transition for Purism to grow to meet the demand of users worldwide, and we could not have done this without your support, so thank you again.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/growing-to-ship-from-inventory-in-2017/">Growing to Ship from Inventory in 2017</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Le Capitole du Libre</title>
		<link>https://puri.sm/posts/le-capitole-du-libre-2016/</link>
		<pubDate>Mon, 12 Dec 2016 22:01:37 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Customer Feedback]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=10841</guid>
		<description><![CDATA[<p>I was at &#8220;Le Capitole du Libre&#8221; on the 19th and 20th of November. It is a Free Software event that takes place every year in the city of Toulouse, in France. I had a booth there, presenting the Librem 13 to visitors during the whole event. I had a very good time! The organization [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/le-capitole-du-libre-2016/">Le Capitole du Libre</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<figure id="attachment_10923" style="width: 722px" class="wp-caption aligncenter"><a href="https://puri.sm/wp-content/uploads/2016/11/2016-11-12_capitol-du-libre_2016_by-david-revoy.jpg"><img class="wp-image-10923 " src="https://puri.sm/wp-content/uploads/2016/11/2016-11-12_capitol-du-libre_2016_by-david-revoy-1024x621.jpg" alt="2016-11-12_capitol-du-libre_2016_by-david-revoy" width="722" height="438" srcset="https://puri.sm/wp-content/uploads/2016/11/2016-11-12_capitol-du-libre_2016_by-david-revoy-1024x621.jpg 1024w, https://puri.sm/wp-content/uploads/2016/11/2016-11-12_capitol-du-libre_2016_by-david-revoy-300x182.jpg 300w, https://puri.sm/wp-content/uploads/2016/11/2016-11-12_capitol-du-libre_2016_by-david-revoy-768x466.jpg 768w, https://puri.sm/wp-content/uploads/2016/11/2016-11-12_capitol-du-libre_2016_by-david-revoy.jpg 1047w" sizes="(max-width: 722px) 100vw, 722px" /></a><figcaption class="wp-caption-text">Illustration by David Revoy</figcaption></figure>
<p>I was at &#8220;<a href="https://2016.capitoledulibre.org/" target="_blank">Le Capitole du Libre</a>&#8221; on the 19th and 20th of November. It is a Free Software event that takes place every year in the city of Toulouse, in France. I had a booth there, presenting the Librem 13 to visitors during the whole event. I had a very good time! The organization was great and there was a lot of visitors, especially on the Saturday.</p>
<p>I had a few questions as well as some interesting feedback from the visitors, regarding the Librem line and Purism in general, so I thought I&#8217;d write a summary about it.</p>
<h1>&#8220;What makes the Librem different or better than another laptop?&#8221;</h1>
<p><a href="https://puri.sm/wp-content/uploads/2016/11/librem_80s.jpg"><img class="wp-image-10842 alignright" src="https://puri.sm/wp-content/uploads/2016/11/librem_80s-1024x576.jpg" alt="librem_80s" width="536" height="302" srcset="https://puri.sm/wp-content/uploads/2016/11/librem_80s-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2016/11/librem_80s-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2016/11/librem_80s-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2016/11/librem_80s.jpg 1280w" sizes="(max-width: 536px) 100vw, 536px" /></a>Many visitors didn&#8217;t know about the Librem or even Purism, so this was a very common question.</p>
<p>To make it simple, the Librem is a computer that is designed with <strong>user&#8217;s respect</strong> as a primary goal. Its components have been selected to let the user &#8220;own&#8221; and control his/her computer through the use of Free Software. Of course, there are other laptops that let you run Free Software, but today&#8217;s computer manufacturers are neglecting user&#8217;s rights in their specifications.</p>
<p>Ethics and the public interest are part of our hardware and software specifications as well as being part of our business model.</p>
<h1>&#8220;How can you possibly promote Freedom and Privacy while the BIOS isn&#8217;t free yet?&#8221;</h1>
<p>I had the chance to have a very interesting conversation with a few (very) vocal Freedom Fighters who brought up this question. This is a question that I fully understand as I am myself an active supporter of Software Freedom and users&#8217; rights.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/11/librem_family.jpg"><img class=" wp-image-10843 alignleft" src="https://puri.sm/wp-content/uploads/2016/11/librem_family.jpg" alt="librem_family" width="431" height="308" srcset="https://puri.sm/wp-content/uploads/2016/11/librem_family.jpg 640w, https://puri.sm/wp-content/uploads/2016/11/librem_family-300x214.jpg 300w" sizes="(max-width: 431px) 100vw, 431px" /></a>Some of them said that we should communicate this critical point more clearly and explicitly. I apologize if our communication is confusing anyone in that regard, it is not our intention. We try to be as clear as possible about it (while remaining understandable!) and the <a href="https://puri.sm/posts/a-better-organized-website/">changes to our website contents over the past few months</a> are a big step in that direction.</p>
<p>While talking with freedom fighters, I realized that they mostly want to be reassured on the fact that we are not misleading the public, and that we support the same cause as them (which is the case).</p>
<p>This is how I see things :</p>
<ul>
<li>Our <a href="https://puri.sm/learn/freedom-roadmap/">ultimate goal</a> is to sell fully Free computers with no mystery code at all. At this time, we are a very young company with limited resources. Freeing a modern CPU is a pretty big task, and existing Free CPUs are quite far from today&#8217;s standard in term of speed and software support. This second choice would solve the issue but would also directly affect the user experience of the end user. This, in my humble opinion, would favor the gap between digital freedom and the rest of the industry as it tends to exclude the majority. If the jump from A to B is not straightforward for the majority, let&#8217;s find an intermediate step.</li>
<li>The average user doesn’t care much about the CPU brand in his computer; they care most about usability. That said, in theory, most people also care about their privacy and the ethics of the companies behind their computers. In that regard, I believe that the average user is currently the one doing the biggest sacrifice: sacrificing their freedom and privacy for the comfort and usability of their computer (without always noticing it&#8230; yet).</li>
<li>So instead of going in a way that excludes the majority by marginalizing our hardware, we wish to help everyone move consciously to digital freedom by making hardware that is as free as it can be for the speed and usability required by the majority. Wouldn&#8217;t it be beautiful to see millions of average users able to easily and comfortably run an FSF certified distribution as their daily driver ? Wouldn&#8217;t it be a great intermediate step ?</li>
</ul>
<p>We are aware that the Librem is not yet perfect and has a weak link in the chain, and we surely don’t want to hide it to our customers (if you look at the advanced topics of our &#8220;<a href="/why-purism/">Why Purism?</a>&#8221; section, it&#8217;s pretty explicitely stated all over the place). The current situation is a starting point for us (as well has being the end goal as it is also the last ring to be replaced). Anyway, it is still a work in progress with one single goal in mind : Full Freedom for <em>everyone</em>. On that note, as we have said in our latest announcement, we have <a href="https://puri.sm/posts/update-from-the-trenches-operations-research-and-development-for-q4-2016/">resumed</a> our work on Coreboot this December. Once we make good progress on the Coreboot side, we will resume our previous work on freeing the Intel ME.</p>
<p>By supporting us, our users are showing that there is demand for the industry to evolve in the direction of the public&#8217;s interest. Our long-term plan is to get enough support to free a modern CPU (or even modernize a Free CPU ?)</p>
<h1>&#8220;Can you justify the price of the Librem?&#8221;</h1>
<p>This was a commonly asked question during the event and I wish to clarify this point.</p>
<p>The Librems are high-end computers made of fast and modern components. They are designed to give you the best user experience when using a fully free GNU/Linux distribution. This of course has a cost. Using a Librem running PureOS as my main workstation for multimedia creation, I can tell that the user experience is pretty amazing. That being said, there is even more than the hardware to benefit, for the end user, when buying a Librem.</p>
<p>Purism has been funded around a philosophy of user&#8217;s respect and ethics and we also wish our business model to be ethical. We have been founded by our users and this is an amazing chance. When you buy a Librem, you support this philosophy of user&#8217;s freedom and directly invest in a company that is driven by the public&#8217;s interest only.</p>
<h1>&#8220;When will you be shipping from within Europe?&#8221;</h1>
<p>Soon, hopefully! Being a French citizen working for such a great project, this is part of my wishlist.</p>
<h1>The awakening</h1>
<p>There currently is an awakening happening within the population.</p>
<ul>
<li>Many people, not only Free Software users, are fed up with the current (abusive in so many ways) system and economy, and wish to see positive change coming for everyone.</li>
<li>Some of them have become <em>so awake</em> and acutely aware of great solutions like software freedom, they can&#8217;t stand the rest anymore, and they can&#8217;t stand any middleground. Those are the guys who shout at us, in forums or mailing lists, for &#8220;not doing enough&#8221;. I can understand them. They are just being impatient as they see light in our project and the urgency of the problem we&#8217;re trying to solve. We are a company ahead of its time and we have to deal with it. The future is in our hands, I have no doubt about it.</li>
</ul>
<p>I wish to say a big <em>thank you</em> to the people who organized such a great event, as well as to all the participants and the people I have been talking to. I am a recent switcher to Software Freedom and this was my first event. It was very instructive and I could feel a lot of good, positive energy there. Freedom is a collective effort and I am very proud to contribute to this bright future with you all Freedom makers. See you all again soon! 🙂</p>
<p>Until we meet again, you can send us your comments and feedback on the forum or to feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/le-capitole-du-libre-2016/">Le Capitole du Libre</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Update from the trenches &#8211; operations, research and development for Q4 2016</title>
		<link>https://puri.sm/posts/update-from-the-trenches-operations-research-and-development-for-q4-2016/</link>
		<pubDate>Tue, 06 Dec 2016 17:01:45 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Boot and BIOS]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=10341</guid>
		<description><![CDATA[<p>Since our previous status update on manufacturing &#38; shipping operations in August 2016, we had to tackle a lot of challenges in parallel: changing some of our suppliers, preparing new hardware, processing refunds, preparing PureOS 3, deploying new public infrastructure, seeking additional funds to enable us to ship &#8220;from stock&#8221; in the future, etc. The [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/update-from-the-trenches-operations-research-and-development-for-q4-2016/">Update from the trenches &#8211; operations, research and development for Q4 2016</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Since our previous status update on manufacturing &amp; shipping operations in August 2016, we had to tackle <em>a lot</em> of challenges in parallel: changing some of our suppliers, preparing new hardware, processing refunds, preparing PureOS 3, deploying new public infrastructure, seeking additional funds to enable us to ship &#8220;from stock&#8221; in the future, etc. The puzzle had so many moving parts that we really had to wait for dust to settle at the end of November to know where we stand and to provide you with this report.</p>
<p>In this blog post, we&#8217;ll be providing a global shipping status update, a quick update on R&amp;D, and we&#8217;ll be sharing some great news for those interested in the Librem 13.<span id="more-10341"></span> In the interest of keeping this post short and sweet, we&#8217;ll be sending additional details via email to those with outstanding Librem 11 and 15 orders.</p>
<h1>Shipped units, happy users</h1>
<p>We did a couple of shipping batches for laptops during the winter, and once the Librem 15&#8217;s 4K screen supply crisis came to a close we resumed shipping the remaining Librem 13 and Librem 15 &#8220;1080p&#8221; orders.</p>
<p>As we prepared our <a href="https://puri.sm/posts/a-better-organized-website/" target="_blank">new website contents</a>, we created a &#8220;Global Shipping Status&#8221; page to illustrate how many laptops we&#8217;ve been shipping and to give customers a rough approximation of where they stand in the processing queue. We hope to soon replace this page by a personalized, dynamic shipping status page connected to your account and order status.</p>
<p>Until now, it was difficult for the public at large to get a clear picture on our operations and to realize that we were actually <em>already</em> shipping units to customers for quite a while, so these graphs should help set the record straight:</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/11/outstanding-vs-shipped-orders-2014-to-2016-10-annotated.png"><img class="alignnone wp-image-10555 size-full" src="https://puri.sm/wp-content/uploads/2016/11/outstanding-vs-shipped-orders-2014-to-2016-10-annotated.png" alt="outstanding-vs-shipped-orders-2014-to-2016-10-annotated" width="2095" height="912" srcset="https://puri.sm/wp-content/uploads/2016/11/outstanding-vs-shipped-orders-2014-to-2016-10-annotated.png 2095w, https://puri.sm/wp-content/uploads/2016/11/outstanding-vs-shipped-orders-2014-to-2016-10-annotated-300x131.png 300w, https://puri.sm/wp-content/uploads/2016/11/outstanding-vs-shipped-orders-2014-to-2016-10-annotated-768x334.png 768w, https://puri.sm/wp-content/uploads/2016/11/outstanding-vs-shipped-orders-2014-to-2016-10-annotated-1024x446.png 1024w" sizes="(max-width: 2095px) 100vw, 2095px" /></a></p>
<p>Looking at the two charts above, here are some very important take-aways:</p>
<ol>
<li>The Librem 13 started shipping fairly quickly after its campaign ended, and continued shipping afterwards.</li>
<li>The reason the majority of the Librem 15 laptops took so long to ship initially was that we kept waiting and waiting for the 4K screens… Purism learned some hard lessons there. That mistake won&#8217;t happen again.</li>
<li>The Librem 15&#8217;s original order quantity (from the first campaign) has been shipped by now.</li>
</ol>
<p>So far, the feedback we&#8217;ve been hearing from those who received their laptops has been very positive. For example:</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">I&#39;ve been suuuuuper happy using a <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a> Librem 13 w/ Ubuntu 14.04 LTS for the last 8 months, after using a MBP for 8 years</p>
<p>&mdash; bron 🏳️‍🌈 (@0xbron) <a href="https://twitter.com/0xbron/status/795678231701516289?ref_src=twsrc%5Etfw">November 7, 2016</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">Just got my Librem, the most legit build quality of any freeos focused laptop I&#39;ve ever seen. Way to go <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a>  this is how you do it <a href="https://t.co/q4ykp8eSFa">pic.twitter.com/q4ykp8eSFa</a></p>
<p>&mdash; Parnell Springmeyer (@digitalmentat) <a href="https://twitter.com/digitalmentat/status/784916316658421760?ref_src=twsrc%5Etfw">October 9, 2016</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>…to cite only two. It&#8217;s always greatly satisfying to hear positive stories like that. Please don&#8217;t hesitate to share yours! Your encouragement is a big part of what keeps us going through hard times.</p>
<h1>Replacing weak links in the (supply) chain, preparing for growth</h1>
<p>One thing we had to accomplish this quarter was to change some of our suppliers. One of the reasons for that was to have better flexibility and to enable us to build better-quality computers in future revisions.</p>
<p>It has taken us a couple of months to find satisfactory suppliers, negotiate, request and evaluate prototype units (to ensure they meet our quality standards and our particular privacy+freedom specifications), and then evaluate the feasibility of going into a new production run. We are now very happy to say that we have resolved the &#8220;manufacturing and logistics&#8221; side of the equation.</p>
<p>The other side of the equation is financing: to place a large-enough order to ship from stock, we are in the process of getting a <a href="https://en.wikipedia.org/wiki/Line_of_credit" target="_blank">line of credit</a> (loan) to fund inventory. With this, we hope to place a large-enough supply order to finally get out of the chicken-and-egg problem (where many customers want to purchase Purism Librem laptops only if they are available for shipping on short notice, yet this requires inventory, which requires enough orders to create inventory on an ongoing basis).</p>
<h1>A new Librem 13</h1>
<p>Here&#8217;s a sneak peek of the prototype of the Librem 13 &#8220;Mark II&#8221; that would be replacing the Librem 13 v1 for any future shipments:</p>
<p><img class="alignnone wp-image-10559 size-full" src="https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1.jpg" width="1000" height="657" srcset="https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1.jpg 1000w, https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1-300x197.jpg 300w, https://puri.sm/wp-content/uploads/2016/11/L13v2-prototype-1-768x505.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>This would have very similar specs to the Librem 13 v1, with a few improvements on the casing, backlit keys and better keyboard feel, and a few changes like the location of the <a href="https://puri.sm/learn/hardware-kill-switches/">hardware killswitches</a>. We&#8217;ll be providing more details on that in a separate blog post. We&#8217;re hoping to eventually provide a new revision of the Librem 15 as well, for which we will need to get new prototypes and nail down the details and logistics for it.</p>
<h1>Progress on PureOS 3 towards distro certification</h1>
<p>With the alpha release of <a href="https://pureos.net/">PureOS</a> 3 now available alongside our new public infrastructure like Phabricator (see <a href="https://puri.sm/posts/purism-devlog-3/">devlog #3</a>), we have started the process to get the PureOS software distribution certified by the Free Software Foundation. PureOS has always been 100% Free Software from the start (stricter than most GNU/Linux distributions, including Debian, Fedora, etc.) and getting official FSF endorsement for PureOS will provide recognition for our work and assurance for users that their operating system respects and enforces their software freedom.</p>
<h1>Coreboot Research and Development resumes</h1>
<p>In the past, we have promised to work towards liberating the BIOS/UEFI of our Librem laptops, and we&#8217;re continuing that commitment. We have previously made some efforts toward porting Coreboot to our devices: we have provided sample Librem 13 v1 laptops to Coreboot project contributors to facilitate this work, and a partial port came out of this initiative. We have also sponsored some developers to try to continue that line of work. In the end, we have been slowed down because we shifted focus on our manufacturing business needs to deliver product to users, and the odd phenomenon where our Coreboot contributors would end up going silent / disappear on us after a while. So we kept looking for someone who could do this work independently, and consistently.</p>
<p>This December, we brought on board a promising independent low-level BIOS/UEFI hacker that will be able to resume the Coreboot-related work, so we hope to provide coreboot for the Librem 13 v1 and v2 to start. Stay tuned for news on that front!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/update-from-the-trenches-operations-research-and-development-for-q4-2016/">Update from the trenches &#8211; operations, research and development for Q4 2016</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Apple&#8217;s Collecting User Calls and Messages, and How Purism Avoids This Type of Threat</title>
		<link>https://puri.sm/posts/apples-collecting-user-calls-and-messages-and-how-purism-avoids-this-type-of-threat/</link>
		<pubDate>Mon, 21 Nov 2016 16:04:35 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=10487</guid>
		<description><![CDATA[<p>Another day, another corporate surveillance story; this time it is Apple who decides to secretly send users&#8217; call history, as well as messages, to the &#8220;cloud&#8221; (which in this case is iCloud servers, owned and controlled by Apple). This brings up a number of issues we have spoken about before, that users who buy Apple [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/apples-collecting-user-calls-and-messages-and-how-purism-avoids-this-type-of-threat/">Apple&#8217;s Collecting User Calls and Messages, and How Purism Avoids This Type of Threat</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Another day, another <a href="https://theintercept.com/2016/11/17/iphones-secretly-send-call-history-to-apple-security-firm-says/">corporate surveillance story</a>; this time it is Apple who decides to secretly send users&#8217; call history, as well as messages, to the &#8220;cloud&#8221; (which in this case is iCloud servers, owned and controlled by Apple).</p>
<p>This brings up a number of issues we have <a href="https://puri.sm/posts/apple-v-fbi-it-is-about-control/">spoken about before</a>, that users who buy Apple products <em>think</em> they own the device, until the realization—through near daily stories reporting on Apple undermining the privacy of user data—that Apple actually owns the iPhone device, and that iOS users are simply renting it as well as the software and services that run on it.</p>
<h3>The Problem</h3>
<p>Apple, like Google and Microsoft, controls the software that runs on your phone. Those companies will not relinquish control of their devices nor software because users continue to buy and finance their bad practices of exploiting users.</p>
<h3>The Solution</h3>
<p>Use, support, and buy products that are completely free software, where the source code is available, so that all the software on your device can be controlled by the user, not the software giants who undermine digital rights.</p>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 2px;" />
<p>Purism ships <a href="https://pureos.net/">PureOS</a> with its products, which is completely free software. Customers can also elect to have <a href="https://www.qubes-os.org/" target="_blank">Qubes</a> preinstalled, or to install their own operating sytsem. Purism hopes to get PureOS officially endorsed by the Free Software Foundation very soon. Additionally, in the long term Purism is working towards its <a href="https://puri.sm/learn/freedom-roadmap/">ambitious goal to fully free its hardware</a> and get hardware certification by the FSF, becoming the first manufacturer of &#8220;brand new&#8221; high-performance laptops to achieve this.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/apples-collecting-user-calls-and-messages-and-how-purism-avoids-this-type-of-threat/">Apple&#8217;s Collecting User Calls and Messages, and How Purism Avoids This Type of Threat</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Android&#8217;s Secret Backdoor, and How Purism&#8217;s Business Model Avoids This Type of Threat</title>
		<link>https://puri.sm/posts/androids-secret-backdoor-and-how-purisms-business-model-avoids-this-type-of-threat/</link>
		<pubDate>Tue, 15 Nov 2016 23:59:16 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Supply chain]]></category>
		<category><![CDATA[Tablets]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=10378</guid>
		<description><![CDATA[<p>Today we learned once more why utilizing pure free software where the source code is available is critical to protect users&#8217; rights to privacy, security, freedom, and anonymity. The New York Times points out that this latest security breach &#8220;shows how companies throughout the technology supply chain can compromise privacy, with or without the knowledge [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/androids-secret-backdoor-and-how-purisms-business-model-avoids-this-type-of-threat/">Android&#8217;s Secret Backdoor, and How Purism&#8217;s Business Model Avoids This Type of Threat</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<figure style="width: 461px" class="wp-caption alignright"><img src="https://static01.nyt.com/images/2016/11/16/world/16Phones/16Phones-master768.jpg" alt="photo" width="461" height="307" /><figcaption class="wp-caption-text">Security contractors recently discovered preinstalled software in some Android phones that monitors where users go, whom they talk to and what they write in text messages. Emilio Morenatti/Associated Press</figcaption></figure>
<p>Today we <a href="http://www.nytimes.com/2016/11/16/us/politics/china-phones-software-security.html" target="_blank">learned</a> once more why utilizing pure <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank">free software</a> where the source code is available is <em>critical</em> to protect users&#8217; rights to privacy, security, freedom, and anonymity.</p>
<p>The New York Times points out that this latest security breach &#8220;shows how companies throughout the technology supply chain can compromise privacy, with or without the knowledge of manufacturers or customers.&#8221;</p>
<p>Let&#8217;s examine the problem and see what can be done about it. It&#8217;s not too late to stand up for your rights.</p>
<hr class="ttfmake-hr" style="border-style: solid; border-top-width: 1px; clear: both;" />
<h1>The Fundamental Problem</h1>
<p>All phones and tablets on the market today suffer from the same problem: <strong>the code that operates those devices are a mystery to the users.</strong> In this specific case Google&#8217;s Android, but the same problem exists with Apple devices and Windows devices, where the operating system, software-updated firmware, and most software that runs on those devices do not have the source code available to verify that there are no backdoors sending your private data to unwanted third parties.</p>
<p><img class="aligncenter size-full wp-image-1447" src="https://puri.sm/wp-content/uploads/2014/11/purism-competitive-privacy-matrix-20150811.jpeg" alt="Purism Competitive Privacy Matrix" width="700" height="374" srcset="https://puri.sm/wp-content/uploads/2014/11/purism-competitive-privacy-matrix-20150811.jpeg 700w, https://puri.sm/wp-content/uploads/2014/11/purism-competitive-privacy-matrix-20150811-300x160.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>What this means is there is absolutely <em>no way,</em> for a user of Android, iOS, OSX, Windows, or any operating system that does not release all the source code, to guarantee he/she is not being illegally spied upon for nefarious reasons, corporate surveillance, government spying, and/or private data mining.</p>
<p>The tracking built into mobile devices is at every level imaginable. We need to create a better, digital rights respecting future for computing.</p>
<h2>The Future of Computing</h2>
<p><a href="https://puri.sm/wp-content/uploads/2016/11/buy-purism-computers-cartoon-2016.png"><img class="wp-image-10446 size-full alignright" src="https://puri.sm/wp-content/uploads/2016/11/buy-purism-computers-cartoon-2016.png" width="600" height="400" /></a>If we, as users, continue to morally and financially support Android, iOS, OSX, Windows or any other operating system that strip away the digital rights of users, we continue to advance a future where:</p>
<ul>
<li>users are controlled for profit;</li>
<li>private data is mined for advertising revenue;</li>
<li>governments spy on people;</li>
<li>corporations capitalize on every user interaction;</li>
<li>security breaches involve staggering amounts of personal data, with enormous consequences for individuals—even worse than what we&#8217;ve been seeing in recent years.</li>
</ul>
<p>Every time you purchase a device from hardware companies that pre-install Android, iOS, OSX, Windows, and other nonfree operating systems, you are contributing to the erosion of your rights. <em>Buying an HTC device benefits HTC, Google, the carrier, and all software companies that preinstall their privacy-stripping binaries. Similarly, buying Apple benefits Apple, the carrier, and all software apps preinstalled or even later installed.</em></p>
<figure id="attachment_10447" style="width: 580px" class="wp-caption alignnone"><img class="size-full wp-image-10447" src="https://puri.sm/wp-content/uploads/2016/11/this-is-fine.png" alt="Current technology purchasing decisions, " width="580" height="282" srcset="https://puri.sm/wp-content/uploads/2016/11/this-is-fine.png 580w, https://puri.sm/wp-content/uploads/2016/11/this-is-fine-300x146.png 300w" sizes="(max-width: 580px) 100vw, 580px" /><figcaption class="wp-caption-text">Current technology purchasing decisions. Can you smell the smoke?</figcaption></figure>
<hr class="ttfmake-hr" style="border-style: solid; border-top-width: 1px;" />
<h1>The Solution</h1>
<ol>
<li>Use a <a href="https://pureos.net/">free software operating system</a>, where the source code is released.</li>
<li>Use <a href="https://puri.sm/products/">hardware</a> that allows you to run a completely freed operating system, where there is no mystery binaries, no private data delivered anywhere, and most importantly that you control.</li>
<li>Support companies and organizations like Purism, and know that every penny of a purchase goes to benefit the future of computing and the digital rights for users. Make informed purchasing decisions and support hardware manufacturers that <a href="https://puri.sm/why-purism/">push Free Software&#8217;s agenda all the way through the supply chain</a>.</li>
</ol>
<h3>The Upcoming Purism Phone and services infrastructure</h3>
<p>Subscribe to our newsletter (simply send an email to <a href="mailto:announce-join@announce.wp.puri.sm">announce-join@announce.wp.puri.sm</a> to subscribe automatically) or follow us (see website footer for social links), then you will be notified when Purism launches the first freedom, security, and privacy respecting phone.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/androids-secret-backdoor-and-how-purisms-business-model-avoids-this-type-of-threat/">Android&#8217;s Secret Backdoor, and How Purism&#8217;s Business Model Avoids This Type of Threat</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>A better-organized website</title>
		<link>https://puri.sm/posts/a-better-organized-website/</link>
		<pubDate>Tue, 15 Nov 2016 01:07:30 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=10330</guid>
		<description><![CDATA[<p>As some of you might have noticed, I have been progressively deploying Purism&#8217;s new website over the past few weeks, after some months of small improvements and preparations. Far from being merely a visual style update, the main goal of this initiative was to reorganize all the contents, to make them easier to find, and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-better-organized-website/">A better-organized website</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<figure id="attachment_10335" style="width: 523px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2016/11/purism-old-website-contents-summary.png"><img class="wp-image-10335 size-large" src="https://puri.sm/wp-content/uploads/2016/11/purism-old-website-contents-summary-523x1024.png" alt="old website contents summary" width="523" height="1024" srcset="https://puri.sm/wp-content/uploads/2016/11/purism-old-website-contents-summary-523x1024.png 523w, https://puri.sm/wp-content/uploads/2016/11/purism-old-website-contents-summary-153x300.png 153w, https://puri.sm/wp-content/uploads/2016/11/purism-old-website-contents-summary-768x1503.png 768w, https://puri.sm/wp-content/uploads/2016/11/purism-old-website-contents-summary.png 1056w" sizes="(max-width: 523px) 100vw, 523px" /></a><figcaption class="wp-caption-text">A partial overview of some of the contents we&#8217;ve revised for the new website</figcaption></figure>
<p>As some of you might have noticed, I have been progressively deploying Purism&#8217;s new website over the past few weeks, after some months of small improvements and preparations.</p>
<p>Far from being merely a visual style update, the main goal of this initiative was to <strong>reorganize all the contents</strong>, to make them <strong>easier to find,</strong> and <strong>more pleasant and interesting to read</strong>. Indeed, the existing website had <em>tons</em> of contents, spread everywhere with no clear logic, often buried in obscure parts of the blog that nobody would ever see.</p>
<p>I spent quite a while reading and annotating all the contents of the website, ripping and remixing it into something that makes sense. The screenshot you can see on the right is the <em>summary</em> (without duplicated content) of <em>some</em> of the pages we have reviewed and reworked. And some of the contents are still pending review and improvements.</p>
<p>The new contents organization achieves the following:</p>
<ul>
<li>Introduce a clear structure and hierarchy
<ul>
<li>Clean up the menus, and spread items across menus in a fully thought-out way</li>
<li>Clean, human-readable and memorable URLs, based on sections</li>
<li>Completely rethought blog taxonomy (categories and tags), and exposed posts structure allowing easy browsing based on your fields of interest</li>
</ul>
</li>
<li>Introduce the &#8220;<a href="https://puri.sm/why-purism/">Why Purism?</a>&#8221; section to explain our business from two perspectives: our <strong>philosophy</strong> and our <strong>methodology</strong>. Add new content to cover the most frequent philosophy and methodology questions we get</li>
<li>Deduplicating contents</li>
<li>Reusing contents dynamically (to avoid inconsistencies)</li>
<li>Turn insightful posts into permanent reference pages to prevent them from being lost and forgotten</li>
<li>Revise, rewrite, clarify or remove obsolete contents</li>
<li>Interlinking related pages, particularly in the educational topics of the &#8220;Why Purism?&#8221; section</li>
<li>Introduce a ton more imagery, graphics, and visuals to give your eyes a rest amidst the big amount of written contents</li>
<li><a href="https://forums.puri.sm/t/new-forum-notifications/864">Improved forums notification emails</a>!</li>
</ul>
<p>A side effect of this: we had to break almost every important hyperlink and URL! However, I put redirects in place everywhere to let you find the contents even if you are accessing them from an old URL.</p>
<p>On top of those content changes, the <strong>new visual design</strong> I deployed across the website is also fundamentally superior from a typographic standpoint: it made the contents <em>much</em> more <strong>legible</strong> and <strong>readable</strong>—not only is it objectively easier to read characters and words all over the place, it is now significantly more pleasant (and thus encouraging) to read anything longer than a few lines. Last but not least, the new design also makes it <strong>easier to manage</strong> the content layout across pages.</p>
<p>We hope you appreciate these changes as much as we do. Feel free to drop us a line at <strong>feedback at wp.puri.sm</strong>!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/a-better-organized-website/">A better-organized website</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Digital media transcoding – Part 3 – Free Formats in Post Production</title>
		<link>https://puri.sm/posts/digital-media-transcoding-part-3-free-formats-in-post-production/</link>
		<pubDate>Wed, 09 Nov 2016 08:47:59 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Tips and tricks]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=9782</guid>
		<description><![CDATA[<p>This is the third and last part of my articles about media manipulation with free software. Here is part 1, and here is part 2. Working with video files all day long makes me realize that formats are everywhere and the need for me to be able to freely manipulate them is constant. It is [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/digital-media-transcoding-part-3-free-formats-in-post-production/">Digital media transcoding – Part 3 – Free Formats in Post Production</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This is the third and last part of my articles about media manipulation with free software. Here is<a href="https://puri.sm/posts/digital-media-transcoding-part-1-ffmpeg/"> part 1</a>, and here is <a href="https://puri.sm/posts/digital-media-transcoding-part-2-transcoding-gui-with-kdenlive/" target="_blank">part 2</a>.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/11/banner-1155437_1280.png"><img class="alignnone size-large wp-image-9961" src="https://puri.sm/wp-content/uploads/2016/11/banner-1155437_1280-1024x322.png" alt="banner-1155437_1280" width="960" height="302" srcset="https://puri.sm/wp-content/uploads/2016/11/banner-1155437_1280-1024x322.png 1024w, https://puri.sm/wp-content/uploads/2016/11/banner-1155437_1280-300x94.png 300w, https://puri.sm/wp-content/uploads/2016/11/banner-1155437_1280-768x241.png 768w, https://puri.sm/wp-content/uploads/2016/11/banner-1155437_1280.png 1280w" sizes="(max-width: 960px) 100vw, 960px" /></a></p>
<p>Working with video files all day long makes me realize that formats are everywhere and the need for me to be able to freely manipulate them is constant. It is why I think that in term of multimedia creation and publishing, free formats are as important as free software. Free software will always more easily support free formats anyway. In another hand proprietary software may decide to drop support for any free or proprietary formats as they wish.</p>
<p>In that regard, my post production workflow tend to rely on free formats as much as possible. In the world of freedom, we are very lucky to have top quality free formats for multimedia production and I would like to share with you the main formats that are part of my post production workflow.</p>
<p>Note that this is my personal workflow, there may be better workflows, better formats, especially when working on sophisticated projects with a big team. This is just a basic reference that works for most of my projects.</p>
<h2>Capturing</h2>
<p>The format you will need to deal with, when capturing video footage will depend on the camera you use. Most commercial cameras will record using proprietary formats and as of today, I don&#8217;t know any camera capable of recording using free formats. The Axiom by <a href="https://www.apertus.org/" target="_blank">Apertus</a> is a camera based on free hardware design but it is still under development and I have never had the chance to test one.<br />
Usually, I have no control over this part but it is fine. The most important here is that my footage gets the quality that I expect.</p>
<p>I just make sure that the formats generated by the camera will be readable by my free software. Anyway, FFmpeg can read so many formats&#8230;</p>
<h2>Storing</h2>
<p>At this point, I may choose to keep my footage as it is or chose to convert it to a free format for storage purpose. This is very useful when capturing with a proprietary format so I get full control over my footage straight away.</p>
<p>The storing format should be lossless, which means that there will be no data loss during the conversion. This is the top quality footage that my final rendering should be based on.</p>
<p>When performing this task, I use the following :</p>
<ul>
<li><strong>Matroska</strong> (<strong>MKV</strong>) format &#8211; <strong>Huffyuv</strong> (video) / <strong>FLAC</strong> (audio)</li>
<li><strong>Matroska</strong> (<strong>MKV</strong>) format &#8211; <strong>FFv1</strong> (video) / <strong>FLAC</strong> (audio)</li>
</ul>
<p>As both formats are lossless, there should not be any quality issue however while FFv1 generates a smaller file, it is, in my experience, slower when decoding and may affect the comfort of my workflow at some point. Usually, I prefer using Huffyuv.</p>
<h2>Editing</h2>
<p>When editing, the use of proxies can make your workflow much faster by requiring a smaller amount of hardware resources. A proxy is a low resolution and light weight version of the original footage.</p>
<p>Proxy files are very temporary and the final rendering don&#8217;t depend on them. In that regard, you may use the format that is the most adapted to you hardware speed. Kdenlive has an integrated proxy engine that lets you choose between MPEG1 and Xvid by default. These are not fully free so I would suggest using the following on a 640px wide output:</p>
<ul>
<li><strong>WebM</strong> format &#8211; <strong>VP8</strong> (video) / <strong>Vorbis</strong> (audio)</li>
<li><strong>Ogg</strong> format &#8211; <strong>Theora</strong> (video) / <strong>Vorbis</strong> (audio)</li>
</ul>
<p>I have always found that VP8 decodes faster and feels lighter than Theora so my choice goes for VP8 here.</p>
<h2>Compositing and color grading</h2>
<p>I usually do all my editing with Kdenlive. When I need to do some advanced compositing, and color grading, I use Blender.</p>
<p>At this stage, I only care about the picture and put the audio aside. I generate image sequences based on my top quality footage and load them into Blender.</p>
<p>For color grading and full picture visual effects :</p>
<ul>
<li><strong>PNG</strong></li>
</ul>
<p>For animation compositing :</p>
<ul>
<li><strong>PNG</strong> with transparent background</li>
<li><strong>Multi-layered OpenEXR</strong> (Very useful to avoid having too many rendered files)</li>
</ul>
<p>There is one free image format that is still very young but very promising. It is called <a href="http://flif.info/" target="_blank">FLIF</a>. It is a lossless image format that has a better quality for a smaller file size than PNG. At the moment of writing this post, it is only implemented in ImageMagick but I hope it will be adopted by many more free software in the future.</p>
<h2>Audio editing</h2>
<p>To be honest, I am not an expert in audio editing and my skills in this area are pretty basic. I mainly use 2 formats to manipulate audio files :</p>
<ul>
<li><strong>Vorbis</strong> (compressed for quick preview and editing)</li>
<li><strong>FLAC</strong> (lossless for full quality, final rendering)</li>
</ul>
<h2>Sharing</h2>
<p>What would be creative freedom without non-restrictive sharing ?</p>
<p>As of today, the most common format on the web is, by far, MP4 (H264). It is a proprietary format and it is quite difficult to avoid. I don&#8217;t want to impose any restriction to my audience so I sometimes use H.264 when I have no other alternative, but in any case, I always use the following free formats that are compatible with many web browsers, many platforms and are perfect for streaming purpose :</p>
<ul>
<li><strong>WebM</strong> format &#8211; <strong>VP8</strong> (video) / <strong>Vorbis</strong> (audio)</li>
<li><strong>Ogg</strong> format &#8211; <strong>Theora</strong> (video) / <strong>Vorbis</strong> (audio)</li>
</ul>
<h2>Ultra-high definition (4k)</h2>
<p>Producing 4K videos is also possible with a free formats workflow. More and more cameras are able to shoot in 4k and the Librem15 will give you the horse power to comfortably work with this kind of big resources. The workflow that I have presented here is adapted to any resolution. Just make sure that you do your final rendering with a format that is able to handle the highest resolutions :</p>
<ul>
<li><strong>WebM</strong> format &#8211; <strong>VP9</strong> (video) / <strong>Vorbis</strong> (audio)</li>
</ul>
<p>&nbsp;</p>
<p>If you need more information about free formats, you may check <a href="https://en.wikipedia.org/wiki/List_of_open_formats" target="_blank">the full list on Wikipedia</a>.</p>
<p>&nbsp;</p>
<p>I hope this series on media files manipulation has been useful to you and as the Blender Foundation would say, &#8220;Creative freedom starts here!&#8221;</p>
<p>Happy freedom! 🙂</p>
<p>&nbsp;</p>
<p>feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/digital-media-transcoding-part-3-free-formats-in-post-production/">Digital media transcoding – Part 3 – Free Formats in Post Production</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Devlog #3</title>
		<link>https://puri.sm/posts/purism-devlog-3/</link>
		<pubDate>Sat, 05 Nov 2016 20:13:46 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=9615</guid>
		<description><![CDATA[<p>Welcome to new devlog post. Many exciting news here, so lets dive into it step by step. New infrastructure In past we had many issues with failing repositories, an outdated archive, expired keys, sources changing too often… this is why we have now moved to new servers, with control from the ground up, and started [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-devlog-3/">Purism Devlog #3</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Welcome to new devlog post. Many exciting news here, so lets dive into it step by step.</p>
<h2>New infrastructure</h2>
<p>In past we had many issues with failing repositories, an outdated archive, expired keys, sources changing too often… this is why we have now moved to new servers, with control from the ground up, and started building the new PureOS infrastructure (the whole Purism infrastructure also moved to new server). We are still improving and tweaking everything on a daily basis, but the foundation is there. New infrastructure is now mandated by DAK (Debian Archive Kit) and Laniakea (which is developed by Matthias Klumpp, aiming to make creating and maintaining Debian derivates easier for all).</p>
<h3>Bug tracker</h3>
<p>One of the most important aspects of every distribution is its users reporting bugs and submitting ideas. Now you can simply go to <a href="https://tracker.pureos.net/maniphest/">https://tracker.pureos.net/maniphest/</a> and report any issues as well as submit ideas. In the near future we plan to tweak the infra in such way that it becomes publicly visible even without registering an account (we spent our time building everything, so we haven&#8217;t been tweaking it yet).</p>
<figure id="attachment_9639" style="width: 846px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2016/11/2016-11-pureos-tracker.png"><img class="wp-image-9639 size-full" src="https://puri.sm/wp-content/uploads/2016/11/2016-11-pureos-tracker.png" alt="The PureOS bug tracker" width="846" height="826" srcset="https://puri.sm/wp-content/uploads/2016/11/2016-11-pureos-tracker.png 846w, https://puri.sm/wp-content/uploads/2016/11/2016-11-pureos-tracker-300x293.png 300w, https://puri.sm/wp-content/uploads/2016/11/2016-11-pureos-tracker-768x750.png 768w" sizes="(max-width: 846px) 100vw, 846px" /></a><figcaption class="wp-caption-text">Example of what the PureOS bug tracker looks like</figcaption></figure>
<h3>Code hosting</h3>
<p>While our code is still spread out on GitHub and we&#8217;ll be mirroring it to our infrastructure in the beginning, we plan to eventually host all our work on our infrastructure by default. After all, our infrastructure is entirely Free software based (code auditable, anyone can contribute, etc.). The code will be in place at <a href="https://tracker.pureos.net/diffusion/">https://tracker.pureos.net/diffusion/</a> (only a small, non-updated portion lies there at the moment).</p>
<h3>Wiki pages</h3>
<p>A good OS needs good documentation pages. Good documentation needs a good community. We started building the foundation for that as well, and now need your help. Our wiki effort will be lead by our main support person, Mladen Pejakovic. Either contact him or send mails that you want to contribute to the wiki foundation of PureOS, to feedback@puri.sm or hr@puri.sm. The wiki is located at <a href="https://tracker.pureos.net/w/">https://tracker.pureos.net/w/</a>. You can also fire up your favorite IRC client (Polari, Hexchat or some web IRC client), connect to freenode (irc.freenode.net) and join our #purism channel to chat with us. We need our community to pull this all out, as the task we are setting needs combined effort of an entire community that cares.</p>
<h2>PureOS 3.0 alpha release — codename &#8220;Prometheus&#8221;</h2>
<p><img class="alignnone size-full wp-image-9778" src="https://puri.sm/wp-content/uploads/2016/11/Prometheus-by-Heinrich-Fueger-cropped.jpg" alt="prometheus-by-heinrich-fueger-cropped" width="1000" height="490" srcset="https://puri.sm/wp-content/uploads/2016/11/Prometheus-by-Heinrich-Fueger-cropped.jpg 1000w, https://puri.sm/wp-content/uploads/2016/11/Prometheus-by-Heinrich-Fueger-cropped-300x147.jpg 300w, https://puri.sm/wp-content/uploads/2016/11/Prometheus-by-Heinrich-Fueger-cropped-768x376.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>With a new infrastructure comes new tasks, and the first and obvious is to improve our OS. We chose to start from ground zero and progress on it properly. We call this release an &#8220;alpha&#8221; as it is missing a few things (and we want people to test it) but its overall stability should actually be slightly <em>higher</em> compared to previous releases. Also, a great feature it gained is that now our images are &#8220;live&#8221;, meaning you can run them without installing on your drive! The download link is located at the usual <a href="https://pureos.net/download/">place.</a></p>
<p>For those who don&#8217;t want try the new installation (although we would appreciate that, even if done in GNOME Boxes or other virtualization tools you use) and just want to update to it, here is what should be done in terminal:</p>
<pre>wget http://repo.wp.puri.sm/pureos/pool/main/p/pureos-archive-keyring/pureos-archive-keyring_2016.09_all.deb
sudo dpkg -i pureos-archive-keyring_2016.09_all.deb
sudo &gt; /etc/apt/sources.list
sudo echo "deb http://repo.wp.puri.sm/pureos/ green main" &gt;&gt; /etc/apt/sources.list
sudo apt install pureos-minimal pureos-standard pureos-desktop
sudo apt update &amp;&amp; sudo apt dist-upgrade </pre>
<p>And voila, you&#8217;re there!</p>
<p>Now lets talk what is in there, what is missing and what can you do.</p>
<p>PureOS 3.0 Prometheus aims to be the best release we ever made, and we want it to be the release with the most community engagement ever (this is why we deployed our awesome now infrastructure foundation above!)</p>
<p>With that in mind, we want to see of course your code and ideas of what do you want to see in the default installation, but we also want artwork! A <em>lot</em> of artwork. We are opening a contest for wallpapers. The rules are simple: create a piece of artwork (it can even be an old photo you took at some point in time) that inspires you, reminds you of freedom and/or has the Prometheus idea floating around, combined with some Free license (GPLv3 for example). Prometheus gave to humans fire (a.k.a. knowledge) which made humans free. We are giving you the OS which we hope will empower you to make your dreams true and form the best community around it. Also, if anyone feels inspired and wants to challenge their skills, please do a plymouth theme (<a href="https://www.youtube.com/watch?v=raUJmUAwY6s">here</a> is inspiration).</p>
<p>GNOME Software is in there but we still need to build our Appstream machine, so it&#8217;s currently missing data (the Synaptic package manager is not ported to Wayland yet, so the good old terminal will be your friend for next couple of days—or just pick &#8220;GNOME on Xorg&#8221; at the login screen 🙂 )</p>
<p><img class="alignnone size-full" style="float: right; margin: 10px;" src="https://upload.wikimedia.org/wikipedia/commons/9/99/Wayland_Logo.svg" alt="Wayland logo" width="266" height="266" /></p>
<p>PureOS 3.0 alpha will be shipping with <strong>Wayland by default</strong> (you can simply choose your session on login screen by pressing the gear button and choosing which one you want). Wayland is such a huge step forward in many ways, to provide a beautiful tearing-free desktop experience but also to build future security. To get why this is important, watch this <a href="https://www.youtube.com/watch?v=RIctzAQOe44">video</a>. We are proud to push this last bit forward as we feel comfortable that our hardware will play nicely with GNOME and Wayland. Notice there are some quirks with Wayland (some missing legacy icons, global menu loading 15-30 seconds before it becomes usable, some pointer issues) but most of them we will clear out in the near future while bravely going towards the final release of PureOS 3.0.</p>
<p>Here are some known issues (nothing that affects stability):</p>
<ul>
<li>The default wallpaper is still the old one, and while we have new artwork done, we still didn&#8217;t integrate it as we want your wallpapers in as well.</li>
<li>You will miss our patched kernel which provides somewhat better touchpad functionality compared to stock kernel, but we will push that in soon: you will be able to find it in a package update; we hope to eventually provide fully automated builds that you can test early.</li>
<li>About the touchpad, we plan one more quick snapshot in coming days to fix few things and, after that, allow one developer to focus full-time on making it work better.</li>
</ul>
<h3>FSF distribution endorsement</h3>
<p>This is something PureOS is aiming for. What does this endorsement mean? It means that we provide and support only Free software by GNU standards. While PureOS is not meant only for our hardware, we must advise people who will try it on other hardware that you may encounter some issues, for example WiFi might not work if your hardware requires a proprietary firmware. Also, in the future we will optimize the default image towards our hardware (so AMD and nVidia drivers would be missing from default images, as we currently only use Intel ones—unless AMD or nVidia start providing an entirely free/libre and open source stack to run their cards efficiently). To the endorsement and beyond!</p>
<h2>Purist services</h2>
<p>While we focused most of our energy towards building infrastructure for PureOS, we also gain one notable feature very important for future of Purist services usage: <em>keysafe.</em> Joey created this to make it easy for all our users, as services will use GPG keys in some form—and we all know how hard that can be to use, for many reasons. Not only we built such a feature, Joey also deployed it as the standard for our servers already (check <a href="https://joeyh.name/code/keysafe/servers/">here</a> for requirements and path to our server). We will also move the Purist Services roadmap to the PureOS bug tracker (or make it visible at some place so people can hop in to contribute).</p>
<h2>Community</h2>
<p>Our systems administrators are volunteers. They believe in what we do and dedicate some portion of their time to our cause. We mentioned this many times, but  we really want the community integrated inside the company, not to become just another commercial entity. We care for our community and we would love you in. Head towards anything you want to help with (you can see how much we trust community that they take care of our critical infrastructure) and please do chat with us. To show appreciation for their entire effort we sent Librems to our sysadmins and one of them even responded with a great tale that made us laugh (sadly we can&#8217;t share it here). Yes, we love fun stories (we want even to integrate some humor into all our products so feel free to suggest something &#8220;spicy&#8221;). We lived entirely of community donations (in form of purchasing our hardware) and although we started searching for some investments to speed up our development, we still trust that the community will stay the biggest backbone of our progress.</p>
<h3>Developers</h3>
<p>You can jump straight into coding for PureOS. Probably the only missing bit is Developer Guidelines, and we plan that write those soon. Besides technical aspects (how to do proper packaging) we will also make some guidelines about look &amp; feel. For example, it would be awesome to have beautiful GUI app for creating, editing, maintaning GPG keys. It should work just as nicely as <a href="https://etcher.io/">Etcher</a>.</p>
<p>That would be all folks, we will try to update blog (not only technical part) more often, especially now that our website has new contents and a new look, improved in many ways thanks to the tireless efforts of our marketing guru Jeff (from the land of maple syrup)!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-devlog-3/">Purism Devlog #3</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Nicole Færber joins the Purism Advisory Board</title>
		<link>https://puri.sm/posts/nicole-faerber-joins-the-purism-advisory-board/</link>
		<pubDate>Tue, 04 Oct 2016 03:13:28 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=6362</guid>
		<description><![CDATA[<p>SAN FRANCISCO, October 3rd, 2016 — Purism is pleased to announce the addition of Nicole Færber to its previously announced Advisory Board. Together, the Advisory Board members bring their vision and decades of experience in cybersecurity, privacy protection, and digital freedom—to Purism&#8217;s product development, as the company continues to create products that finally address privacy [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/nicole-faerber-joins-the-purism-advisory-board/">Nicole Færber joins the Purism Advisory Board</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>SAN FRANCISCO, October 3rd, 2016 — Purism is pleased to announce the addition of Nicole Færber to its <a href="https://puri.sm/posts/purism-announces-the-creation-of-its-advisory-board/">previously announced</a> Advisory Board. Together, the Advisory Board members bring their vision and decades of experience in cybersecurity, privacy protection, and digital freedom—to Purism&#8217;s product development, as the company continues to create products that finally address privacy and digital rights by default, rights that 86% of computer users cite as a concern.</p>
<p>Nicole Færber is a veteran of the embedded and mobile Free and Open Source software ecosystem. At the turn of the millennium she founded an embedded software development and consulting company; she continues helping clients succeed to this day, be it with her team of experts at <em>Kernel Concepts</em> and <em>ID3P</em> or through her own independent consulting practice. She has worked extensively on the GPE Palmtop Environment for the Compaq iPaq, on the Nokia 770 and OpenMoko projects, dealing with the software, hardware, and logistics aspect of many mobile products. Nicole&#8217;s knowledge of hardware suppliers, telecommunication and research companies, will prove highly valuable in advising Purism.<span id="more-6362"></span></p>
<blockquote><p><img class="alignright wp-image-8670" src="https://puri.sm/wp-content/uploads/2016/10/nicole-faerber.png" alt="nicole-faerber" width="111" height="111" srcset="https://puri.sm/wp-content/uploads/2016/10/nicole-faerber.png 219w, https://puri.sm/wp-content/uploads/2016/10/nicole-faerber-150x150.png 150w, https://puri.sm/wp-content/uploads/2016/10/nicole-faerber-100x100.png 100w, https://puri.sm/wp-content/uploads/2016/10/nicole-faerber-180x180.png 180w" sizes="(max-width: 111px) 100vw, 111px" />&#8220;I am delighted to see Purism dare to enter the mobile battlefield from an innovative angle, and will help them succeed with the wisdom and knowledge learned from previous attempts in the industry,&#8221; said Færber. &#8220;Those who posess knowledge and control the flow of information wield immense power. Today, computers are simply the incarnation of knowledge. For the good of society as a whole, we must defend freedom in our computing and telecommunication systems to prevent centralization of information and power.&#8221;</p></blockquote>
<p>&nbsp;</p>
<blockquote><p>&#8220;Our products, beliefs, and innovations are helping people protect their digital life by default,&#8221; said Todd Weaver. &#8220;This board will help us innovate even faster and fuel our immediate growth with collective thought leadership and passion.&#8221;</p></blockquote>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/nicole-faerber-joins-the-purism-advisory-board/">Nicole Færber joins the Purism Advisory Board</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Warrant Canary Updated October 1st 2016</title>
		<link>https://puri.sm/posts/purism-warrant-canary-updated-october-1st-2016/</link>
		<pubDate>Sat, 01 Oct 2016 15:29:45 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=7265</guid>
		<description><![CDATA[<p>Before (or on) the first day of each quarter, Purism, following the general rules of warrant canaries, will update its own Warrant Canary page if none of the listed items occurs. Warrant Canary, October 1st 2016 We have not placed any backdoors into our software or hardware, and we have not complied with any requests [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-october-1st-2016/">Purism Warrant Canary Updated October 1st 2016</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Before (or on) the first day of each quarter, Purism, following the general rules of <a href="https://en.wikipedia.org/wiki/Warrant_canary">warrant canaries</a>, will update its own <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> if none of the listed items occurs.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1005" src="https://puri.sm/wp-content/uploads/2015/05/warrant-canary-64x70px.png" alt="warrant-canary-64x70px" width="64" height="70" /></p>
<h1 style="text-align: center;">Warrant Canary, October 1st 2016</h1>
<ol>
<li>We have not placed any backdoors into our software or hardware, and we have not complied with any requests to do so.</li>
<li>We have not received, nor complied with any National Security Letters or FISA court orders.</li>
<li>We have not been subject to any gag order by a FISA court.</li>
</ol>
<p>The next statement will be published on the first day of each quarter (January 1st, April 1st, July 1st, October 1st). Please refer to the <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> for details and digital signatures.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-october-1st-2016/">Purism Warrant Canary Updated October 1st 2016</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Digital media transcoding – Part 2 – FFmpeg GUI with Kdenlive</title>
		<link>https://puri.sm/posts/digital-media-transcoding-part-2-transcoding-gui-with-kdenlive/</link>
		<pubDate>Fri, 23 Sep 2016 14:14:21 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Tips and tricks]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=6518</guid>
		<description><![CDATA[<p>This is the second part of my articles about media conversion with free software. Here is part 1. This time, I will talk about transcoding your files with a nice and flexible graphical user interface. I have been looking for a free and open source front-end to FFmpeg that would just specialize in media transcoding, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/digital-media-transcoding-part-2-transcoding-gui-with-kdenlive/">Digital media transcoding – Part 2 – FFmpeg GUI with Kdenlive</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This is the second part of my articles about media conversion with free software. <a href="https://puri.sm/posts/digital-media-transcoding-part-1-ffmpeg/">Here is part 1.</a></p>
<p>This time, I will talk about transcoding your files with a nice and flexible graphical user interface.</p>
<p>I have been looking for a free and open source front-end to FFmpeg that would just specialize in media transcoding, but I haven&#8217;t been able to find one so far. Instead I use the video editing software Kdenlive, that is built on top of FFmpeg and integrates a very good interface for media encoding.</p>
<p><strong>PureOS</strong>, <strong>Kdenlive</strong> and my <strong>Librem 13</strong> is a perfect combination for my free, libre video editing. Gosh, I don&#8217;t regret my old Apple/Adobe workstation!</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/studio_libre.jpg"><img class="alignnone wp-image-5973 size-large" src="https://puri.sm/wp-content/uploads/2016/09/studio_libre-1024x576.jpg" alt="studio_libre" width="700" height="394" srcset="https://puri.sm/wp-content/uploads/2016/09/studio_libre-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2016/09/studio_libre-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2016/09/studio_libre-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2016/09/studio_libre.jpg 1280w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<h2>Installing Kdenlive in PureOS or Debian</h2>
<p>Kdenlive comes at its latest version on PureOS. If it is not already installed, open up a terminal and type :</p>
<div class="code">sudo apt install kdenlive</div>
<p>You are ready to go!</p>
<h2>Single file transcoding</h2>
<p>There are several ways to transcode your files with Kdenlive. This first one will let you trim your file or add any effect to it. It is good for the purpose of transcoding a single file to be streamed on the web for example, or transcoding several files manually, one by one.</p>
<p>First of all, you need to open Kdenlive and drop the file you want to transcode in the Project Bin. You may just drag the file from your file manager into it. Kdenlive should display a message asking you to switch the project&#8217;s settings to match your file size and framerate. Just click &#8220;Switch&#8221;</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/bin1.jpg"><img class="size-full wp-image-6531 alignnone" src="https://puri.sm/wp-content/uploads/2016/09/bin1.jpg" alt="bin1" width="394" height="432" srcset="https://puri.sm/wp-content/uploads/2016/09/bin1.jpg 394w, https://puri.sm/wp-content/uploads/2016/09/bin1-274x300.jpg 274w" sizes="(max-width: 394px) 100vw, 394px" /></a></p>
<p>Then, place this file on your timeline. Make sure that the clip is positioned at the beginning of the timeline. At this point, you may trim your clip or add any effect to it.</p>
<p>Click the &#8220;Render&#8221; button that is positioned on the top toolbar. You may also go to Project-&gt;Render.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/render1.jpg"><img class="size-full wp-image-6532 alignnone" src="https://puri.sm/wp-content/uploads/2016/09/render1.jpg" alt="render1" width="121" height="39" /></a></p>
<p>The rendering window will appear.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/rendering1.jpg"><img class="size-full wp-image-6533 alignnone" src="https://puri.sm/wp-content/uploads/2016/09/rendering1.jpg" alt="rendering1" width="370" height="540" srcset="https://puri.sm/wp-content/uploads/2016/09/rendering1.jpg 370w, https://puri.sm/wp-content/uploads/2016/09/rendering1-206x300.jpg 206w" sizes="(max-width: 370px) 100vw, 370px" /></a></p>
<p>The easiest way to encode is to :</p>
<ol>
<li>choose a destination and name for your output file;</li>
<li>choose a predefined output format;</li>
<li>make sure that &#8220;Full project&#8221; is selected;</li>
<li>click &#8220;Render to File&#8221;.</li>
</ol>
<p>You may also get access to more advanced settings by checking &#8220;More options&#8221;</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/rendering2.jpg"><img class="size-full wp-image-6534 alignnone" src="https://puri.sm/wp-content/uploads/2016/09/rendering2.jpg" alt="rendering2" width="686" height="540" srcset="https://puri.sm/wp-content/uploads/2016/09/rendering2.jpg 686w, https://puri.sm/wp-content/uploads/2016/09/rendering2-300x236.jpg 300w" sizes="(max-width: 686px) 100vw, 686px" /></a></p>
<p>There you can specify your own FFmpeg settings as well as rescaling the output. Note that the parameters in this windows are based on MLT which is a multimedia framework built on top of FFmpeg, so the syntax may differ a bit from FFmpeg. Here is the <a href="https://www.mltframework.org/docs/">MLT documentation</a>.</p>
<p>If you wish to add your own encoding profile to the list, just click on the &#8220;Create new profile&#8221; icon. A new dialog will appear with the settings of the current selected profile. Just update it and save it. You will then be able to select it from the list any time.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/new_profile1.jpg"><img class="size-full wp-image-6535 alignnone" src="https://puri.sm/wp-content/uploads/2016/09/new_profile1.jpg" alt="new_profile1" width="329" height="655" srcset="https://puri.sm/wp-content/uploads/2016/09/new_profile1.jpg 329w, https://puri.sm/wp-content/uploads/2016/09/new_profile1-151x300.jpg 151w" sizes="(max-width: 329px) 100vw, 329px" /></a></p>
<h2>Multiple files transcoding</h2>
<p>This time we will see an easy way to transcode multiple files at once. It can also work for a single file but won&#8217;t give you the ability to trim it.</p>
<p>Move all the files you wish to transcode to the Kedenlive Project Bin.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/bin2.jpg"><img class="alignnone size-full wp-image-6546" src="https://puri.sm/wp-content/uploads/2016/09/bin2.jpg" alt="bin2" width="393" height="433" srcset="https://puri.sm/wp-content/uploads/2016/09/bin2.jpg 393w, https://puri.sm/wp-content/uploads/2016/09/bin2-272x300.jpg 272w" sizes="(max-width: 393px) 100vw, 393px" /></a></p>
<p>Select them all and right click on one of them. Select &#8220;Transcode&#8221; and choose the desired format here.</p>
<p>A popup will appear, giving you some options. Click OK. The transcoded files should be created in the same folder as the original ones.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/transcoding1.jpg"><img class="size-full wp-image-6537 alignnone" src="https://puri.sm/wp-content/uploads/2016/09/transcoding1.jpg" alt="transcoding1" width="322" height="224" srcset="https://puri.sm/wp-content/uploads/2016/09/transcoding1.jpg 322w, https://puri.sm/wp-content/uploads/2016/09/transcoding1-300x209.jpg 300w, https://puri.sm/wp-content/uploads/2016/09/transcoding1-230x160.jpg 230w" sizes="(max-width: 322px) 100vw, 322px" /></a></p>
<p>If you wish to add your own profile to the list, go to &#8220;Settings&#8221;-&gt;&#8221;Configure Kdenlive&#8230;&#8221;. There, select the &#8220;Transcode&#8221; tab.</p>
<p>Selecting an existing profile will pre-load the fields. Modify the properties, give it a name and click &#8220;Add Profile&#8221;. You will then find your new profile in the &#8220;Transcode&#8221; submenu.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/config1.jpg"><img class="size-full wp-image-6538 alignnone" src="https://puri.sm/wp-content/uploads/2016/09/config1.jpg" alt="config1" width="715" height="625" srcset="https://puri.sm/wp-content/uploads/2016/09/config1.jpg 715w, https://puri.sm/wp-content/uploads/2016/09/config1-300x262.jpg 300w" sizes="(max-width: 715px) 100vw, 715px" /></a></p>
<h2>Conclusion</h2>
<p>You may have noticed that the profile lists are different if you choose the first or second method. This is part of a traditional post production worflow.</p>
<p>Generally, the first method, which is rendering your timeline is used for the final rendering of your project. This final rendering may be sent to additional processing like VFX or color grading. It may also just be the final output ready for delivery (broadcast, web streaming etc&#8230;)</p>
<p>The second method is used to store your footage into high quality (lossless) video files to be used as the reference, highest quality video files during the editing. While the editing itself may be done using much smaller lighter &#8220;proxy&#8221; files, the final rendering should be based on these high quality files.</p>
<p>I will describe in details the formats (all free) that I use in every step of my post production workflow. Stay tuned! 🙂</p>
<p>feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/digital-media-transcoding-part-2-transcoding-gui-with-kdenlive/">Digital media transcoding – Part 2 – FFmpeg GUI with Kdenlive</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>We updated our FAQ — Here&#8217;s why it matters</title>
		<link>https://puri.sm/posts/we-updated-our-frequently-asked-questions-why-it-may-be-more-important-than-you-think/</link>
		<pubDate>Fri, 09 Sep 2016 14:38:18 +0000</pubDate>
		<dc:creator><![CDATA[James Rufer]]></dc:creator>
				<category><![CDATA[Customer Satisfaction]]></category>
		<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Social media]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=6021</guid>
		<description><![CDATA[<p>Recently, we have updated our Frequently Asked Questions. “Who cares!” you might say. Well, here’s why I think it may be more important than you think. For the longest time we had five FAQ’s. Five. As a small company with little staff, FAQ’s and documentation were initially not as big of a priority as they [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/we-updated-our-frequently-asked-questions-why-it-may-be-more-important-than-you-think/">We updated our FAQ — Here&#8217;s why it matters</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Recently, we have updated our <a href="https://puri.sm/faq/">Frequently Asked Questions</a>. “Who cares!” you might say. Well, here’s why I think it may be more important than you think. For the longest time we had five FAQ’s. Five. As a small company with little staff, FAQ’s and documentation were initially not as big of a priority as they perhaps should have been. Things that needed to be addressed have often been put on the back burner as we had larger issues to address. But, in recent weeks, we have begun to try and make changes in our approach, changes in our communication with you.</p>
<p>As we have begun this process, we are altering our previous method of outreach and communication to focus, quite simply, on these aspects: “more,” “better” and “engagement.” We have heard many of your calls for us to communicate more often and better.  We consider important, especially for the free and open source community, to have engagement and a back and forth dialogue between you and us. From here on, this blog will be updated more often with all of us chipping in at times. Our FAQ’s have been updated to address many of the common questions that we get asked and it will continue to be updated as more questions come in to us. With our new communication team, we have also recently changed our approach on social media as well, aiming for more engaging conversations with you and moving away from the previous “privacy news fire hose” approach where we were sharing too many Fear, Uncertainty &amp; Doubt (FUD) articles that overall impaired our credibility. All in all, we’d like to bring some fun back to our social media process and to talk WITH you instead of AT you.</p>
<p>Recently our staff at Purism has <a href="https://puri.sm/about/">grown</a>. We have more, dedicated people in key positions to assist you and provide you with timely answers. Our community <a href="https://forums.puri.sm/">forums</a> have undergone a significant improvement moving away from the barren wasteland of spam and unanswered posts to one with zero spam and a much improved response time. We have already begun the process of setting up a viewable <a href="https://puri.sm/global-shipping-status/">shipping queue</a> overview, so that you can see where you are in the ordering process. Finally, we have set up a new email, feedback(at)wp.puri.sm, along with increasing the number of people that the support(at)wp.puri.sm emails go to in another effort to improve communication. No longer will your emails, posts, and questions go unanswered.</p>
<p>The truth is this: we realize that we have made mistakes in our past communications and we are now trying our best to correct many of them with our new team dedicated to this. Certain things on our part have not been addressed, explained correctly – or explained at all &#8211; and this has led to several miscommunications between us and you. We realize that we will have to regain some of your trust and respect and we hope that these changes are met with your approval.</p>
<p>So, the FAQ’s have been updated. “Who cares,” you say? We do.</p>
<p>Question? Comment? Send an email to feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/we-updated-our-frequently-asked-questions-why-it-may-be-more-important-than-you-think/">We updated our FAQ — Here&#8217;s why it matters</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Kdenlive 16.08 + Animated Pepper &#038; Carrot</title>
		<link>https://puri.sm/posts/kdenlive-16-08-animated-pepper-carrot/</link>
		<pubDate>Wed, 07 Sep 2016 09:16:09 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[FLOSS applications]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5865</guid>
		<description><![CDATA[<p>While completing my next tutorial about media trans-coding with free software, I would like to share with you two great things that happened in the world of freedom, in term of art and creative tools, lately. Kdenlive 16.08 is out! This first one is an exiting one and is about the release of Kdenlive 16.08. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/kdenlive-16-08-animated-pepper-carrot/">Kdenlive 16.08 + Animated Pepper &#038; Carrot</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>While completing my next tutorial about media trans-coding with free software, I would like to share with you two great things that happened in the world of freedom, in term of art and creative tools, lately.</p>
<h2>Kdenlive 16.08 is out!</h2>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/kdenlive.jpg"><img class="size-medium wp-image-5867 alignleft" src="https://puri.sm/wp-content/uploads/2016/09/kdenlive-300x158.jpg" alt="kdenlive" width="300" height="158" /></a>This first one is an exiting one and is about <a href="https://kdenlive.org/2016/08/kdenlive-16-08-0-is-here/" target="_blank">the release of Kdenlive 16.08</a>.</p>
<p>I often hear people saying that there is no good free, libre video editing software. Well it was also my opinion a few months ago but I don&#8217;t agree with this anymore. Kdenlive was already a very capable and solid video editor a few versions ago and, with this version, it is starting to be a very serious option for professional quality work.</p>
<p>Kdenlive is actively developed and the team of contributors manages to release 3 new versions a year. On each of them, they do a lot of bug fixing and a few amazing new features.</p>
<p>This new version adds a couple of very useful features like live preview rendering as a background job. I wish to say a big thank you to the Kdenlive team for their achievement!</p>
<p>I will come back to Kdenlive usage in future posts anyway, so stay tuned!</p>
<p>Working on Kdenlive with the power and comfort of a Librem is a real pleasure! The Librem is as fast as those free software are lightweight comparing to their proprietary alternatives. I don&#8217;t miss my old proprietary workflow at all. To be honest, I never had such a comfortable and fast user experience.</p>
<p>&nbsp;</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/09/studio_libre.jpg"><img class="alignnone wp-image-5973 size-large" src="https://puri.sm/wp-content/uploads/2016/09/studio_libre-1024x576.jpg" alt="studio_libre" width="700" height="394" srcset="https://puri.sm/wp-content/uploads/2016/09/studio_libre-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2016/09/studio_libre-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2016/09/studio_libre-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2016/09/studio_libre.jpg 1280w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>Check out my &#8220;Studio Libre&#8221;! It is where all the film and animation&#8217;s magic happens. It features the Librem 13, running PureOS 2.1 on an super fast M.2 SSD drive with some of my daily applications (Kdenlive, Blender, MyPaint).</p>
<p>Who said that in order to get freedom, you would have to sacrifice hardware speed and comfort ?</p>
<p>Note that the Cintiq tablet is plugged into my old computer (also running PureOS 2.1). I use it for animations and drawing clean-up. This heavy setup is to be replaced by a more powerful, libre and lightweight Librem 11.</p>
<p>&nbsp;</p>
<h2>Pepper &amp; Carrot goes animated!</h2>
<p><a href="https://www.indiegogo.com/projects/pepper-and-carrot-motion-comic/#/"><img class="alignright" src="https://c1.iggcdn.com/indiegogo-media-prod-cld/image/upload/c_fill,f_auto,h_240,w_320/v1472573704/avmqdw2f7v1upp5imak1.jpg" width="320" height="240" /></a>The second one is about a crowd-funding campaign to make an animated version of the web comic &#8220;Pepper &amp; Carrot&#8221;.</p>
<p>As an animator myself, I have been delighted by this news.</p>
<p>If you still don&#8217;t know Pepper &amp; Carrot, you may check <a href="http://www.peppercarrot.com/" target="_blank">this website</a>. It is a web comic, by French independent artist David Revoy, telling the story of a young witch (Pepper) and her cat (Carrot) in a fantasy world made of potions, magic and funny creatures. David Revoy, uses only free software (mostly Krita) to create this comic and releases it under a CC-BY license.</p>
<p>The animated version would be made by Russian independent animator Nikolai Mamashev, also using only free software and releasing it under a copyleft license (CC-BY-SA).</p>
<p>Both artists are very talented and know what they do.</p>
<p>I think that the success of this crowd-funding campaign is very important for the popularity of our philosophy of freedom as the web comic is starting to get a lot of attention (even from big comics publishers) and this animated version would get its public straight away. It would give a lot of credibility and popularity to free art, free tools and of course, it would show that success is possible with doing things the ethical way.</p>
<p>So if you wish to contribute or spread the word, <a href="https://www.indiegogo.com/projects/pepper-and-carrot-motion-comic/#/" target="_blank">here is the crowd-funding page</a>.</p>
<p>&nbsp;</p>
<h2>On a personal note&#8230;</h2>
<p>I wish to add that this post has been written from my own initiative as a supporter of libre art and neither Purism nor myself are technically or financially involved in these projects.</p>
<p>My only point here, is that the existence of very capable and professional free, libre creative tools helps the development of libre art creations by attracting more artists. In return, this great art helps making the tools as well as our philosophy of freedom more popular.</p>
<p>This is a virtuous circle in which we already stand. It is, in my opinion, an unstoppable and an exponential movement as the more popularity it gets, the more beautiful and enjoyable it is for everyone. This movement is very slowly (soon much faster) changing our world for the benefit of the people&#8217;s interest. One little free licensed creation at a time.</p>
<p>Here at purism we wish to contribute to this ethical world by building modern and powerful computers that are focused on their users freedom only.</p>
<p>In the world of freedom, competition is not discriminating and, as everything is made for the public interest, the success of one project is the success of everyone.</p>
<p>&nbsp;</p>
<p>Thoughts ? Send them to feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/kdenlive-16-08-animated-pepper-carrot/">Kdenlive 16.08 + Animated Pepper &#038; Carrot</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Devlog #2</title>
		<link>https://puri.sm/posts/purism-devlog-2/</link>
		<pubDate>Sun, 04 Sep 2016 19:21:41 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Communications infrastructure]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5876</guid>
		<description><![CDATA[<p>Lets start this devlog with some good news, that we believe will make a lot of users happy and that it  will satisfy a few trolls as well. We moved away from Cloudflare. It was creating problems for Tor browser users (which was kind of ironic as we shipped with Tor browser on our machines [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-devlog-2/">Purism Devlog #2</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Lets start this devlog with some good news, that we believe will make a lot of users happy and that it  will satisfy a few trolls as well. We moved away from Cloudflare. It was creating problems for Tor browser users (which was kind of ironic as we shipped with Tor browser on our machines as default) and the temporary solution was to whitelist all Tor nodes. We are  now finally Cloudflare free. Also our certificates are now from famous and all-loving LetsEncrypt, on all our servers.</p>
<p>With huge efforts to create PureOS infra, we also decided that now is the time for an entire transition. That is why we are moving all our services to a secure facility where we run our own dedicated servers. Fun times! Let us know if we broke  something during our transition! This is all brought to you by ever growing Purism team.</p>
<p>As we are approaching a day when PureOS infrastructure will soon be set up (hopefully in next 2 weeks), we also issue a call for volunteers. There will be wiki (which we need to populate with documentation, tutorials, ideas and magic), PureOS website (anyone eager to try their design and web coding skills?), bugtracker (oh yes, we all need that), code hosting (what would be an Free OS without Freedom code hosting service? 🙂 ) and many more goodies. Also, we issue call for ideas &#8211; if you have an idea on  how to improve any of above mentioned things please feel free to share. We want to find out what our users need and we will try to implement that with security and privacy in mind . Our vision and mission is to integrate Freedom, privacy and security. Lets talk how to improve Free software/hardware and society! IRC (#purism on freenode) and feedback@puri.sm are your friends for that.</p>
<p>What would be a devlog without bad news? I don&#8217;t have an answer for this but here are the bad news. While regular PureOS 2.1 image installs fine on all hardware (yes, even the NVMe SSDs) the OEM ISO fails. We are investigating this and hopefully we will resolve it this week, stay tuned. I am also very  pleased  regarding bugtracker &#8211; while we support people discussing in forums, it is a bit of an overload for our stuff to forward  complaints to us and then we through our support contact them back via forums (or in some cases mails) we must find a way to improve this. After all we are an open community and we must offer transparency in our bug reports, easy searchable by community and our stuff.</p>
<p>What is going on with Purist Services &#8211; well, we are issuing a volunteer call for people interested to work and chat with Joey Hess (our lead architect on this). Skills: knowledge about XMPP, OMEMO, IM, voice/audio calls (people that work and use Ring are of high interest to us. At least to our technical lead 😉 ), encrypted mails, UI/UX design (we need somehow to level up GPG usage and without really easy UI we are doomed to fail).</p>
<p>The last but not least &#8211; regarding all infrastructure build up, old PureOS infra will be the last to shut down. This means that you will  still have some issues with our archive. although we take all your reports seriously and fix them ASAP and we we are also preparing PureOS 2.2 release with it.</p>
<p>P.S. sneak peak for PureOS 3.0 which will get released with new infra &#8211; its codename will be Prometheus! That&#8217;s enough juicy details for now!!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-devlog-2/">Purism Devlog #2</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism announces the creation of its Advisory Board</title>
		<link>https://puri.sm/posts/purism-announces-the-creation-of-its-advisory-board/</link>
		<pubDate>Tue, 30 Aug 2016 17:00:48 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Press Releases]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5688</guid>
		<description><![CDATA[<p>SAN FRANCISCO, August 30, 2016 — Purism is pleased to announce the creation of its Advisory Board, comprised of top-tier experts from the Free Software community: Kyle Rankin, Matthew Garrett, Aaron Grattafiori, and Stefano Zacchiroli. Together, they bring their vision—with decades of experience in cybersecurity, privacy protection, and digital freedom—to Purism&#8217;s product development, as the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-announces-the-creation-of-its-advisory-board/">Purism announces the creation of its Advisory Board</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>SAN FRANCISCO, August 30, 2016 — Purism is pleased to announce the creation of its Advisory Board, comprised of top-tier experts from the Free Software community: <strong>Kyle Rankin, Matthew Garrett, Aaron Grattafiori,</strong> and <strong>Stefano Zacchiroli.</strong> Together, they bring their vision—with decades of experience in cybersecurity, privacy protection, and digital freedom—to Purism&#8217;s product development, as the company continues to create products that finally address privacy and digital rights by default, rights that 86% of computer users cite as a concern.</p>
<p><img class="wp-image-5732 size-full" style="width: 100%; height: auto;" src="https://puri.sm/wp-content/uploads/2016/08/2016-08-adboard-combined.png" alt="2016-08-adboard-combined" srcset="https://puri.sm/wp-content/uploads/2016/08/2016-08-adboard-combined.png 816w, https://puri.sm/wp-content/uploads/2016/08/2016-08-adboard-combined-300x62.png 300w, https://puri.sm/wp-content/uploads/2016/08/2016-08-adboard-combined-768x158.png 768w" sizes="(max-width: 816px) 100vw, 816px" /></p>
<blockquote><p>&#8220;We are honored to partner with these industry experts I respect and have learned so much from,&#8221; said Purism CEO, Todd Weaver. &#8220;I look forward to their guidance during our tremendous growth, deepening our industry partnerships, launching new products and services, expanding into new markets, and addressing new customer needs.&#8221;</p></blockquote>
<p>Kyle Rankin will chair the board and advise Purism in secure defaults, best practices in user security tools, privacy tools, and software choices that respect freedom. Kyle is a hardcore sysadmin and prolific author on security, privacy, GNU/Linux, free/libre and open source software, and speaks regularly on these matters.</p>
<blockquote><p>&#8220;I&#8217;ve been following Purism since the beginning of their Librem 15 campaign and reviewed both it and the Librem 13 prototypes early on. I was so impressed with the Librem 13 prototype that I placed one of the first orders, and have been using it as my primary laptop ever since. I am very excited to help Purism challenge the existing hardware market with products that put user privacy, security, and freedom first,&#8221; said Rankin.</p></blockquote>
<p>Matthew Garrett is advising Purism on threats to security and privacy, and on best practices to solve them with Free Software. Matthew is a technologist, programmer, Free Software activist, and is known for his major contributions to Linux, GNOME, Debian, Ubuntu, and Red Hat&#8217;s product lines. He is a board member of the Free Software Foundation (FSF), and a recipient of the Free Software Award from the FSF for his work on Secure Boot, UEFI, and the Linux kernel.</p>
<blockquote><p>&#8220;Privacy, security and freedom require hardware that&#8217;s entirely under the owner&#8217;s control. I am honoured to be able to help guide Purism&#8217;s efforts to achieve that goal,&#8221; said Garrett.</p></blockquote>
<p>Aaron Grattafiori is advising Purism on various matters relating to security and privacy. By day, Aaron is a Technical Director at the NCC Group which has been hacking on computers for more than a decade. Aaron&#8217;s comprehensive security whitepaper was recently touted as the &#8220;War and Peace&#8221; of Linux container security. A regular speaker at leading security conferences, Aaron maintains a lasting passion for technologies that empower users with security and freedom.</p>
<blockquote><p>&#8220;In this day and age, it is important to use security-centric and ideally privacy-respecting software. In the post-Snowden era, users who value privacy should understand the benefits provided by free and open source software, and the overall risks by closed source software and platforms.&#8221; said Grattafiori.</p></blockquote>
<p>Stefano Zacchiroli is an Associate Professor of Computer Science at Paris Diderot University and Inria. He is a co-founder and current CTO of the Software Heritage project. Stefano has been an official developer of the Debian Project since 2001, and was elected to serve as the Debian Project Leader for three consecutive terms from 2010 to 2013. He also serves on the Board of Directors of the Open Source Initiative (OSI) and is a recipient of the 2015 O&#8217;Reilly Open Source Award.</p>
<blockquote><p>&#8220;I am excited by the possibilities that Purism and PureOS represent for defending users against current threats to their software freedom and for putting them back in control of their digital lives,&#8221; said Zacchiroli. &#8220;I look forward to help Purism navigate this complex ecosystem, continuing their promising journey to an entirely free software and hardware stack.&#8221;</p></blockquote>
<p>&nbsp;</p>
<blockquote><p>&#8220;Our products, beliefs, and innovations are helping people protect their digital life by default,&#8221; said Todd Weaver. &#8220;This board will help us innovate even faster and fuel our immediate growth with collective thought leadership and passion.&#8221;</p></blockquote>
<h1>About Purism</h1>
<a href="https://puri.sm/">Purism</a> is a <a href="https://puri.sm/about/social-purpose/">Social Purpose</a> Corporation devoted to bringing security, privacy, <a href="https://en.wikipedia.org/wiki/Free_software" target="_blank" rel="noopener">software freedom</a>, and digital independence to everyone’s personal computing experience.

With operations based in San Francisco (California) and around the world, Purism manufactures <a href="https://puri.sm/products/">premium-quality laptops and phones</a>, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-announces-the-creation-of-its-advisory-board/">Purism announces the creation of its Advisory Board</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>At crossroads for the Librem 15&#8243; 4K: lessons learned from supply chain dependencies</title>
		<link>https://puri.sm/posts/at-crossroads-for-the-librem-15-4k-lessons-learned-from-supply-chain-dependencies/</link>
		<pubDate>Mon, 29 Aug 2016 19:01:27 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Customer Satisfaction]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5623</guid>
		<description><![CDATA[<p>The good news Over the past few months, Purism has made great strides to improve on its hardware and software offering, as well as making your user &#38; customer experience smoother. Besides shipping a hundreds of Librem laptops to backers (we will give you a better overview of this in a separate blog post with [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/at-crossroads-for-the-librem-15-4k-lessons-learned-from-supply-chain-dependencies/">At crossroads for the Librem 15&#8243; 4K: lessons learned from supply chain dependencies</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1>The good news</h1>
<p>Over the past few months, Purism has made great strides to improve on its hardware and software offering, as well as making your user &amp; customer experience smoother. Besides shipping a hundreds of Librem laptops to backers (we will give you a better overview of this in a separate blog post with interesting data visualizations):</p>
<ul>
<li>We have been progressively expanding <a href="https://puri.sm/about/">our team</a> to scale our business, infrastructure, and improve our communication.</li>
<li>We have <a href="https://puri.sm/posts/purism-store/">deployed our own integrated store</a> to have better control over sales, connect with our factory&#8217;s operations, and reinvest cost savings into our research &amp; development.</li>
<li><a href="https://puri.sm/posts/purism-ceo-todd-weaver-interviewed-on-the-new-screensavers-episode-65/"><img class="alignright wp-image-5625 " title="Todd Weaver interviewed on The New Screensavers" src="https://puri.sm/wp-content/uploads/2016/08/todd-weaver-on-the-new-screensavers-episode-65-1024x576.jpg" alt="Todd Weaver interviewed on The New Screensavers" width="432" height="243" srcset="https://puri.sm/wp-content/uploads/2016/08/todd-weaver-on-the-new-screensavers-episode-65-1024x576.jpg 1024w, https://puri.sm/wp-content/uploads/2016/08/todd-weaver-on-the-new-screensavers-episode-65-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2016/08/todd-weaver-on-the-new-screensavers-episode-65-768x432.jpg 768w, https://puri.sm/wp-content/uploads/2016/08/todd-weaver-on-the-new-screensavers-episode-65.jpg 1280w" sizes="(max-width: 432px) 100vw, 432px" /></a>We started a petition to help us negotiate with Intel for a &#8220;ME-less&#8221; chip design, and <a href="https://puri.sm/posts/intel-me-less-petition-goal-met-early/">met the goal early</a>.
<ul>
<li>Why is this important? Read more about <a href="https://puri.sm/learn/avoiding-intel-amt/">how we are currently avoiding the Intel AMT surveillance system in our chips</a>.</li>
<li>See also <a href="https://puri.sm/posts/purism-ceo-todd-weaver-interviewed-on-the-new-screensavers-episode-65/">our CEO&#8217;s recent appearance on episode 65 of The New Screensavers</a> with Leo Laporte, where he also touches upon this issue.</li>
</ul>
</li>
<li>We have started a series of blog posts oriented towards developers and artists: <a href="https://puri.sm/?s=devlog">the DevLogs</a> and <a href="https://puri.sm/posts/author/francois-techene/">François&#8217; articles</a>.</li>
<li>Our CTO, Zlatan, has officially <a href="https://puri.sm/posts/purisms-zlatan-todoric-is-officially-a-debian-developer/">attained the prestigious &#8220;Debian Developer&#8221; status</a>.</li>
<li>We have been <a href="https://puri.sm/posts/purism-announces-the-creation-of-its-advisory-board/">assembling a great team of independent industry experts</a> to help us as part of our advisory board.</li>
</ul>
<p>Over the past year, we have been offering the option to pre-order the Librem 15 with a 4K (UltraHD/HiDPI) display. Our screen suppliers wanted to move to 4K as their standard offering, and sold us that it would be ready in time for us.</p>
<p>While we have been shipping hundreds of regular (1920&#215;1080) Librem 15&#8243; and Librem 13&#8243; models, those of you who chose to order the 4K variant of the Librem 15&#8243; model had to wait for the 4K displays to become available through our supply chain. A couple of delays happened, and we made it a point to always keep you up to date on the situation (as seen <a href="https://puri.sm/posts/purism-librem-shipping-status/">here</a>, <a href="https://puri.sm/posts/librem-15-rev2-2k-and-4k-status/">here</a> and <a href="https://puri.sm/posts/4k-at-last-purism-librem-15-rev2-4k/">here</a>). This summer, we were reasonably confident we would still be able to ship these 4K models by October this year.</p>
<h1>The bad news</h1>
<p><img class=" wp-image-5624 alignright" src="https://puri.sm/wp-content/uploads/2016/08/football-goal-formations-tactics-1024x512.jpg" alt="football-goal-formations-tactics" width="508" height="254" srcset="https://puri.sm/wp-content/uploads/2016/08/football-goal-formations-tactics-1024x512.jpg 1024w, https://puri.sm/wp-content/uploads/2016/08/football-goal-formations-tactics-300x150.jpg 300w, https://puri.sm/wp-content/uploads/2016/08/football-goal-formations-tactics-768x384.jpg 768w, https://puri.sm/wp-content/uploads/2016/08/football-goal-formations-tactics.jpg 1200w" sizes="(max-width: 508px) 100vw, 508px" /></p>
<p>Today&#8217;s blog post is painful to write but necessary, as it continues our tradition of accountability towards you. Even as we poured our heart and soul into trying to make 4K happen, external factors made plan A, plan B, and even plan C derail. LG (and its subsidiaries) has now let us down, just like Samsung did, putting us back onto &#8220;infinite backorder with no ETA&#8221;. The difference, this time, is that there are no more &#8220;easily&#8221; accessible 4K display panels suppliers left to turn to, bringing us back to square one when it comes to this particular component. Everything else in the supply chain, including our own operations, was aligned and going well, so it&#8217;s not for lack of work and efforts on our part. Our mistake was to readily believe Samsung and LG on the future availability of their screens.</p>
<p>At this point, we don&#8217;t think having you wait any more is acceptable, so we&#8217;re giving up on the 4K variant of the Librem 15 for now; we will be providing the regular Librem 15 instead, along with other models and their upcoming revisions. We are going back to &#8220;2K&#8221; so that we can confidently ship the goods without introducing any further delays undermining your trust in what we&#8217;re doing.</p>
<p>Rest assured this not a decision we are taking lightly. We made heavy investments trying to make this happen, and have spent sums that we cannot recoup: approximately $75,000 in assembly line retooling and deposits for 4K screens to Samsung and LG for orders that will, it seems, never materialize. We are trying to negotiate and recover some of the supplier deposits, but at this point we have to consider this money a net loss. On the other hand, we&#8217;ve made other investments early in our campaign that were worth it (for example: $50k to place an initial order for rarer Intel CPUs requested by some backers, $25k to retool the motherboard to 6 layers to support 32GB of RAM, progressively growing our team&#8230;).</p>
<p>We will be intensifying our product &amp; service development pace, and we are still working on everything else part of our <a href="https://puri.sm/about/social-purpose/">mission</a> (including the Intel ME issue, achieving FSF endorsement of our software and working toward <a href="http://www.fsf.org/resources/hw/endorsement/respects-your-freedom">FSF RYF</a> certification of our hardware in the long term). <strong>With your help, we can do this.</strong></p>
<h1>The updated operations roadmap</h1>
<figure id="attachment_5677" style="width: 800px" class="wp-caption alignnone"><img class="size-full wp-image-5677" src="https://puri.sm/wp-content/uploads/2016/08/roadmap_sketch_by-francoist-small.png" alt="&quot;The roadmap&quot;, courtesy of our creative director François Téchené" width="800" height="480" srcset="https://puri.sm/wp-content/uploads/2016/08/roadmap_sketch_by-francoist-small.png 800w, https://puri.sm/wp-content/uploads/2016/08/roadmap_sketch_by-francoist-small-300x180.png 300w, https://puri.sm/wp-content/uploads/2016/08/roadmap_sketch_by-francoist-small-768x461.png 768w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-caption-text">&#8220;The roadmap&#8221;, artwork courtesy of our creative director François Téchené</figcaption></figure>
<p>We may revisit the switch to 4K later, when we can get absolute certainty about it (no more preorders, we&#8217;ll only believe display manufacturers when they have the 4K panels in stock and ready to ship for us immediately), but for now we must regroup our forces to win this war.</p>
<p>Our plans (for the next 12-24 months) are now:</p>
<ol>
<li>Begin shipping the 1920&#215;1080 version of the Librem 15 in September and into October (instead of the 4K variant), as per the options provided to you further below.</li>
<li>Order enough materials for the Librem 11, 13 and 15, so we can ship from stock (without having long delays discouraging people from buying).</li>
<li>Plan/design our upcoming Purism phone (we will be posting a survey about this soon, stay tuned!).<br />
In mid-2017, redesign the Librem 13 and Librem 15, including ways to meet the hardware selection criteria to qualify for &#8220;RYF&#8221; certification by the Free Software Foundation.</li>
<li>Release &#8220;Purist Services&#8221; (our upcoming secure and private telecommunications infrastructure for you to use).</li>
<li>Launch the Purism phone as an invite-only pre-order campaign.</li>
<li>Launch the new Librem 13 and Librem 15, ship from stock for all orders.</li>
</ol>
<h1>What are my options if I pre-ordered a Librem 15 &#8220;4K&#8221;?</h1>
<p>Should you choose to get the Librem 15 with the 1920&#215;1080 IPS screen as originally planned, which we do have in stock (a bit over 50 units that we can assemble and ship quickly; we will re-stock soon to meet the demand and ship the remainder during September-October), you have the following compensation options:</p>
<ol>
<li>Maintaining the configuration and pricetag you paid, and getting 150% of the difference in credit for our future products (including our upcoming Purism phone). Therefore, the ~$300 price difference of the 4K screen would become $450 in credit that you can reinvest in any of our future products and services. Besides being a pretty interesting &#8220;early bird&#8221; opportunity for you from a pricing standpoint, this will help us get faster to the goal of providing the Purism phone and Purist Services infrastructure. You will also get an invitation to be among the first ones to try our Purist Services.</li>
<li>Upgrade your RAM and/or SSD on your Librem 15 for up to $450 in value.</li>
<li>Normal refund of the price difference.</li>
</ol>
<p>You can, of course, decide to switch to a different product of ours, such as the Librem 11 or 13, but that means you will have to wait a few more weeks than if you were to choose the original Librem 15.</p>
<p>Please contact us at support@puri.sm to let us know what you would prefer us to do with your order.</p>
<h1>We&#8217;ll need your help to continue this journey.</h1>
<p>As always, <strong>your patronage is an investment</strong> that helps us deliver on our promise and make the case for privacy-respecting Free Software computers. We are very grateful to all of you who are supporting us (through purchases, word-of-mouth, feedback, etc.) and making it possible for us to fulfill our mission. If you have any comments, suggestions or encouragements you would like to share, feel free to send us your thoughts at feedback@puri.sm — or come have a chat with us on the &#8220;#purism&#8221; IRC channel on <a href="https://freenode.net/">Freenode</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/at-crossroads-for-the-librem-15-4k-lessons-learned-from-supply-chain-dependencies/">At crossroads for the Librem 15&#8243; 4K: lessons learned from supply chain dependencies</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Digital media transcoding &#8211; Part 1 &#8211; FFmpeg</title>
		<link>https://puri.sm/posts/digital-media-transcoding-part-1-ffmpeg/</link>
		<pubDate>Sat, 27 Aug 2016 16:17:34 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Tips and tricks]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5490</guid>
		<description><![CDATA[<p>Still ready to switch to Free Software for your mulitmedia creations? Let&#8217;s start with understanding the files and formats that we are going to manipulate in our workflow. Codecs and Formats When it comes to multimedia creation and publishing, using the right format, the right codec, converting, scaling, compressing, can be a real pain. Thankfully, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/digital-media-transcoding-part-1-ffmpeg/">Digital media transcoding &#8211; Part 1 &#8211; FFmpeg</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Still ready to switch to Free Software for your mulitmedia creations?<br />
Let&#8217;s start with understanding the files and formats that we are going to manipulate in our workflow.</p>
<h2>Codecs and Formats</h2>
<p><a href="https://puri.sm/wp-content/uploads/2016/08/vcr-1221156_640.jpg"><img src="https://puri.sm/wp-content/uploads/2016/08/vcr-1221156_640-300x169.jpg" alt="vcr-1221156_640" width="300" height="169" class="alignright size-medium wp-image-5560" srcset="https://puri.sm/wp-content/uploads/2016/08/vcr-1221156_640-300x169.jpg 300w, https://puri.sm/wp-content/uploads/2016/08/vcr-1221156_640.jpg 640w" sizes="(max-width: 300px) 100vw, 300px" /></a><br />
When it comes to multimedia creation and publishing, using the right format, the right codec, converting, scaling, compressing, can be a real pain. Thankfully, in the world of Freedom, we have some of the best tools to help us manipulate media files and avoid a lot of frustration.</p>
<p>By the way, what&#8217;s a Format? And what&#8217;s a Codec?</p>
<p>You may wonder what&#8217;s the difference between a format and a codec? Well see it as the format being the container of the entire media file&#8217;s data representing both audio and video, and the codec being the way to encode and decode this data. The same format can hold data described by different codecs. Also a codec can be used with different formats.</p>
<p>As an example, the Matroska (.mkv) format can store either H264 or Theora encoded video and Opus or FLAC audio. Now the OGG format, can also hold Theora video and Opus or Vorbis audio&#8230; Is this making sense?</p>
<p>These are just examples but I have to admit that there are so many different formats and codecs that it is very difficult to see clear sometimes. What I suggest is to use only a few formats and codecs. The ones we really need. I will come back to this point in a future article.</p>
<h2>FFmpeg</h2>
<p>The software that I use for digital media transcoding is <a href="http://ffmpeg.org/" target="_blank">FFmpeg</a>.</p>
<p>FFmpeg is a command line based software that manipulates formats and codecs. Many free software already rely on FFmpeg so you may not need to ever use the commands directly but if you are comfortable with the terminal, FFmpeg can be very useful for quick conversions.</p>
<p>I will cover the basic usage of FFmpeg in this post.</p>
<p>If don&#8217;t like using the terminal or don&#8217;t easily remember commands (just like me), don&#8217;t worry, I will cover media conversions with a clean GUI, in a future post.</p>
<h2>Installing FFmpeg</h2>
<p>FFmpeg being very popular is pretty easy to install and should be directly available in the most common GNU/Linux distributions repositories.</p>
<p>When using PureOS, FFmpeg should be installed by default but if it is not the case, just use the following command in a terminal :</p>
<div class="code">
sudo apt install ffmpeg
</div>
<h2>Using FFmpeg</h2>
<p>In order to get a list of formats supported by FFmpeg, open up a terminal window and type the following command :</p>
<div class="code">
ffmpeg -formats
</div>
<p>And for a list of supported codecs, type the following command :</p>
<div class="code">
ffmpeg -codecs
</div>
<p>As you can see, the list is quite impressive! FFmpeg can manipulate the most common free and proprietary digital audio and visual formats.</p>
<p>Converting a video can be achieved by a simple command line :</p>
<div class="code">
ffmpeg -i input.mov output.webm
</div>
<p>This command converts a Quicktime .mov file to a .webm format with the default encoders (keeping the same scale, framerate and bitrate).</p>
<p>If you need to use a specific codec&#8217;s encoder for the chosen format just specify it in -vcodec (for video) and -acodec (for audio):</p>
<div class="code">
<span class="comment"># Outputs the video in an OGG format using Theora codec for video and Vorbis codec for audio</span><br />
ffmpeg -i input.mov -vcodec libtheora -acodec libvorbis output.ogg</p>
<p><span class="comment"># to get a list of all encoders</span><br />
ffmpeg -encoders
</div>
<p>In order to convert a video to an image sequence, you may do the following :</p>
<div class="code">
<span class="comment"># I create a directory to store the files from my image sequence</span><br />
mkdir sequence<br />
ffmpeg -i input.mov sequence/output_%05d.png
</div>
<p>If you wish to rescale the picture of the video, you can use the -vf option (video filter) and set the &#8220;scale&#8221; value :</p>
<div class="code">
<span class="comment"># Rescales width and height</span><br />
ffmpeg -i input.mov -vf scale=320:240 output.webm</p>
<p><span class="comment"># Rescales width keeping aspect ratio</span><br />
ffmpeg -i input.mov -vf scale=320:-1 output.webm</p>
<p><span class="comment"># Doubles width keeping aspect ratio</span><br />
ffmpeg -i input.mov -vf scale=scale=iw*2:ih output.webm</p>
<p><span class="comment"># Forces the image to fit into a 320&#215;240 box</span><br />
ffmpeg -i input.mov -vf scale=w=320:h=240:force_original_aspect_ratio=decrease output.webm</p>
</div>
<p>If you wish to force a constant bitrate to your video, use the -b option (use -b:v for the video and -b:a for the audio) :</p>
<div class="code">
<span class="comment"># 8Mbit/s for video and 128kbit/s for the audio</span><br />
ffmpeg -i input.mov -b:v 8000k -b:a 128k output.webm
</div>
<p>You may also use -minrate and -maxrate to control the minimum and maximum bit rate tolerance (in bits/s)</p>
<p>These are the conversions that I use the most and represent a very short part of the real potential of FFmpeg. There are many more options and filters so if you want to know more about it, I suggest you browse the <a href="http://ffmpeg.org/ffmpeg.html" target="_blank">FFmpeg documentation</a>.</p>
<p>Coming next, will be a tutorial on media conversion using the great GUI from Kdenlive. To complete this series of articles about media files manipulation, I will share with you the different free formats, codecs and params that I use in my entire video production workflow.</p>
<p>Stay tuned! 😉</p>
<h2>One last thing&#8230;</h2>
<p>As you were patient enough to read this article till the end, here is a little present. It is a script that I use to quickly convert short videos animations to animated GIFs.<br />
This script generates a good quality GIF that is scaled down to 640px wide and ready to be embedded in any webpage. I found it in this <a href="http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html" target="_blank">excellent tutorial.</a></p>
<div class="code">
<span class="comment">#!/bin/sh</span></p>
<p>palette=&#8221;/tmp/palette.png&#8221;</p>
<p>filters=&#8221;fps=24,scale=640:-1:flags=lanczos&#8221;</p>
<p>ffmpeg -v warning -i $1 -vf &#8220;$filters,palettegen&#8221; -y $palette<br />
ffmpeg -v warning -i $1 -i $palette -lavfi &#8220;$filters [x]; [x][1:v] paletteuse&#8221; -y $2
</p></div>
<p>To call this script, just use :</p>
<div class="code">
./gifenc.sh input.mkv output.gif
</div>
<p>Happy free transcoding! 🙂</p>
<p>Thoughts? Send them to feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/digital-media-transcoding-part-1-ffmpeg/">Digital media transcoding &#8211; Part 1 &#8211; FFmpeg</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism&#8217;s Zlatan Todorić is Officially a Debian Developer</title>
		<link>https://puri.sm/posts/purisms-zlatan-todoric-is-officially-a-debian-developer/</link>
		<pubDate>Sat, 27 Aug 2016 10:45:47 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5532</guid>
		<description><![CDATA[<p>Sometimes it&#8217;s nice for a little public congratulations for one of our team members, Zlatan Todorić is now officially a Debian Developer (DD). Becoming a DD is proof-positive of having devotion to free software, since Debian GNU/Linux is the gold standard for a high-quality user-respecting socially-responsible universal operating system. Zlatan, while continuing to benefit Purism [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-zlatan-todoric-is-officially-a-debian-developer/">Purism&#8217;s Zlatan Todorić is Officially a Debian Developer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="size-medium wp-image-2103 alignright" src="https://puri.sm/wp-content/uploads/2014/05/Zlatan-Todoric-Website-Headshot-e1456515860316-205x300.jpg" alt="Zlatan Todoric - Website Headshot" width="205" height="300" srcset="https://puri.sm/wp-content/uploads/2014/05/Zlatan-Todoric-Website-Headshot-e1456515860316-205x300.jpg 205w, https://puri.sm/wp-content/uploads/2014/05/Zlatan-Todoric-Website-Headshot-e1456515860316.jpg 392w" sizes="(max-width: 205px) 100vw, 205px" />Sometimes it&#8217;s nice for a little public congratulations for one of our team members, Zlatan Todorić is now officially a Debian Developer (DD). Becoming a DD is proof-positive of having devotion to free software, since Debian GNU/Linux is the gold standard for a high-quality user-respecting socially-responsible universal operating system.</p>
<p>Zlatan, while continuing to benefit Purism and its users by managing our technical team, will also be advancing Debian and its beliefs, which we are proud to say is a win-win for the world as a whole.</p>
<p>We are excited and honored to associate ourselves with talented developers such as Zlatan Todorić.</p>
<p>For more information about becoming a DD yourself head on over to <a href="https://wiki.debian.org/DebianDeveloper">https://wiki.debian.org/DebianDeveloper</a>.</p>
<p>Note: <em>Purism&#8217;s own <a href="https://pureos.net/">PureOS</a> is a fork of Debian GNU/Linux designed specifically to run on Librem hardware with software additions and changes that meets FSF endorsement criteria and protects users&#8217; rights to privacy, security, and freedom by default.</em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purisms-zlatan-todoric-is-officially-a-debian-developer/">Purism&#8217;s Zlatan Todorić is Officially a Debian Developer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism CEO Todd Weaver interviewed on The New Screensavers episode #65</title>
		<link>https://puri.sm/posts/purism-ceo-todd-weaver-interviewed-on-the-new-screensavers-episode-65/</link>
		<pubDate>Fri, 26 Aug 2016 20:54:18 +0000</pubDate>
		<dc:creator><![CDATA[James Rufer]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5475</guid>
		<description><![CDATA[<p>Purism CEO Todd Weaver made an appearance on the TWiT network on Saturday August 6th, 2016 with host Leo Laporte on the online TV show The New Screen Savers. Todd and Leo discussed Purism&#8217;s Librem line of products and what sets them apart from other free and non-free offerings, the importance of Free/Libre and Open-Source [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-ceo-todd-weaver-interviewed-on-the-new-screensavers-episode-65/">Purism CEO Todd Weaver interviewed on The New Screensavers episode #65</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism CEO Todd Weaver <a href="https://twit.tv/shows/new-screen-savers/episodes/65?autostart=false">made an appearance</a> on the TWiT network on Saturday August 6th, 2016 with host Leo Laporte on the online TV show <em>The New Screen Savers</em>. Todd and Leo discussed Purism&#8217;s<em> Librem</em> line of products and what sets them apart from other free and non-free offerings, the importance of Free/Libre and Open-Source software, our operating system and web browser, and Purism&#8217;s <a href="https://puri.sm/about/social-purpose/">philosophy</a> and future plans.</p>
<p>Todd spoke with Leo about the hardware found inside our 13 and 15 inch Librem laptops, and how they are as freedom-respecting as currently technologically possible in a modern machine, with less possibility of including a <a href="/learn/blobs">backdoor</a>. Todd spoke about recent Intel processors’ &#8220;Management Engine&#8221;, breaking down the issue of having a potential backdoor in Intel chips commonly found in modern computers, then proceeded to explain how Purism circumvents this privacy and security issue (see also our related article to <a href="https://puri.sm/learn/avoiding-intel-amt/">learn more about how Purism avoids the Intel AMT remote access backdoor</a>).</p>
<p>Purism hopes to work with Intel to strip out parts of the ME that many computer professionals feel is a privacy invasion, and began a petition that quickly garnered over <a href="https://puri.sm/posts/intel-me-less-petition-goal-met-early/">1000 signatures</a>.</p>
<p>Weaver explained the goals of our operating system, <a href="https://pureos.net/">PureOS</a>, which is to provide an OS that is entirely respectful of your personal freedom, privacy and security.</p>
<p>Additional discussion was had on how we manufacture our own motherboards, how we source hardware (see our <a href="https://puri.sm/about/business-model-and-vision/">business model</a>), the fact that we do not participate in the &#8220;surveillance capitalism&#8221; commonly found with larger companies, and our future goal of manufacturing a privacy-centric and &#8220;no-carrier&#8221; phone, providing a set of fully encrypted communication tools.</p>
<p><iframe width="640" height="360" src="https://www.youtube.com/embed/tz1ZAk02OVo?feature=oembed" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></p>
<p>You can buy these laptops directly from <a href="https://puri.sm/products/">our store</a>. Questions or comments? Let us know at feedback@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-ceo-todd-weaver-interviewed-on-the-new-screensavers-episode-65/">Purism CEO Todd Weaver interviewed on The New Screensavers episode #65</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Switching from proprietary to free software</title>
		<link>https://puri.sm/posts/switching-from-proprietary-to-free-software/</link>
		<pubDate>Sat, 20 Aug 2016 12:34:36 +0000</pubDate>
		<dc:creator><![CDATA[François Téchené]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Testimonials and user stories]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5398</guid>
		<description><![CDATA[<p>Hi, This post is an introduction to a series of articles I wish to write in order to help creative people move to free technologies and get more freedom and control over their tools while still achieving top quality work. Before starting with technical stuff, I would like to write a few words about myself [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/switching-from-proprietary-to-free-software/">Switching from proprietary to free software</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi,</p>
<p>This post is an introduction to a series of articles I wish to write in order to help creative people move to free technologies and get more freedom and control over their tools while still achieving top quality work.</p>
<p>Before starting with technical stuff, I would like to write a few words about myself and what brought me here.  My name is Francois and I am the director of creative here at Purism, as well as a film maker and animator.  About 2 years ago, I made a switch from proprietary to free and open source technologies for my entire work-flow. This move was originally driven by a wish to stop being fooled by the software and hardware that I use regarding their supposed obsolescence.</p>
<p>It all started with the feeling of being betrayed by my entire workstation. A software upgrade that I was pushed to do in order to keep my subscription and technical support, forced me to upgrade my entire OS for compatibility reasons. At this point, my aging but still very capable hardware started to feel very slow and almost useless. Ironically, I had no need for any of the new features from this upgrade. I simply had no choice but to upgrade.</p>
<p>Having not planned any financial resources to replace my hardware at the time, I felt very much stuck. I felt that my tools shouldn&#8217;t be fooling me this way and decide by themselves when they need to be replaced. Especially when they are still in great working condition.  At the time I thought: If I invest in a new computer, when will this situation happen again? I have no idea because I have no control about it.</p>
<p>So instead of replacing my computer, I searched for a durable solution. I found an answer with free and open source software. Free software by definition, gives me that control. It gives me full control over my hardware and let me decide to renew my workstation based on creative needs only. It makes life easier when planning a budget for upgrades. Of course it doesn&#8217;t prevent hardware physical failure but with some fixable / upgradeable hardware, spare parts and good practice like backups, this has never been a real problem.</p>
<p>That transition to free software wasn&#8217;t easy and took me almost a year to accomplish. I installed a GNU/Linux OS on a spare partition of my hard drive and had to find capable alternatives to the professional software that I was using. I had that little voice always saying that &#8220;If it is not made by big corporation, it cannot be used in a professional environment&#8221;, but I wanted to see by myself how much I can do with free software.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/08/pureos_cs.png"><img class="size-medium wp-image-5397 alignright" src="https://puri.sm/wp-content/uploads/2016/08/pureos_cs-300x300.png" alt="pureos_cs" width="300" height="300" srcset="https://puri.sm/wp-content/uploads/2016/08/pureos_cs-300x300.png 300w, https://puri.sm/wp-content/uploads/2016/08/pureos_cs-150x150.png 150w, https://puri.sm/wp-content/uploads/2016/08/pureos_cs.png 500w, https://puri.sm/wp-content/uploads/2016/08/pureos_cs-100x100.png 100w, https://puri.sm/wp-content/uploads/2016/08/pureos_cs-180x180.png 180w" sizes="(max-width: 300px) 100vw, 300px" /></a>I found many free alternatives and tested most of them. I kept the ones that suited my needs the best and had to get used to new user interfaces as well as re-learning most of the techniques I was familiar with. Especially with image compositing.</p>
<p>I was surprised to realize how feature-full, how stable and flexible some free and open source applications are in term of audio and visual creation. Of course we can debate on the user experience, ease of use, or OS integration but what I can say regarding my experience is that there is nothing that I was able to achieve with professional proprietary software that I cannot achieve with free software.</p>
<p>The transition itself is like jumping in the water on a very hot day. It feels cold and unpleasant at first, but as soon as we get used to it, it is so enjoyable!</p>
<p>The power, flexibility and freedom of free and open source software now combined with the speed and reliability of a Librem running them, gives me a very capable and professional platform for multimedia creation. With these new tools, I have been able to produce great quality work for Purism. I am also helping the Dev team to select the best multimedia software to be pre-installed in PureOS.</p>
<p>Being very happy with this move, I wish to help anyone who is looking for total control and freedom over their creative environment, to do the same.</p>
<p>I will give you tips and tricks and good practice with the software I use the most : Blender, Gimp, Krita, Kdenlive&#8230;</p>
<p>See you soon for the first post in the series! It will be about media trans-coding and free formats.</p>
<p>Thoughts? Send them to feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/switching-from-proprietary-to-free-software/">Switching from proprietary to free software</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Devlog #1</title>
		<link>https://puri.sm/posts/purism-devlog-1/</link>
		<pubDate>Fri, 12 Aug 2016 19:16:39 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5288</guid>
		<description><![CDATA[<p>We said there is not going to be another PureOS release with old infrastructure but&#8230; there is one more (at least). Making new infrastructure takes time to do it properly (and we want to do it properly for sake of ours and your nerves) so we will have one more point release of PureOS &#8211; [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-devlog-1/">Purism Devlog #1</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We said there is not going to be another PureOS release with old infrastructure but&#8230; there is one more (at least). Making new infrastructure takes time to do it properly (and we want to do it properly for sake of ours and your nerves) so we will have one more point release of PureOS &#8211; PureOS 2.2. We are currently still baking it as part of the team is focused on making OEM ISO so we can pass tests for installation on NVMe SSDs (and this is something few people reported as OS missing or not recognizing the disk and the PureOS2.1 regular ISO already passed installation on such hardware but of course we need OEM one for your devices).</p>
<p>Besides new infrastructure, baking ISOs here and there, we are working (until this point more in background but it will be more publicly visible soon) something what we call at this moment Purist Services. What are Purist Services?!</p>
<p>Glad you asked. We will combine best Free software solutions in many fields into what we call purist accounts. It will be unified solution where users will have a choice to create a purist account and get out of the box: Instant Messaging, Voice Call, Video Call, Email and after that we will add one by one more solutions such as Social Account (Diaspora*), Photo/Video sharing (Mediagoblin), file sharing (Filetea/SparkleShare and maybe, just maybe, nextCloud) and other goodies that can and will benefit our users. All will of course be Free software, encrypted and any client that will support protocols and techniques we use will be able to connect to purist users and vice-versa.</p>
<p>With addition to that we have two announcements &#8211; first, lead architect of purist services is famous Joey Hess. Second, this is good opportunity of employment if you want to work in Purism. How we do technical interviews &#8211; either you have already a good history with Free software or you start contributing to Purism development and in few months (of good work!) you will be called in for an interview. If you are interested in working with Joey or any other part of PureOS, feel free to send your resume to hr@puri.sm with cover letter.</p>
<p>Happy hacking,</p>
<p>Zlatan Todorić</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-devlog-1/">Purism Devlog #1</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism is combining hardware and software designed to better protect your privacy</title>
		<link>https://puri.sm/posts/purism-is-combining-hardware-and-software-designed-to-better-protect-your-privacy/</link>
		<pubDate>Mon, 08 Aug 2016 18:25:06 +0000</pubDate>
		<dc:creator><![CDATA[James Rufer]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=4609</guid>
		<description><![CDATA[<p>When it comes time to purchase a new computer or tablet, often we compare specifications from one computer to the next. We may take a look at storage size, amount of RAM, brand, cost&#8230; but we often times forget what is arguably the most important thing when considering a new computer purchase: our data. Stored on [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-is-combining-hardware-and-software-designed-to-better-protect-your-privacy/">Purism is combining hardware and software designed to better protect your privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>When it comes time to purchase a new computer or tablet, often we compare specifications from one computer to the next. We may take a look at storage size, amount of RAM, brand, cost&#8230; but we often times forget what is arguably the most important thing when considering a new computer purchase: our data.</p>
<p>Stored on our devices are our private thoughts, likes, pictures, videos, documents and browsing history; collectively our “Digital Life.” In many ways, our computers have in fact become an extension of our own brains. More and more people are beginning to question and inquire further into what companies—that create the applications and operating systems that we use every day—are doing with this data accumulated through their use. Are these companies using our data to market to us, build profiles on us, or otherwise monitor what we do? And more importantly, are our devices secure?</p>
<p>Have you ever really given that much thought?</p>
<p>High end devices such as products from Lenovo, Apple’s Macs, Microsoft’s Surface line and even lower end devices such as Google’s Chromebooks all ship with operating systems that—to one degree or another—are monitoring what you do on your computer. There is much debate as to why, how much, and what precisely are they monitoring with this data, but for some of us, <em>any</em> data monitoring is too much.</p>
<p>Enter Purism.</p>
<p>Purism was created with a <a href="https://puri.sm/about/social-purpose/">belief system</a> designed to combine the most <a href="https://pureos.net/">privacy respecting software</a> wrapped in beautiful and <a href="https://puri.sm/products/">well-made hardware.</a>  Simply put: we want you to have the same form and function that you are used to, albeit in a much more private and secure manner. We believe that you and your data are important and that your data should remain yours, and yours alone. Purism does <em>no</em> monitoring or data collection. None. Can you say the same for your current device and operating system?</p>
<p>The Librem line of laptops and 2-in-1 devices come pre-installed with a complete and fully functional office suite. Additional applications are available to provide alternatives to the creative applications from Adobe and other companies. Our web browser, PureBrowser, is built upon the familiar Firefox but with the best privacy respecting add-ons pre-installed. These add-ons block and prevent many forms of malware, ads, and other forms of trackers. Our industry-first Hardware Kill Switches physically cut the electrical power to the web camera, microphone, and Wi-Fi, giving you assurance that no one is watching, listening or hacking you and your computer. These are <em>physical</em> switches, not a piece of software.</p>
<p>It&#8217;s become commonplace these days to have to open an account in order to download or use applications. In many ways, gone are the days of application use anonymity&#8230; Except when using Purism&#8217;s Linux based line of <em>Librem</em> devices. We do not require you to log in or create an account to use any of the thousands of applications available through our store. If you see something that you like, download it and give it a try. They are all free, <em>without</em> having to give up your usage data.</p>
<p>When considering your next hardware purchase, if you have the knowledge and ability to perform background task and Internet connection analysis, we encourage you to take a look at the processes and connections that Windows, OSX or Chrome OS are running on your current device, behind the scenes; these are simply not there with PureOS. Purism has no interest in serving you ads or monitoring what you do. Our business is to combine the best privacy-respecting software into great-looking hardware that will last you for years to come.</p>
<p>We&#8217;ve glossed over the minutiae that many computing professionals are already aware of but we hope that this piece provoked some thoughts in your mind about the current state of computing. Got questions or suggestions for us? Send us your thoughts at feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-is-combining-hardware-and-software-designed-to-better-protect-your-privacy/">Purism is combining hardware and software designed to better protect your privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Meet up at Defcon &#038; Todd joins Leo on The Twit Network</title>
		<link>https://puri.sm/posts/meet-up-at-defcon-todd-joins-leo-on-the-twit-network/</link>
		<pubDate>Sat, 06 Aug 2016 16:27:16 +0000</pubDate>
		<dc:creator><![CDATA[James Rufer]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Interviews]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5162</guid>
		<description><![CDATA[<p>Purism&#8217;s Director of Technology, Zlatan Todoric, will be at the Defcon 24 through August 7th.  He will be available for any questions that you may have regarding Purism and our products.  He will also be happy to show off the Librem 13 to anyone wishing to take a look at our hardware.  You can contact [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-up-at-defcon-todd-joins-leo-on-the-twit-network/">Meet up at Defcon &#038; Todd joins Leo on The Twit Network</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism&#8217;s Director of Technology, Zlatan Todoric, will be at the Defcon 24 through August 7th.  He will be available for any questions that you may have regarding Purism and our products.  He will also be happy to show off the Librem 13 to anyone wishing to take a look at our hardware.  You can contact him on Twitter @zlatandebian or via email zlatan.todoric(at)wp.puri.sm</p>
<p>CEO Todd Weaver will be on the Twit network on Saturday August 6th, 2016 for an appearance with Leo Laporte on The New Screen Savers.  Todd will be discussing with Leo, among other things, the Purism line of products, the importance of free/open source software, what sets the Librem line apart from other free and non-free offerings from other companies, our web browser, our operating system and Purism&#8217;s <a href="https://puri.sm/about/social-purpose/">Philosophy.</a>  Join him<a href="http://live.twit.tv/"> here</a> live at 3pm PT.</p>
<p>ICYMI: https://twit.tv/shows/new-screen-savers/episodes/65?autostart=false  Interview starts at 52:15</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/meet-up-at-defcon-todd-joins-leo-on-the-twit-network/">Meet up at Defcon &#038; Todd joins Leo on The Twit Network</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism launches its own online store</title>
		<link>https://puri.sm/posts/purism-store/</link>
		<pubDate>Thu, 04 Aug 2016 17:15:19 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=5093</guid>
		<description><![CDATA[<p>Purism is happy to announce that we are finally able to host our own store! Yes, you read that correctly, now you can buy directly from Purism. This new store front will improve our workflow and also bring more funds directly to Purism for future development of products and services. In our store you will [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-store/">Purism launches its own online store</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism is happy to announce that we are finally able to host our own <a href="https://puri.sm/products/">store</a>! Yes, you read that correctly, now you can buy directly from Purism. This new store front will improve our workflow and also bring more funds directly to Purism for future development of products and services.</p>
<p>In our store you will have multiple choices of how you would like to pay for you new Librem device: direct bank transfer, Paypal, bitcoin or using your credit card.  As we are continuing to try and improve all aspects of Purism, we have listened to your feedback.  In an effort to aid in communication, our next step is to add a public view of next 10 shipments so that you can see where you are in the queue.  But, don&#8217;t worry, we take your privacy very seriously and only order numbers, and nothing else, will be visible.</p>
<p>With continued support we hope to soon be able to ship Librem devices from stock significantly reducing wait times for orders.  With the help and support of our backers, Purism is continuing to grow as we reach towards our goals of having easy to use and reasonably secure computers &amp; services available to the general public. Sincerely, we thank you for your support, patience and questions while asking for your help in spreading the word of our new store front.</p>
<p>Thoughts or comments?  feedback(at)wp.puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-store/">Purism launches its own online store</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Devlog #0</title>
		<link>https://puri.sm/posts/purism-devlog-0/</link>
		<pubDate>Fri, 22 Jul 2016 11:01:16 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=4825</guid>
		<description><![CDATA[<p>This is first in series of Purism developer&#8217;s blog post. It will be mostly about technical aspects of Purism work but also sometimes mixed with few other fields and information. The only promise is that it will be more &#8211; no promise how often, no hardcoded path of releases. In Debian mantra &#8211; it will [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-devlog-0/">Purism Devlog #0</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This is first in series of Purism developer&#8217;s blog post. It will be mostly about technical aspects of Purism work but also sometimes mixed with few other fields and information. The only promise is that it will be more &#8211; no promise how often, no hardcoded path of releases. In Debian mantra &#8211; it will be ready (and published) once it is ready.</p>
<p>We are happy to announce release of PureOS 2.1. Besides fixing bugs (such as overwriting the entire disk during install!) it will boast few new apps (and few removed) on this new ISO image:</p>
<ul>
<li>Kodi</li>
<li>VLC</li>
<li>Blender</li>
<li>Audacity</li>
<li>Darktable</li>
<li>MyPaint</li>
<li>Ardour</li>
<li>MPV</li>
</ul>
<p>Removed apps:</p>
<ul>
<li>Debian bug tracking system (PureOS will have its own, more in next devlog releases)</li>
<li>Brasero</li>
</ul>
<p>As you can see we wanted to bring some creativity with preinstalled applications (athough all applications are easy installable or removed through software center/app store (famously called now Software in GNOME thus PureOS)) and Kodi to just show that Free software is cool and great! In art terms we also integrated new Plymouth theme which we believe you will like (soon we will bring up community wiki so people can share their ideas and write tutorials, documentations about PureOS but again, more info about it in some of the next releases).</p>
<p>Besides that we are again trying to improve driver for touchpads (yes, we agree with you and your pain, but we are in the same awkward pain &#8211; we use those devices, we work with our manufacturers but they simply don&#8217;t give us any documentation &#8211; something we are trying to improve all the time but there is so much time and space for such small team to tackle so many tasks of which some aren&#8217;t even in description of our work. Thank you for your support and patience and we are really trying to pull out max of what we get). That said, our involvement with manufactures gives us opportunity to drive how new products will be developed which is something very important for us and our (and your) future. Back to technical parts, ew integrated driver should now have:</p>
<ul>
<li>Tap to click</li>
<li>Double tap</li>
<li>Two finger scroll (up &amp; down)</li>
<li>Three finger swipe</li>
<li>Edge scrolling</li>
</ul>
<p>We hope we improved some of the previous part of driver and also enabled some new things (note this is entirely new driver so bare with us while you test it and report bugs).</p>
<p>PureOS 2.1 now also comes with <a href="https://gnome.org/">GNOME</a> as default because it is aligned with goal to have one default environment for all our devices (we are now in process to produce tablets). With future plan to develop to phones that could be switched to KDE&#8217;s Plasma but future is exciting and unpredictable.</p>
<p>This release also has sum so people can check against ISO build and new installations instructions that should be much more user friendly &#8211; check more at <a href="https://pureos.net/download/">download page</a>.</p>
<p>Also, this release should be the last one built with old (almost non existent) infrastructure. New one will be more professional, more open and feel more native for Free software development. We will write more in next release of devlog.</p>
<p>Keep calm and develop Free software (and hardware!),</p>
<p>&#8211; Zlatan</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-devlog-0/">Purism Devlog #0</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>4K At Last! Purism Librem 15 rev2 4K</title>
		<link>https://puri.sm/posts/4k-at-last-purism-librem-15-rev2-4k/</link>
		<pubDate>Thu, 14 Jul 2016 22:31:24 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=4663</guid>
		<description><![CDATA[<p>We have had a long road to get to 4K in our second revision of the Librem 15 units. This has not been without frustration with supply chain delays, but we are finally finished testing a fully functional 4K prototype that is ready for mass production. The story to get the 4K panel is full [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/4k-at-last-purism-librem-15-rev2-4k/">4K At Last! Purism Librem 15 rev2 4K</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have had a long road to get to 4K in our second revision of the Librem 15 units. This has not been without frustration with supply chain delays, but we are finally finished testing a fully functional 4K prototype that is ready for mass production.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-full-1920px.jpeg"><img src="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-full-1920px-1024x768.jpeg" alt="librem-15-rev2-4k-full-1920px" width="700" height="525" class="aligncenter size-large wp-image-4664" srcset="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-full-1920px-1024x768.jpeg 1024w, https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-full-1920px-300x225.jpeg 300w, https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-full-1920px-768x576.jpeg 768w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>The story to get the 4K panel is full of ups, downs, twists, and turns. When we learned from one of our suppliers that we could get Samsung 4K panels in our Librem 15, we jumped at the opportunity. We prepaid for the panels, moved the Librem 15 line from 2K (1920&#215;1080) to 4K (3840&#215;2160), and asked if backers would like to get 2K or 4K, shipping 2K and holding the 4K until they would arrive, which moved most orders to 4K. All this was exciting, until Samsung&#8217;s 4K panels were on backorder, then backorder again, and again. We were in a real bind, because there was no alternative 4K screen, until LG entered the scene. We then requested a sample 4K screen from LG, modified the case and front panel to fit the new LG 4K screen. We then hit an additional delay on funding the screen purchase, tooling, and assembly, since we prepaid for the Samsung panels we had to look at how to cover the additional cost of LG screens. After juggling some pieces, such as refunds on the Samsung screens, negotiating lower cost from the delays with the supply chain to cover the screen price increase, and even supply chain funding, we got the LG based Librem 15 rev2 4k prototype approved and ready for mass production.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-right-side-1920px.jpeg"><img src="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-right-side-1920px-1024x768.jpeg" alt="librem-15-rev2-4k-right-side-1920px" width="700" height="525" class="aligncenter size-large wp-image-4665" srcset="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-right-side-1920px-1024x768.jpeg 1024w, https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-right-side-1920px-300x225.jpeg 300w, https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-right-side-1920px-768x576.jpeg 768w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>Now that we are approved for mass production on the Librem 15 rev2 4k, we can provide more accurate dates for delivery to backers as we approach receipt of the panels. LG expects to get us the full panel order within 6 to 8 weeks, and we will then assemble and ship through all our back orders within 3 to 4 weeks. Any new orders will be shipping after September.</p>
<p>Thank you for all the support, and patience, as we have worked through an unbelievably painful process working through the supply chain delays. We have learned a lot through this process, and are going to work even harder to avoid this type of delay ever again. We are looking to remove any supply chain delays in the future by <a href="https://www.fundable.com/purism" target="_blank">raising funds</a> to be able to order enough product to ship from stock.</p>
<p><a href="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-left-side-1920px.jpeg"><img src="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-left-side-1920px-1024x768.jpeg" alt="librem-15-rev2-4k-left-side-1920px" width="700" height="525" class="aligncenter size-large wp-image-4666" srcset="https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-left-side-1920px-1024x768.jpeg 1024w, https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-left-side-1920px-300x225.jpeg 300w, https://puri.sm/wp-content/uploads/2016/07/librem-15-rev2-4k-left-side-1920px-768x576.jpeg 768w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/4k-at-last-purism-librem-15-rev2-4k/">4K At Last! Purism Librem 15 rev2 4K</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Intel ME-less Petition Goal Met Early!</title>
		<link>https://puri.sm/posts/intel-me-less-petition-goal-met-early/</link>
		<pubDate>Mon, 27 Jun 2016 17:48:18 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=4546</guid>
		<description><![CDATA[<p>Thank you all who have signed the Intel ME-less petition to show Intel that there is enough interest in having Intel based CPUs that do not require the Management Engine to operate. We have already exceeded our goal of signatures nearly a month early! Our next step, in this long journey, is to provide the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/intel-me-less-petition-goal-met-early/">Intel ME-less Petition Goal Met Early!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Thank you all who have signed the <a href="https://puri.sm/posts/petition-for-intel-to-release-an-me-less-cpu-design/">Intel ME-less petition</a> to show Intel that there is enough interest in having Intel based CPUs that do not require the Management Engine to operate. We have already exceeded our goal of signatures nearly a month early!</p>
<p>Our next step, in this long journey, is to provide the petition results to our Account Manager within Intel, and to follow-up with them on future versions of the CPU. This petition also allows us to pursue ME disablement approaches with Intel as well, so we are using it for multiple paths to reaching the long-term goal of a freed BIOS/UEFI/Coreboot.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/intel-me-less-petition-goal-met-early/">Intel ME-less Petition Goal Met Early!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Newsletter 2016-06-07</title>
		<link>https://puri.sm/posts/newsletter-2016-06-07/</link>
		<pubDate>Tue, 07 Jun 2016 17:26:41 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Tablets]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=4463</guid>
		<description><![CDATA[<p>1. Thank You! First off we wanted to say &#8220;Thank You!&#8221; to all of you for helping build Purism to what it is today, we have a lot more we want to do, and with your continued support we can change the world for the better. 2. This Newsletter List We are now combining all [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/newsletter-2016-06-07/">Newsletter 2016-06-07</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1>1. Thank You!</h1>
<p>First off we wanted to say &#8220;Thank You!&#8221; to all of you for helping build Purism to what it is today, we have a lot more we want to do, and with your continued support we can change the world for the better.</p>
<hr />
<h1>2. This Newsletter List</h1>
<p>We are now combining all our lists from our Resellers, Sales, Petitions, Email, Forums, etc. into this single newsletter list we will utilize to keep you informed. We tried very hard to only include those who have opted-in to receive these newsletters, if you wish to unsubscribe just email: <a href="mailto:announce-leave@announce.wp.puri.sm">announce-leave@announce.wp.puri.sm</a> and you will be instructed how to unsubscribe.</p>
<hr />
<h1>3. Continuing to Ship!</h1>
<p>We have been shipping the Librem 13 Laptops, the Librem 15 1080p Laptops, and will continue to ship through the order queue. We are evaluating the first 5 Librem 15 4k Laptops and will provide ship dates for those orders once we confirm them. In related news, we will be seeking larger investment so we can ship from stock for future orders.</p>
<hr />
<h1>5. The Librem 11</h1>
<p><img class="feature-img" src="https://puri.sm/wp-content/uploads/2016/04/librem11_6-640px.jpeg" /></p>
<p>A workstation that converts to a laptop, that also converts into a tablet. This is the dream machine for a lot of users. Help support it!</p>
<p><a class="call-to-action" href="https://puri.sm/products">Buy Now</a></p>
<hr />
<h1>6. Intel &#8220;Me-Less&#8221; Petition</h1>
<p>During our last meeting with Intel, we discussed getting a petition to show Intel how much interest there is to have Intel create an &#8220;ME-less&#8221; CPU in the future. Please <a href="https://puri.sm/posts/petition-for-intel-to-release-an-me-less-cpu-design/">sign it</a>!</p>
<p><a class="call-to-action" href="https://puri.sm/posts/petition-for-intel-to-release-an-me-less-cpu-design/">Sign The Petition</a></p>
<hr />
<h1>7. Supply Chain Investment</h1>
<p>We want to show our thanks for your support! We’ve deeply value your support of our business over the years and wouldn’t be here without it. Therefore, we want to share our success with you and show thanks for your support.</p>
<p><a class="call-to-action" href="https://kickfurther.com/s/2qbt4zz8ls">Invest &amp; Earn Profits</a></p>
<p>All of us at Purism, are excited to announce our recent partnership with Kickfurther, a crowdfinancing platform to obtain financing for our recent growth as a company. Be a part of our success and earn money while doing so. We’re offering our fans the opportunity to earn 12% in 6.5 months for contributing and supporting us! Our business goes up on the Kickfurther site on Jun 9, 2016 at 5PM EST but we’re granting early access from the above link.</p>
<p>We&#8217;d much prefer paying interest to backers than we would to banks.</p>
<p>Signup through <a href="https://kickfurther.com/s/2qbt4zz8ls">https://kickfurther.com/s/2qbt4zz8ls</a> to instantly receive $5!</p>
<hr />
<h1>8. Equity Investment (Coming Soon)&#8230;</h1>
<p>We are in the growth stage, looking to place much larger orders to begin shipping from stock, which means we must begin to seek investment. We will be sharing this investment opportunity with all our backers, if you qualify to invest we would love to have you on board! More information will be coming soon.</p>
<hr />
<h1>9. A Librem Phone is Coming</h1>
<p>We are begining the stages to create a phone, your continued support with our existing products ensure we can create a phone designed to respect users&#8217; rights to privacy, security, and freedom.</p>
<hr />
<p>Thank you for your continued support!</p>
<p>Purism</p>
<p>To unsubscribe: <a href="mailto:announce-leave@announce.wp.puri.sm">announce-leave@announce.wp.puri.sm</a></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/newsletter-2016-06-07/">Newsletter 2016-06-07</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Petition for Intel to Release an ME-less CPU design</title>
		<link>https://puri.sm/posts/petition-for-intel-to-release-an-me-less-cpu-design/</link>
		<pubDate>Sun, 15 May 2016 02:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=2802</guid>
		<description><![CDATA[<p>Please sign below, allowing Purism to provide this petition to our Intel Partner Account Manager that users want an &#8220;ME-less&#8221; CPU. &#8220;ME-less&#8221; is a defined term from within Intel created when discussing with Purism the need to have a CPU without the Management Engine (ME). [emailpetition id=&#8221;1&#8243;] Petition We, the users of Intel CPUs, petition [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/petition-for-intel-to-release-an-me-less-cpu-design/">Petition for Intel to Release an ME-less CPU design</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Please sign below, allowing Purism to provide this petition to our Intel Partner Account Manager that users want an &#8220;ME-less&#8221; CPU. &#8220;ME-less&#8221; is a defined term from within Intel created when discussing with Purism the need to have a CPU without the Management Engine (ME).</p>
<p>[emailpetition id=&#8221;1&#8243;]<br />
</p>
<h3>Petition</h3>
<blockquote><p>We, the users of Intel CPUs, petition Intel to release an &#8220;ME-less&#8221; CPU design for future CPUs.</p>
<p>Intel&#8217;s Management Engine (ME) is a threat to users&#8217; digital rights. It is an unreadable binary file that is cryptographically signed by Intel, requiring users to compromise their security, privacy, and freedom because users must execute unknown and unverifiable code on the CPU.</p>
<p>I, the undersigned, request that Intel either release the source code under a free software license &#8211; allowing users to sign their own Management Engine, or that Intel release an &#8220;ME-less&#8221; CPU design for their CPUs.</p></blockquote>
<p>
[signaturelist id=&#8221;1&#8243;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/petition-for-intel-to-release-an-me-less-cpu-design/">Petition for Intel to Release an ME-less CPU design</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 15 rev2 2k and 4k Status</title>
		<link>https://puri.sm/posts/librem-15-rev2-2k-and-4k-status/</link>
		<pubDate>Fri, 15 Apr 2016 02:12:18 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=2465</guid>
		<description><![CDATA[<p>We’ve written previously about the delays surrounding the 4k screens from Samsung both in this blog and on social media, and we now have more information that we can share. We have received stock of our Librem 15 rev2 2k, the 1920x1080p screens, and will be fulfilling orders from that stock in the coming weeks. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-15-rev2-2k-and-4k-status/">Librem 15 rev2 2k and 4k Status</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We’ve written previously about the delays surrounding the 4k screens from Samsung both in this blog and on social media, and we now have more information that we can share.</p>
<p>We have received stock of our Librem 15 rev2 2k, the 1920x1080p screens, and will be fulfilling orders from that stock in the coming weeks. We are finalizing testing and OS loading this week and next.</p>
<p>We have found an alternative to Samsung for the 4k panels, from LG, so have ordered a handful of 4k prototype panels from LG. This allows us to leverage two suppliers to determine which one can provide us the back ordered 4k panels to fulfill the remaining Librem 15 rev2 4k panels.</p>
<p>The decision is up to you if you would like to accept the 1080p screens or continue to wait for the 4k.</p>
<p>Currently, we are reporting that the 4k screens will be made available to us in the &#8220;month of May.&#8221; However, considering the past supply chain delays, even with having two suppliers, it is safer to assume user delivery in June.</p>
<p>Your options are currently one of these three choices:</p>
<p>If you originally ordered a 1080p display and were then later upgraded to the 4k display, you will be getting the 1080p screen from your original 1080p order unless you specifically want to want for the 4k.  </p>
<p>If you originally ordered a 4k display but are willing to downgrade to 1080p, you may do so now and your order will be filled. We will increase your memory, drive size, or drive type to compensate for the screen downgrade.</p>
<p>We appreciate your continued support and patience with this issue.  Many of you have been more patient with us than some of us have been with Samsung.  Please write us at support@puri.sm with order details and your choice or any other questions that you may have.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-15-rev2-2k-and-4k-status/">Librem 15 rev2 2k and 4k Status</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Warrant Canary Updated April 1st 2016</title>
		<link>https://puri.sm/posts/purism-warrant-canary-updated-april-1st-2016/</link>
		<pubDate>Fri, 01 Apr 2016 01:44:56 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=2397</guid>
		<description><![CDATA[<p>Before the first day of each quarter, Purism, following the general rules of warrant canaries, will update its own Warrant Canary page if none of the listed items occurs. Warrant Canary, April 1st 2016 We have not placed any backdoors into our software or hardware, and we have not complied with any requests to do [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-april-1st-2016/">Purism Warrant Canary Updated April 1st 2016</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Before the first day of each quarter, Purism, following the general rules of <a href="https://en.wikipedia.org/wiki/Warrant_canary">warrant canaries</a>, will update its own <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> if none of the listed items occurs.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1005" src="https://puri.sm/wp-content/uploads/2015/05/warrant-canary-64x70px.png" alt="warrant-canary-64x70px" width="64" height="70" /></p>
<h2 style="text-align: center;">Warrant Canary, April 1st 2016</h2>
<ol>
<li>We have not placed any backdoors into our software or hardware, and we have not complied with any requests to do so.</li>
<li>We have not received, nor complied with any National Security Letters or FISA court orders.</li>
<li>We have not been subject to any gag order by a FISA court.</li>
</ol>
<h5 style="text-align: center;">The next statement will be published on the first day of each quarter<br />
(January 1st, April 1st, July 1st, October 1st)</h5>
<p>What this is designed to do is to inform users that Purism has not been served with a secret government subpoena. If the warrant canary has not been updated in the time period specified by Purism, users are to assume that Purism has indeed been served with a secret subpoena. The intention is to allow Purism to warn users of the existence of a subpoena passively, without disclosing to others that the government has sought or obtained access to information or records under a secret subpoena. Warrant canaries have been found to be legal by the United States Justice Department, so long as they are passive in their notifications.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-april-1st-2016/">Purism Warrant Canary Updated April 1st 2016</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Apple v FBI: It&#8217;s About Control</title>
		<link>https://puri.sm/posts/apple-v-fbi-it-is-about-control/</link>
		<pubDate>Tue, 08 Mar 2016 20:06:16 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=2151</guid>
		<description><![CDATA[<p>86.5% of Americans use a cell phone. When you purchased your phone, you most likely believed you owned it outright, just as you own your toaster, your electric razor, or your hair dryer. The device in your purse or pocket, however, is not your own&#8211;you are essentially renting it from companies such as Apple, Google [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/apple-v-fbi-it-is-about-control/">Apple v FBI: It&#8217;s About Control</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.statista.com/statistics/201184/percentage-of-mobile-phone-users-who-use-a-smartphone-in-the-us/">86.5% of Americans</a> use a cell phone. When you purchased your phone, you most likely believed you owned it outright, just as you own your toaster, your electric razor, or your hair dryer. The device in your purse or pocket, however, is not your own&#8211;you are essentially renting it from companies such as Apple, Google and Microsoft. Once you purchase an Apple product, for example, you relinquish control of the device, thereby giving up your legal rights to Apple.</p>
<p>How was this allowed to happen? By agreeing to the terms of service and upgrades, along with the proprietary software pre-installed on the phone, you married yourself to a machine that is essentially controlled by these companies. The <a href="http://www.theguardian.com/world/2013/jun/23/edward-snowden-nsa-files-timeline">news</a> of the collusion and voluntary surrender of information to the NSA of our data, emails, and phone calls&#8211;all of which were collected whether or not the information was needed&#8211;is fresh in our memory.</p>
<p>It appears Apple, Google and Microsoft would like the American public to forget they voluntarily and summarily collected and offered up all of our data to the NSA in the name of national security post 9-11; now, they would like us to believe they are protecting our rights and our privacy by refusing to allow the FBI access to the phone used by one of the shooters in the <a href="https://en.wikipedia.org/wiki/2015_San_Bernardino_attack">San Bernardino attack</a>. While <a href="http://www.bbc.com/news/technology-35601035">some believe</a> Apple noble to not provide a bypass to the FBI, <a href="http://www.bbc.com/news/technology-35601035">others</a> are on the side of the government, thinking these companies should be doing whatever it takes to protect America. <strong>It is obvious, however, that both sides are missing the point.</strong></p>
<p>We can use the <a href="http://www.cnet.com/news/judge-man-cant-be-forced-to-divulge-encryption-passphrase/">only known legal precedent</a> as an analogy. If you have a safe that requires a key to unlock it, a warrant is legally required to force the holder of that key to turn it over, thus gaining access to the contents of the safe. If, however, you have a combination safe, you can claim the 5th amendment, and no warrant, no court, can compel you to incriminate yourself, extracting the combination from your brain.</p>
<p>That same logic can be applied to the Apple v FBI case. Apple has the key to your phone, by controlling the operating system. Apple can, at any time, circumvent the security features that are supposed to protect you by simply upgrading the operating system.</p>
<p>Think of it this way: If you stay in a hotel, you are renting a room. When you check in, you are given a key to access that room; the hotel still has a master key. Apple is the hotel, and your phone is the room. You are renting it from Apple and they can come in, clean, look around, divulge, steal, expose your information, or not.</p>
<p>You don&#8217;t actually own your phone. If we truly owned our phones, court ordered warrants would be served directly to the owner of the phone. The warrants in the case of Apple v FBI were served to Apple, who actually has control of your phone.</p>
<p>The legal issue of whether Apple must give up the key, whether through <a href="http://www.wired.com/2016/02/apple-may-use-first-amendment-defense-fbi-case-just-might-work/">legal maneuvering</a> around the First Amendment, or an <a href="http://www.latimes.com/politics/la-pol-sac-smartphone-encryption-bill-20160122-story.html">act of Congress</a>, avoids the larger issue of control: if Apple loses this legal battle, all phones, tablets, and computing devices that are <em>under the control of a company</em> are then legally bound to comply with a warrant to give up the key that controls your device. If Apple, or any organization, controls your device, you are giving your legal rights over to that organization.</p>
<p>But if you control your device, there is no master key. Only you have the combination under your control, and never have to relinquish that control. This is the ultimate in security and privacy.</p>
<p>The discussion about whether or not Apple should be compelled to give up the master key is missing the larger point, that Apple should never have had the key to begin with. It is possible to control your device by using free software. With Purism products and the free software that comes with it, you own and control your device. Purism will never be issued a warrant to force us to give up anything relating to your device. Purism doesn&#8217;t control the products we sell—you do.</p>
<hr class="ttfmake-hr" style="border-style: solid; border-top-width: 1px;" />
<p>You might also like: &#8220;<a href="https://puri.sm/posts/androids-ios-secret-backdoors-and-how-purisms-business-model-avoids-this-type-of-threat/" target="_blank">Android and iOS’s Secret Backdoors, and How Purism’s Business Model Avoids This Type of Threat</a>&#8220;</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/apple-v-fbi-it-is-about-control/">Apple v FBI: It&#8217;s About Control</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Hits First Price Break Tier for Librem 13</title>
		<link>https://puri.sm/posts/purism-hits-first-price-break-tier-for-librem-13/</link>
		<pubDate>Thu, 11 Feb 2016 22:49:03 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=2017</guid>
		<description><![CDATA[<p>We have hit the first price break tier from the supply chain to manufacture our Librem 13 laptops. The price has been reduced from $1,713.00 to $1,499.00 for all new orders. This price break is on the next batch of Librem 13 parts we will be receiving into our South San Francisco facility, allowing us [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-hits-first-price-break-tier-for-librem-13/">Purism Hits First Price Break Tier for Librem 13</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have hit the first price break tier from the supply chain to manufacture our Librem 13 laptops. The price has been reduced from $1,713.00 to $1,499.00 for all new orders.</p>
<p>This price break is on the next batch of Librem 13 parts we will be receiving into our South San Francisco facility, allowing us to ship from stock starting sometime in May of 2016.</p>
<p>As we grow in volume, our leverage grows in the supply chain, ushering in two very important pieces of negotiation:</p>
<ol>
<li>Volume discounts to be able to pass on the savings to users.</li>
<li>Increased pressure on suppliers to provide us documentation, source code, and to respect the rights of end users.</li>
</ol>
<p>We thank each and every one who has purchased a Librem laptop, it is with the community&#8217;s support that we can offer a reduced price for the Librem 13, and we can improve our leverage with the supply chain promoting our goals of creating a completely secure, private, and freedom respecting computer.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-hits-first-price-break-tier-for-librem-13/">Purism Hits First Price Break Tier for Librem 13</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Adds Support Forum to its Website</title>
		<link>https://puri.sm/posts/purism-adds-support-forum-to-its-website/</link>
		<pubDate>Thu, 31 Dec 2015 21:58:22 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Customer Satisfaction]]></category>
		<category><![CDATA[Service Offering]]></category>
		<category><![CDATA[Communications infrastructure]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1823</guid>
		<description><![CDATA[<p>We have added a support forum to our website. This community support forum, that is also backed by Purism staff, is just in its infancy stages, and we plan to expand upon the tools available this as usage grows. The forum has two categories right now, one for Librem hardware, and a second one for [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-adds-support-forum-to-its-website/">Purism Adds Support Forum to its Website</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have added a <a href="https://forums.puri.sm/">support forum</a> to our website. This community support forum, that is also backed by Purism staff, is just in its infancy stages, and we plan to expand upon the tools available this as usage grows.</p>
<p>The forum has two categories right now, one for Librem hardware, and a second one for PureOS and software.</p>
<p>As more and more Librem laptops are making it into the wild, we wanted a place where users could ask questions and have those questions (and hopefully answers) searchable by other users.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-adds-support-forum-to-its-website/">Purism Adds Support Forum to its Website</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Warrant Canary Updated January 1st 2016</title>
		<link>https://puri.sm/posts/purism-warrant-canary-updated-january-1st-2016/</link>
		<pubDate>Thu, 31 Dec 2015 21:50:25 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1821</guid>
		<description><![CDATA[<p>Before the first day of each quarter, Purism, following the general rules of warrant canaries, will update its own Warrant Canary page if none of the listed items occurs. Warrant Canary, January 1st 2016 We have not placed any backdoors into our software or hardware, and we have not complied with any requests to do [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-january-1st-2016/">Purism Warrant Canary Updated January 1st 2016</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Before the first day of each quarter, Purism, following the general rules of <a href="https://en.wikipedia.org/wiki/Warrant_canary">warrant canaries</a>, will update its own <a href="https://puri.sm/warrant-canary/">Warrant Canary page</a> if none of the listed items occurs.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1005" src="https://puri.sm/wp-content/uploads/2015/05/warrant-canary-64x70px.png" alt="warrant-canary-64x70px" width="64" height="70" /></p>
<h2 style="text-align: center;">Warrant Canary, January 1st 2016</h2>
<ol>
<li>We have not placed any backdoors into our software or hardware, and we have not complied with any requests to do so.</li>
<li>We have not received, nor complied with any National Security Letters or FISA court orders.</li>
<li>We have not been subject to any gag order by a FISA court.</li>
</ol>
<h5 style="text-align: center;">The next statement will be published on the first day of each quarter<br />
(January 1st, April 1st, July 1st, October 1st)</h5>
<p>What this is designed to do is to inform users that Purism has not been served with a secret government subpoena. If the warrant canary has not been updated in the time period specified by Purism, users are to assume that Purism has indeed been served with a secret subpoena. The intention is to allow Purism to warn users of the existence of a subpoena passively, without disclosing to others that the government has sought or obtained access to information or records under a secret subpoena. Warrant canaries have been found to be legal by the United States Justice Department, so long as they are passive in their notifications.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-warrant-canary-updated-january-1st-2016/">Purism Warrant Canary Updated January 1st 2016</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Remembering Ian Murdock</title>
		<link>https://puri.sm/posts/purism-remembering-ian-murdock/</link>
		<pubDate>Wed, 30 Dec 2015 00:07:48 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1860</guid>
		<description><![CDATA[<p>While being founded on the beliefs from the Free Software Foundation, Purism, and I, got our roots learning about free software entirely from the universal operating system, Ian Murdock&#8216;s Debian GNU/Linux. While I personally never met Ian, I am one of the hundreds of thousands whose eyes were opened to what free software truly means, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-remembering-ian-murdock/">Purism Remembering Ian Murdock</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>While being founded on the beliefs from the Free Software Foundation, Purism, and I, got our roots learning about free software entirely from the universal operating system, <a href="https://en.wikipedia.org/wiki/Ian_Murdock">Ian Murdock</a>&#8216;s <a href="https://www.debian.org/">Debian</a> GNU/Linux.</p>
<p>While I personally never met Ian, I am one of the hundreds of thousands whose eyes were opened to what free software truly means, entirely from his efforts.</p>
<p>I recall in 1998, learning on Hamm, then quickly moving to Slink, and deploying tens (this was a lot of machines in 2000) of machines on Potato. I then began installing Debian GNU/Linux on every machine I could, my father&#8217;s desktop, my friend&#8217;s server-turned-desktop computer, my laptop, an entire office of writers.</p>
<p>I remember the simplicity of software installation, where it was a joy to actually maintain computers in an office setting, apt-get was my favorite of all tools, let alone the intelligent package dependency system Debian created.</p>
<p>Moving through into early 2001/2 when I began setting up <a href="http://fai-project.org/">Fully Automated Installations</a> (FAI) of Debian, deploying 50,000 distributed machines. And again in 2007, when I architected/fabricated/designed/wrote a digital media player, again Debian based and also FAI deployed, selling/deploying over 200,000 units. Debian made it a dream to maintain a tremendous cluster of distributed machines, all thanks to something started by Ian Murdock. I converted the entire development staff, of 20 or so, to Debian. I realized there and then, that what Ian did, allowing me to pass his creation onto others, was a tremendous accomplishment for his &#8220;simple package management system&#8221; project that he started in 1993.</p>
<p>It is my strong belief that Ian created the first &#8220;app store&#8221; with apt-get, I draw this analogy all the time. What Apple, Google, and Microsoft copied 15+ years later, the &#8220;app store&#8221;, was what Ian and Debian did in their <a href="https://www.debian.org/doc/manuals/project-history/ch-releases.en.html">1994</a> release of 0.91.</p>
<p>I, and the rest of the Purism team, remember Ian Murdock fondly, and thank him for starting us down the proper path of free software, GNU/Linux, and doing something small that can turn into something truly beneficial for all.</p>
<p>&#8211;Todd Weaver</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-remembering-ian-murdock/">Purism Remembering Ian Murdock</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Librem Shipping Status, December 2015</title>
		<link>https://puri.sm/posts/purism-librem-shipping-status-december-2015/</link>
		<pubDate>Mon, 21 Dec 2015 22:32:45 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1789</guid>
		<description><![CDATA[<p>Thank you all for supporting our worthy cause, it is with your support that we can continue to push for positive change with regard to security, privacy, and freedom in the industry. We have been shipping Purism Librem 13 and Purism Librem 15 rev2 units, slowly incrementing through the order queue. Here is how we [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-shipping-status-december-2015/">Purism Librem Shipping Status, December 2015</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Thank you all for supporting our worthy cause, it is with your support that we can continue to push for positive change with regard to security, privacy, and freedom in the industry. We have been shipping Purism Librem 13 and Purism Librem 15 rev2 units, slowly incrementing through the order queue. Here is how we are doing it, so you know your rough place in line:</p>

<table id="tablepress-23" class="tablepress tablepress-id-23">
<thead>
<tr class="row-1 odd">
	<th class="column-1">Laptop</th><th class="column-2">Screen</th><th class="column-3">CPU</th><th class="column-4">HKS Location</th><th class="column-5">Keyboard</th><th class="column-6">Shipping</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
	<td class="column-1">Librem 13</td><td class="column-2">1080p</td><td class="column-3">i5-5th</td><td class="column-4">Hinge Clutch Cover</td><td class="column-5">American (US) or British (UK)</td><td class="column-6">Shipping Now</td>
</tr>
<tr class="row-3 odd">
	<td class="column-1">Librem 15 rev1</td><td class="column-2">1080p</td><td class="column-3">i7-4th</td><td class="column-4">N/A</td><td class="column-5">American (US)</td><td class="column-6">Shipped June 2015, Sold Out</td>
</tr>
<tr class="row-4 even">
	<td class="column-1">Librem 15 rev2</td><td class="column-2">1080p</td><td class="column-3">i7-5th</td><td class="column-4">Hinge Clutch Cover</td><td class="column-5">American (US) </td><td class="column-6">Shipping now</td>
</tr>
<tr class="row-5 odd">
	<td class="column-1">Librem 15 rev2</td><td class="column-2">1080p</td><td class="column-3">i7-5th</td><td class="column-4">Case Edge</td><td class="column-5">American (US)</td><td class="column-6">Shipping January 2016</td>
</tr>
<tr class="row-6 even">
	<td class="column-1">Librem 15 rev2 4k</td><td class="column-2">4k</td><td class="column-3">i7-5th</td><td class="column-4">Case Edge</td><td class="column-5">American (US) or British (UK)</td><td class="column-6">Shipping February 2016</td>
</tr>
<tr class="row-7 odd">
	<td class="column-1">Librem 13</td><td class="column-2">1080p</td><td class="column-3">i5-5th</td><td class="column-4">Hinge Clutch Cover</td><td class="column-5">"Other" e.g. German, French,  Danish</td><td class="column-6">Shipping February 2016</td>
</tr>
<tr class="row-8 even">
	<td class="column-1">Librem 15 rev2 4k</td><td class="column-2">4k</td><td class="column-3">i7-5th</td><td class="column-4">Case Edge</td><td class="column-5">"Other" e.g. German, French,  Danish</td><td class="column-6">Shipping March 2016</td>
</tr>
</tbody>
</table>
<!-- #tablepress-23 from cache -->
<h3>Librem 13</h3>
<p>If you ordered your Librem 13 during the original campaign and your order requested an American (US) or British (UK) keyboard layout, it has either shipped or should ship before the end of January 2016. If you ordered your Librem 13 after the campaign finished and requested an American (US) or British (UK) keyboard layout, it should ship before the end of Febuary 2016.</p>
<p>Librem 13s with a non-US or non-UK keyboard selection should ship by the end of March 2016. Since this is a rather long delay, we will offer to ship you a Librem 13 with US or UK keycaps, and, once we get the keycaps printed for your language selection, ship you the keycaps. The reason for this delay is we are waiting on the keycap supplier quote before we decide how to handle the non-US and non-UK keycaps.</p>
<h3>Librem 15 Rev2</h3>
<p>When you can expect to receive your Librem 15 rev2 is highly dependent on your laptop&#8217;s configuration.</p>
<p>If your Librem 15 rev2 order had a 1080p screen and an American (US) keyboard, it has been bumped to the front of the queue, and most will ship before the end of December with hardware kill switches on the hinge cover.</p>
<p>After we exhaust the stock of 1080p laptops, we move to the second batch of 1080p with American (US) keyboards, but these will have the hardware kill switches on the case&#8217;s side.  Those will ship in January of 2016.</p>
<p>Next, we will ship the 4k configuration. Unfortunitly Samsung has delayed the 4K panel shipments until mid February of 2016.  This means that if you ordered a Librem 15 Rev 2 with:</p>
<ul>
<li>A 4K screen and an American (US) or British (UK) keyboard layouts, or,</li>
<li>A 1080p orders that are bumped to 4k with an American (US) or British (UK) keyboard layouts</li>
</ul>
<p>Your order should ship at the end of February or the beginning of March 2016.</p>
<p>Finally, if you ordered a Librem 15 Rev 2 with a non-US or non-UK keyboard, it will be bumped up to a 4k display and should ship by the end of March 2016.</p>
<p>&nbsp;</p>
<p>The last thing you should know about is that these dates are not fixed and may have to change again. A lot can happen to speed up or delay the shipments, and most are out of our control. For instance,  many of the laptop&#8217;s components, like the keyboard,  are manufactured in China, and the Chinese New Year starts the first week of February.  For those unfamiliar with this celebration, the Chinese New Year in China is similar to August in Europe. Just about everyone has an entire month off and nothing gets done. Thus, from the manufacturing point of view, we lose the entire month of February because all the production lines shut down.</p>
<p>The Chinese New Year is not the only problem we face, but it gives you a small taste of the tremendous challenges pushing our strict beliefs into the manufacturing process.  While we never want to see delays, hiccups, or have to triage, these things happen, and we are doing our absolute best to continue to fight for what we believe in. Your support by purchasing a Librem laptop ensures we will have a future where users can have control of their computing.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-shipping-status-december-2015/">Purism Librem Shipping Status, December 2015</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>M.2 (NGFF) vs standard SATA drive sockets in Purism Librem laptops</title>
		<link>https://puri.sm/posts/m-2-ngff-vs-standard-sata-drive-sockets-in-purism-librem-laptops/</link>
		<pubDate>Thu, 10 Dec 2015 23:33:35 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[this-should-be-a-page]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1793</guid>
		<description><![CDATA[<p>We have gotten many questions on the M.2 (NGFF) drive in the Librem laptops, those questions ranging from: Can you boot from the M.2? Can you have both M.2 and SATA Drives? Which one is primary, which one is secondary? So we wanted to confirm and answer those questions. In short: Can you boot from [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/m-2-ngff-vs-standard-sata-drive-sockets-in-purism-librem-laptops/">M.2 (NGFF) vs standard SATA drive sockets in Purism Librem laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have gotten many questions on the M.2 (NGFF) drive in the Librem laptops, those questions ranging from:</p>
<ol>
<li>Can you boot from the M.2?</li>
<li>Can you have both M.2 and SATA Drives?</li>
<li>Which one is primary, which one is secondary?</li>
</ol>
<p>So we wanted to confirm and answer those questions. In short:</p>
<ol>
<li>Can you boot from the M.2? <strong>Yes!</strong></li>
<li>Can you have both M.2 and SATA Drives? <strong>Yes!</strong></li>
<li>Which one is primary, which one is secondary? <strong>M.2 is primary</strong></li>
</ol>
<p>We also wanted to provide a brief HOWTO when you order with, or use, both an M.2 and a SATA drive.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/m-2-ngff-vs-standard-sata-drive-sockets-in-purism-librem-laptops/">M.2 (NGFF) vs standard SATA drive sockets in Purism Librem laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Camera/Microphone Hardware Kill Switch Behavior on Librem Laptops</title>
		<link>https://puri.sm/posts/camera-microphone-hardware-kill-switch-behavior-on-librem-laptops/</link>
		<pubDate>Thu, 10 Dec 2015 18:58:59 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1767</guid>
		<description><![CDATA[<p>All Librem laptops come with a Hardware Kill Switch (HKS) which physically severs the circuit to the Camera and Microphone. The Librem laptops are the first to offer this feature and it works quite well. And in some cases, a bit TOO well. Specifically a Librem laptop Camera and Microphone Hardware Kill Switch will work with [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/camera-microphone-hardware-kill-switch-behavior-on-librem-laptops/">Camera/Microphone Hardware Kill Switch Behavior on Librem Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>All Librem laptops come with a Hardware Kill Switch (HKS) which physically severs the circuit to the Camera and Microphone. The Librem laptops are the first to offer this feature and it works quite well. And in some cases, a bit TOO well.</p>
<p>Specifically a Librem laptop Camera and Microphone Hardware Kill Switch will work with any GNU/Linux OS, but only as long as one obeys these simple rules:</p>
<ul>
<li><strong>Rule #1: Always have the Camera/Microphone HKS in the ON position when booting the laptop.</strong> This ensures the kernel is aware the device is there. Once the OS starts up you can toggle the Camera/Microphone OFF and ON as you wish, but&#8230;</li>
<li><strong>Rule #2: Always have the Camera/Microphone HKS in the ON position BEFORE starting a program that uses the Camera</strong>, like <a href="https://wiki.gnome.org/Apps/Cheese" target="_blank">CHEESE</a>. Once the program starts you can turn the Camera/Microphone OFF, but you will have to close and restart the program, with the HKS in the ON position, to get the Camera to work with that program.</li>
</ul>
<p>If any of these rules are violated, the Camera may NOT work until a reboot.</p>
<p><img src="https://puri.sm/wp-content/uploads/2015/12/camera-microphone-on-300x150.png" alt="camera-microphone-on" width="300" height="150" class="aligncenter size-medium wp-image-1786" srcset="https://puri.sm/wp-content/uploads/2015/12/camera-microphone-on-300x150.png 300w, https://puri.sm/wp-content/uploads/2015/12/camera-microphone-on-768x384.png 768w, https://puri.sm/wp-content/uploads/2015/12/camera-microphone-on.png 1024w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p><img src="https://puri.sm/wp-content/uploads/2015/12/camera-microphone-off-300x150.png" alt="camera-microphone-off" width="300" height="150" class="aligncenter size-medium wp-image-1784" srcset="https://puri.sm/wp-content/uploads/2015/12/camera-microphone-off-300x150.png 300w, https://puri.sm/wp-content/uploads/2015/12/camera-microphone-off-768x384.png 768w, https://puri.sm/wp-content/uploads/2015/12/camera-microphone-off.png 1024w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>The longer term plan is to develop proper kernel loading and unloading or software application polling of the devices, so the user flow becomes irrelevant. Obviously the kernel and software never took into account severing the circuit during operation, therefore we decided to post this to help user flow, and to provide a roadmap to ideal performance.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/camera-microphone-hardware-kill-switch-behavior-on-librem-laptops/">Camera/Microphone Hardware Kill Switch Behavior on Librem Laptops</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Partners with Qubes, Security-Focused Hardware and Software Together</title>
		<link>https://puri.sm/posts/purism-partners-with-qubes-security-focused-hardware-and-software-together/</link>
		<pubDate>Tue, 08 Dec 2015 05:00:10 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Partnerships]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1753</guid>
		<description><![CDATA[<p>Purism partners with Qubes, with the combined goal of offering Purism&#8217;s freedom-focused hardware bundled together with Qubes&#8217; security-focused operating system DECEMBER 8, 2015—SAN FRANCISCO, CA—In the midst of growing concerns about identity theft, Internet privacy, cybersecurity and digital rights, Purism, maker of the privacy, security, and freedom-focused Librem laptops has announced a partnership with the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-partners-with-qubes-security-focused-hardware-and-software-together/">Purism Partners with Qubes, Security-Focused Hardware and Software Together</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h3 style="text-align: center;"><strong>Purism partners with Qubes, with the combined goal of offering Purism&#8217;s freedom-focused hardware bundled together with Qubes&#8217; security-focused operating system</strong></h3>
<p>DECEMBER 8, 2015—SAN FRANCISCO, CA—In the midst of growing concerns about identity theft, Internet privacy, cybersecurity and digital rights, Purism, maker of the privacy, security, and freedom-focused Librem laptops has announced a partnership with the security-focused operating system Qubes OS, to ensure users are as protected from modern-day security threats as possible. This partnership will continue to evolve to push security for users in a positive direction within the hardware manufacturing process.</p>
<p>Qubes OS provides security through “compartmentalization.” If a user&#8217;s browser is compromised while visiting a website, for example, the attacker does not gain access to other information or programs on the system, such as sensitive documents, passwords, photos or personal data.</p>
<p>Conventional security approaches such as antivirus and malware detection programs are no longer enough to keep out sophisticated attackers. Qubes OS isolates the operating system&#8217;s components allowing for a more optimal security model than Microsoft Windows or Apple OSX can provide.</p>
<p>In addition, Qubes comes with Whonix-powered Tor integration, enabling the user to easily route network traffic through the Tor anonymity network. Given these features, combining Qubes with Purism Librem laptops is a natural fit–and users will benefit by being able to order Qubes OS preinstalled on the Librem 13.</p>
<p>“We are pleased to partner with the Purism team both in offering a certified Qubes OS laptop today, and in the future improving the functionality and security of Purism laptops to ensure that users can have the best of freedom, security and privacy in one convenient package,” said Joanna Rutkowska, well-known security researcher and founder of the Qubes OS project.</p>
<p>“We are ecstatic about the partnership between Purism and Qubes so we can bring together our goals of privacy, security and freedom in hardware with the best approach in software security. This union represents the ideal approach to protecting users by default, without sacrificing convenience or usability,” said Todd Weaver, CEO of Purism. “Qubes OS is a natural fit with the Purism Librem laptops in both functionality and ideology.”</p>
<h2>The Librem: Privacy-Respecting Hardware</h2>
<p>Purism&#8217;s goal with the Librem laptop is to offer a high-end computer with a simple, out-of-the-box, privacy-enhancing experience. The Librem laptop computer features privacy “kill switches” to physically shut off the camera, microphone and data connection, deterring data thieves, spies, cyberstalkers and hackers.</p>
<h3>Librem 13</h3>
<p>The new Librem 13 is now shipping. It can be ordered at <a href="https://puri.sm/products/librem-13/">https://puri.sm/product/librem-13/</a>, for a base price of $1649 US, including Qubes OS.</p>
<p>Orders are shipped on a first-come, first-served basis in the order they were received. There is an additional shipping charge of $80 for orders outside the USA.</p>
<p>CrowdSupply will accept all forms of international currency including Bitcoin.</p>
<h2>About Qubes OS</h2>
<p>Qubes OS is a security-oriented free and open source operating system for personal computers. Recognizing there can be no perfect, bug-free computing environment, Qubes aims instead to secure typical workflows through controlled interaction and minimize the attack surface for adversaries through compartmentalization.</p>
<p>Its architecture is built to enable a user to define different security environments or “domains” on their computer based on their threat model and manage their interaction with each other. This allows the user to control the level of access an application has to other information, protecting confidential work both from compromise and from exfiltration.</p>
<p>It can run Debian, Fedora, Whonix, and even Windows-based applications within this environment. For more information, visit: <a href="https://www.qubes-os.org/">https://www.qubes-os.org/</a></p>
<h2>About Purism</h2>
<p>Purism&#8217;s goal is to manufacture secure, freedom, and privacy-respecting computers. Leading the way in protecting your digital life by making security and privacy simpler and easier-to-use by default. Purism is devoted to providing the highest quality hardware available, with the goal that the user&#8217;s data is kept private and is secure from hacking, malware, spyware, identity theft and other threats that cannot be prevented with antivirus or malware detection alone. Purism is based in San Francisco, California, and its products are assembled in the United States from components manufactured and sourced internationally. Privately held and privately funded, Purism has raised nearly $842,000 to date solely with crowd funding, making the Librem laptops one of the top three most successful crowd funded PC hardware projects in history, according to ZDNet, and the #1 crowd funded hardware project on Crowd Supply.</p>
<hr class="ttfmake-hr" style="border-style: dotted; border-top-width: 1px;" />

<h1>Media Contact</h1>
<strong>Marie Williams,</strong> Coderella / Purism
+1 415-689-4029
<a href="mailto:pr@puri.sm">pr@puri.sm</a>
<small><em>See also the Purism <a href="https://puri.sm/pr/">press room</a> for additional tools and announcements.</em></small>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-partners-with-qubes-security-focused-hardware-and-software-together/">Purism Partners with Qubes, Security-Focused Hardware and Software Together</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>PureOS 2.0 OEM Install ISO</title>
		<link>https://puri.sm/posts/pureos-2-0-oem-install-iso/</link>
		<pubDate>Mon, 07 Dec 2015 19:34:27 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1751</guid>
		<description><![CDATA[<p>We have finalized the PureOS 2.0 OEM Install ISO, so we can ship batches waiting for PureOS 2.0 starting on Thursday, December 10th and Friday, December 11th. This ISO, which we will be releasing within two weeks, is built to solve one of the long standing pain points of GNU/Linux based installations. The problem has [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureos-2-0-oem-install-iso/">PureOS 2.0 OEM Install ISO</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have finalized the PureOS 2.0 OEM Install ISO, so we can ship batches waiting for PureOS 2.0 starting on Thursday, December 10th and Friday, December 11th.</p>
<p>This ISO, which we will be releasing within two weeks, is built to solve one of the long standing pain points of GNU/Linux based installations. The problem has historically been to get full disk encryption, or to setup your own username and password (not getting a preconfigured/default username/password), a user must install their own operating system. We solved this by having an installation ISO that we preseed with sane defaults and stick at the end of the disk. Then upon first boot, you (the user), boot the PureOS 2.0 operating system install process, encrypting the disk, configuring the keyboard, timezone, and entering your username, and password. This ensures you are in control of your device.</p>
<p>The process from start to finish is this:</p>
<ol>
<li>Purism formats and writes two partitions, one large and empty, one to hold the install ISO</li>
<li>Purism copies the PureOS 2.0 install ISO to the spare partition at the end of the disk</li>
<li>Purism ships to users</li>
<li>User boots the Librem laptop and PureOS 2.0 installs</li>
<li>Prompting for keyboard, timezone, wireless, username, and password</li>
<li>Installation completes</li>
<li>Second boot the Libem laptop boots PureOS 2.0 and user can log in</li>
</ol>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pureos-2-0-oem-install-iso/">PureOS 2.0 OEM Install ISO</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 13 Shipping, Librem 15 Shipping</title>
		<link>https://puri.sm/posts/librem-13-shipping-librem-15-shipping/</link>
		<pubDate>Mon, 16 Nov 2015 17:12:21 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1748</guid>
		<description><![CDATA[<p>The Librem 13 units have been shipping out incrementally while we work on our logistics, with one published review. The bulk shipments of Librem 13 units to backers will be leaving our factory this week. We extended the bulk shipments to try to improve the OS install process. Previously any non Ubuntu based distribution had [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13-shipping-librem-15-shipping/">Librem 13 Shipping, Librem 15 Shipping</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 13 units have been shipping out incrementally while we work on our logistics, with <a href="http://www.linuxinsider.com/story/82722.html">one published review</a>. The bulk shipments of Librem 13 units to backers will be leaving our factory this week. We extended the bulk shipments to try to improve the OS install process. Previously any non Ubuntu based distribution had to ship with a preconfigured username/password, which defeats the purpose of allowing users control. We have chosen an approach where we do a factory install of PureOS 2.0 onto the end of the drive, allowing for a preseeded install upon first boot by users. This ensures proper user configuration, encryption, and password settings, reaching the goal of users controlling their device. This gets the added benefit of being able to reinstall, or even boot it as a live image. The earliest backers who have not yet received their Librem 13 should expect their shipping confirmation this week. The later backers should expect mid to late December.</p>
<p>The Librem 15 rev2 units are shipping in phases, 10pcs light gray 1080p (already shipping), then another 10pcs light gray 1080p (within two weeks), then 20pcs light gray 1080p (that have the new location of the hardware kill switches on the side), and finally the remainder dark gray with hardware kill switches on the side (manufactured on the motherboard). Early backers whom have not already received shipping confirmation should expect that within two weeks. Later backers should expect mid to late December.</p>
<p>All Librem 15 rev2 units in dark gray will come with 4k screens, since it was causing difficulty to do both 1080p and 4k. All future orders will be 4k.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-13-shipping-librem-15-shipping/">Librem 13 Shipping, Librem 15 Shipping</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem Production 2015-10-29</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-production-2015-10-29/</link>
		<pubDate>Tue, 03 Nov 2015 00:27:11 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1743</guid>
		<description><![CDATA[<p>We have received the very first batch of Librem 15 rev2 motherboards and component parts today. These will begin shipment next week, and we will continue to deliver on orders of both the Librem 13 and Librem 15 rev2 units throughout November, and into December, our current goal is to get all units shipped before [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-29/">Weekly Update on Librem Production 2015-10-29</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have received the very first batch of Librem 15 rev2 motherboards and component parts today. These will begin shipment next week, and we will continue to deliver on orders of both the Librem 13 and Librem 15 rev2 units throughout November, and into December, our current goal is to get all units shipped before mid December. You will get updates on your individual orders through Crowd Supply.</p>
<p>The order we will be shipping them in is first ordered are first shipped, unless the configuration pushes that to a later batch, such as the 4K screen, or the unique language key caps.</p>
<p>All units will ship with PureOS 2.0, unless you specify your order number, and request &#8220;NO OS&#8221;, then we will not load an operating system.</p>
<p>The Intel ME progress report, we have a number of avenues we are pursuing with regard to the Intel ME, what we can disclose are the approaches we are making progress on:<br />
1) Fusing the CPU based on Intel documentation to run an unsigned ME (continuing testing).<br />
2) Getting a zero byte then signed Intel ME (short-term plan).<br />
3) Getting the source reviewed/released (long-term plan).<br />
4) Any alternative Intel can provide to operating without the Intel ME.</p>
<p>PureOS 2.0 is nearing a release candidate, probably another week.</p>
<p>We will be moving this &#8220;weekly production posting&#8221; to semi-regular posts when events occur.</p>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-29/">Weekly Update on Librem Production 2015-10-29</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem Production 2015-10-23</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-production-2015-10-23/</link>
		<pubDate>Fri, 23 Oct 2015 21:01:19 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1709</guid>
		<description><![CDATA[<p>Some Librem 13 units are already in the hands of users. Another batch of shipments will be sent next week, backers will get notified via email from Crowd Supply when those orders have shipped. We will be showing some Librem 13 units (both with US and UK keyboard layouts) at OSCON in Amsterdam at the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-23/">Weekly Update on Librem Production 2015-10-23</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Some Librem 13 units are already in the hands of users. Another batch of shipments will be sent next week, backers will get notified via email from Crowd Supply when those orders have shipped.</p>
<p>We will be showing some Librem 13 units (both with US and UK keyboard layouts) at OSCON in Amsterdam at the &#8220;Hardware Showcase&#8221; in the sponsors pavilion on Monday, October 26th and Tuesday, October 27th. If you&#8217;re planning on attending OSCON, please come by and say &#8220;hi!&#8221;</p>
<p>To reiterate on coreboot and the Intel FSP/ME, our work on Coreboot and testing the CPU fuses for a potential future with a freed ME are continuing, but neither will be finished prior to shipment, therefore we will be offering the option of receiving a non-free AMI BIOS with your hardware now, that can add coreboot later (through a software update, flashrom), or to wait until we have coreboot added by default. We will be providing hardware to a few more key coreboot developers, whom we&#8217;ve met with, so hopefully will be able to pin down a solid release date for Coreboot on Librem hardware.</p>
<p>PureOS 2.0 is getting back on track. We posted to Debian Jobs, and got an overwhelming list of qualified candidates. We have brought on two immediately with a few others we are qualifying to build this team out a little more. Our plan, since moving away from Ubuntu&#8217;s oem-config, to Debian (which does not have a good OEM install process), is to load a preseeded ISO on the drives, and let GRUB boot, and allow the user to enter the initial user and password, along with timezone and other configuration. This will be superior to the existing temp user approach we have now.</p>
<p>We have confirmation on individual parts pricing for the Power Supply, as well as a replacement battery. Crowd Supply will be adding those parts for sale soon. The Power Supply and replacement battery both will list for $40.00. The battery is easily replaceable by removing the back cover, removing the battery screws, and unhooking the single connection to the motherboard.</p>
<p>We are still waiting on the printing of our logo on the keycap for the super key, so will be shipping units with a blank super key until we get our logo on them. This is a lower priority for us right now.</p>
<p>This also relates to all the foreign key caps, those will be shipping later, so if you have a non-US or non-UK layout, your order is in the back of the queue right now.</p>
<p>The Librem 15 rev2 first 10 units motherboard shipment was confirmed shipment on Friday October 16th, 2015. We are expecting this to arrive early next week.</p>
<p>Dates:<br />
<strong>Librem 13</strong><br />
<b>September 25th – Librem 13 motherboard shipment</b><br />
<b>October 6th – Librem 13 assembly</b><br />
<b>October 12th – Ship Librem 13 (first orders)</b> (October 15th actual)<br />
October 12th through October 30th – First batch of 100 units shipped<br />
October 30th through November 20th – Second batch of 100 units shipped<br />
November 23rd – Any sales will be shipping from stocked units</p>
<p><strong>Librem 15 rev2</strong><br />
<b>October 19th – First 10 Librem 15 rev2 (light gray) motherboard shipment</b><br />
October 22nd – First 10 Librem 15 rev2 (light gray) assembly<br />
October 22nd – Next 40 Librem 15 rev2 (light gray) motherboard shipment<br />
October 26nd – Next 40 Librem 15 rev2 (light gray) assembly<br />
October 28th – First 10 Librem 15 rev2 (light gray) shipment<br />
November 3rd – Next 40 Librem 15 rev2 (light gray) shipment<br />
<b>All product from here on out will be dark gray</b><br />
November 24th – Librem 15 rev2 motherboard shipment<br />
November 27th – Librem 15 rev2 assembly<br />
November 30th through December 4th – Batch of 100 units shipped<br />
December 4th through December 11th – Next Batch of 100 unit shipped<br />
December 14th – Any sales will be shipping from stocked units</p>
<hr />
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: gesture</li>
<li>ETA: ~October (initial gestures supported)</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME (verifying we CAN or CANNOT)</li>
<ul>
<li>Current: ~90%</li>
<li>Future: 100%</li>
<li>ETA: ~November</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~30%</li>
<li>Future: 100%</li>
<li>ETA: ~December (waiting on good estimate)</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs (growing to more coreboot devs)</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>Future: DONE</li>
<li>ETA: September 11</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~5%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>Note: This is for a free software kernel driver, not the binary blob</li>
<li>.5 devs</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-23/">Weekly Update on Librem Production 2015-10-23</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem Production 2015-10-16</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-production-2015-10-16/</link>
		<pubDate>Fri, 16 Oct 2015 15:46:18 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1690</guid>
		<description><![CDATA[<p>The Librem 13 laptops are shipping! We began shipping Librem 13 units on Thursday, October 15th, 2015. A date that we are extremely proud of, it takes a lot to pull all this together, and now we can move onto execution of delivery across all the orders. Our work on Coreboot and testing the CPU [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-16/">Weekly Update on Librem Production 2015-10-16</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 13 laptops are shipping!</p>
<p>We began shipping Librem 13 units on Thursday, October 15th, 2015. A date that we are extremely proud of, it takes a lot to pull all this together, and now we can move onto execution of delivery across all the orders.</p>
<p>Our work on Coreboot and testing the CPU fuses for a potential future with a freed ME are continuing, but neither will be finished prior to shipment, therefore we will be offering the option of receiving a non-free AMI BIOS with your hardware now, that can add coreboot later (through a software update, flashrom), or to wait until we have coreboot added by default.</p>
<p>PureOS 2.0 release hit a delay when our second developer had a medical emergency last week. This was the backup to the lead developer who has also been on medical leave. So we took to the Debian jobs mailing list, and got an immediate fill-in, and a lot of additional interest in filling out our staff on the PureOS 2.0 side. Lesson learned, when you are on your redundant backup, get a tertiary backup ready.</p>
<p>We are still waiting on the printing of our logo on the keycap for the super key, so will be shipping units with a blank super key until we get our logo on them. This is a lower priority for us right now.</p>
<p>The Librem 15 rev2 first 10 units motherboard shipment was confirmed shipment on Friday October 16th, 2015.</p>
<p>Dates:<br />
<strong>Librem 13</strong><br />
<b>September 25th – Librem 13 motherboard shipment</b><br />
<b>October 6th – Librem 13 assembly</b><br />
<b>October 12th – Ship Librem 13 (first orders)</b> (October 15th actual)<br />
October 12th through October 30th – First batch of 100 units shipped<br />
October 30th through November 20th – Second batch of 100 units shipped<br />
November 23rd – Any sales will be shipping from stocked units</p>
<p><strong>Librem 15 rev2</strong><br />
<b>October 19th – First 10 Librem 15 rev2 (light gray) motherboard shipment</b><br />
October 22nd – First 10 Librem 15 rev2 (light gray) assembly<br />
October 22nd – Next 40 Librem 15 rev2 (light gray) motherboard shipment<br />
October 26nd – Next 40 Librem 15 rev2 (light gray) assembly<br />
October 28th – First 10 Librem 15 rev2 (light gray) shipment<br />
November 3rd – Next 40 Librem 15 rev2 (light gray) shipment<br />
<b>All product from here on out will be dark gray</b><br />
November 24th – Librem 15 rev2 motherboard shipment<br />
November 27th – Librem 15 rev2 assembly<br />
November 30th through December 4th – Batch of 100 units shipped<br />
December 4th through December 11th – Next Batch of 100 unit shipped<br />
December 14th – Any sales will be shipping from stocked units</p>
<hr />
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: gesture</li>
<li>ETA: ~October (initial gestures supported)</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME (verifying we CAN or CANNOT)</li>
<ul>
<li>Current: ~90%</li>
<li>Future: 100%</li>
<li>ETA: ~End of October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~30%</li>
<li>Future: 100%</li>
<li>ETA: ~November/December</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>Future: DONE</li>
<li>ETA: September 11</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~5%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>Note: This is for a free software kernel driver, not the binary blob</li>
<li>.25 devs</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-16/">Weekly Update on Librem Production 2015-10-16</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Ships Librem 13, First Privacy-respecting Notebook Computer</title>
		<link>https://puri.sm/posts/purism-ships-librem-13-first-privacy-respecting-notebook-computer/</link>
		<pubDate>Thu, 15 Oct 2015 16:10:02 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=18390</guid>
		<description><![CDATA[<p>The Librem is a high-end 13&#8243; notebook computer designed specifically for security and privacy; includes hardware “kill switch” to physically sever connection to camera and microphone, hardware optimized for GNU/Linux-based operating system. Unveiled today at GetGeeked press and gadget/PC enthusiast event in New York New York, NY (PRWEB) — October 15, 2015 — In the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-ships-librem-13-first-privacy-respecting-notebook-computer/">Purism Ships Librem 13, First Privacy-respecting Notebook Computer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<blockquote>
<p class="article-intro-text quote-lines">The Librem is a high-end 13&#8243; notebook computer designed specifically for security and privacy; includes hardware “kill switch” to physically sever connection to camera and microphone, hardware optimized for GNU/Linux-based operating system. Unveiled today at GetGeeked press and gadget/PC enthusiast event in New York</p>
</blockquote>
<p class="responsiveNews">New York, NY (PRWEB) — October 15, 2015 — In the midst of international concerns about identity theft, Internet privacy, security and digital rights, Purism today shipped the Librem 13, the first high-end privacy- and freedom-respecting notebook personal computer.</p>
<p class="responsiveNews">The Librem 13 introduces many innovative security features not offered in any other PC on the market today, including a privacy “kill switch” to physically shut off the circuit to the camera and microphone to deter hackers, stalkers and identity thieves. The Librem computers ship with with PureOS, a preinstalled, consumer-friendly, GNU/Linux-based operating system. All Librem laptops will also run any GNU/Linux operating system, seamlessly.</p>
<p class="responsiveNews">The 13” Librem 13 notebook will be unveiled today at GetGeeked, a press and early adopter customer event in New York City and will begin shipping to customers. Members of the media can attend at 5 pm EST by registering at http://getgeeked.tv/press-rsvp/</p>
<blockquote>
<p class="responsiveNews">“Conventional computers have spyware – also called “mystery code” – preinstalled throughout the kernel and operating system, software and even in the hardware. These spyware programs leave the user extremely vulnerable to the kinds of security attacks we’ve been seeing on a growing basis. The Librem laptops do not have this ‘mystery code’ in the kernel, operating system, nor software,” said Purism CEO Todd Weaver.</p>
</blockquote>
<h1 class="responsiveNews">Built chip by chip, app by app, for privacy and security</h1>
<p class="responsiveNews">The goal of the Librem is to offer a simple, out of the box, privacy-enhancing computing experience, with the best privacy and rights-protecting free/libre and open source software preinstalled.</p>
<p class="responsiveNews">The Librem has an anodized aluminum case, combining the benefits of the MacBook Air and high-end Lenovo laptops. Librem laptops come with privacy kill switches to sever the hardware circuit to the camera, microphone, Bluetooth and WiFi, deterring data thieves, snoops and hackers. Additionally, the Librem runs on a custom-compiled Linux kernel.</p>
<p class="responsiveNews">Unlike most other computers on the market today, the Librem’s hardware, operating system and applications do not “phone home” and never send data back to the parent company. “Backdoors,” spyware, binary blobs and other vulnerabilities in the kernel, operating system and applications have been completely removed.</p>
<p class="responsiveNews">The following privacy-enhancing software comes preinstalled on Librem laptops:</p>
<ul>
<li class="responsiveNews">PureOS Operating system — Purism&#8217;s custom-built GNU/Linux based operating system with a clean user interface, offers easy access to applications, documents, and media.</li>
<li class="responsiveNews">LibreOffice office suite — A preinstalled office suite is file-compatible with Microsoft Windows Word, Excel, Powerpoint, Access, Visio, and Outlook, as well as Apple files. LibreOffice protects your freedom and privacy, is completely free/libre and open source, and never sends data to the parent company.</li>
<li class="responsiveNews">PureBrowser – PureBrowser is a Firefox-based browser specifically designed to ensure privacy and security.</li>
<li class="responsiveNews">Tor Browser — Tor Browser is an anonymizing browser that uses encryption and anonymous routing to protect users&#8217; rights.</li>
<li class="responsiveNews">EFF Privacy Badger — The EFF Privacy Badger is a PureBrowser plug in which blocks spying ads and invisible trackers.</li>
<li class="responsiveNews">HTTPS Everywhere — HTTPS Everywhere is a PureBrowser extension that encrypts communications with many major websites, making browsing more secure.</li>
</ul>
<p class="responsiveNews">Librem 13 hardware features:</p>
<ul>
<li class="responsiveNews">The following privacy-enhancing hardware features come with the Librem laptops:</li>
<li class="responsiveNews">Hardware kill switches – Physical toggle switches shut off the camera and microphone to disable remote access.</li>
<li class="responsiveNews">Pop-down 1 Gigabyte RJ45 Internet jack</li>
<li class="responsiveNews">Purism Key — The Purism key on the Librem 13 is a powerful key for searching all files and applications.</li>
<li class="responsiveNews">Easily upgradable — The user can unscrew the back of the LIbrem easily with a standard Phillips-head screwdriver to expand and add additional RAM or storage.</li>
<li class="responsiveNews">No visible logo – By request from backers, the Librem 13 laptop has no visible logo.</li>
</ul>
<p class="responsiveNews">Other Librem 13 features include:</p>
<ul>
<li class="responsiveNews">Slim, solid aluminum case with dark gray anodized finish.</li>
<li class="responsiveNews">Extra-strong, reinforced hinges.</li>
<li class="responsiveNews">Large, multi-touch trackpad.</li>
<li class="responsiveNews">Glare-proof, matte 13” display screen.</li>
<li class="responsiveNews">5th Generation, 2.2 gz Intel Processor.</li>
<li class="responsiveNews">4 GB memory, expandable to 16 GB.</li>
<li class="responsiveNews">M.2 (NGFF) PCIE SSD.</li>
</ul>
<h1 class="responsiveNews">CROWD FUNDING ENABLES RAPID DEVELOPMENT</h1>
<p class="responsiveNews">The Librem 13 was funded using a crowdfunding website, Crowd Supply, and designed and developed in less than 5 months. The Librem 13 crowdfunding campaign was initially announced June 21, 2015 and reached its $250,000 funding goal on September 17, 2015. The Librem 13 laptops begin shipping to the first batch of funders on October 15, 2015.</p>
<blockquote>
<p class="responsiveNews">“Crowdfunding enables us to determine market demand and conduct rapid development with feedback from our backers. This way, we create a product that the market actually wants — rather than the historic approach of speculating about market demand,” says Weaver.</p>
</blockquote>
<p class="responsiveNews">The Librem laptops were specifically designed to optimally run GNU/Linux with free/libre and open source software. The final assembly and shipping of the Librem laptops is completed in the USA in a secure facility in South San Francisco, California.</p>
<h1 class="responsiveNews">SHIPPING AND ORDERING INFORMATION</h1>
<p class="responsiveNews">Librem 13: The new Librem 13 ships beginning October 15, 2015. It can still be preordered at crowdsupply.com/purism/librem-13, for a base price of $1699 US.</p>
<p class="responsiveNews">LIbrem 15: The Librem 15 rev2 begins shipping November 2015 and can be preordered for a base price of $1899 US at crowdsupply.com/purism</p>
<p class="responsiveNews">Orders are shipped on a first-come, first-served basis in the order they were received.</p>
<p class="responsiveNews">CrowdSupply will accept all forms of International currency including Bitcoin. Currently about 50% of Librem backers are from outside the USA, including the United Kingdom, Australia, Germany, France, Switzerland, Belgium, Russia, Italy, Brazil, Sweden, Denmark, China, Singapore and Japan.</p>
<h1 class="responsiveNews">About Purism</h1>
<p class="responsiveNews">Purism follows a strict belief in users’ rights to privacy, security, and freedom. We believe users should have access to the highest quality computers without compromising these beliefs.</p>
<p class="responsiveNews">The founder and CEO of Purism, Todd Weaver, created Purism to combine the philosophies of the free/libre and open source software movement with the hardware manufacturing process. Purism is devoted to providing the highest quality hardware available, ensuring the rights of security, privacy, and freedom for all users.</p>
<p class="responsiveNews">Purism is based in San Francisco, California, and its products are assembled in the United States from components sourced internationally. Privately held and privately funded, Purism has raised over $816,000 to date solely with crowd funding for the Librem 13 and 15, making the Librem laptops one of the top three most successful crowd funded PC hardware projects in history, according to ZDNet, and the #1 crowd funded Open Source hardware project on Crowd Suppy.</p>
<h1 class="responsiveNews">About Crowd Supply</h1>
<p class="responsiveNews">Crowd Supply is a launchpad for open hardware, hackables and high end goods that embrace the principles of open design. It empowers product creators to bring their ideas to life with the tools and services they need the most, from strategy and crowdfunding, to ongoing sales and product fulfillment. It is the only platform of its kind to be endorsed by the Free Software Foundation for respecting the privacy and freedom of its users, and the only crowdfunding platform where every funded product has successfully been made and delivered to backers.</p>
<p class="responsiveNews">Notable product launches include the open Novena laptop by bunnie &amp; xobs, Purism’s Librem laptop, and Circuit Stickers by Chibitronics. Crowd Supply is based in Portland, OR, and was founded by a team of product engineers from MIT Media Lab. To shop or launch a product of your own, visit <a href="http://www.crowdsupply.com/" target="_blank" rel="noopener noreferrer">http://www.crowdsupply.com/</a>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-ships-librem-13-first-privacy-respecting-notebook-computer/">Purism Ships Librem 13, First Privacy-respecting Notebook Computer</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem Production 2015-10-09</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-production-2015-10-09/</link>
		<pubDate>Fri, 09 Oct 2015 18:52:06 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1679</guid>
		<description><![CDATA[<p>The Librem 13 laptops are being assembled! The anodized aluminium is more beautiful than we imagined, the tolerances are tight, so the Librem 13 is extremely solid. We are painstakingly organizing the cables, hardware kill switches, and the individual user hardware configurations. We imagine all of you will be very happy with the quality of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-09/">Weekly Update on Librem Production 2015-10-09</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 13 laptops are being assembled!</p>
<p><img src="https://puri.sm/wp-content/uploads/2015/10/purism-librem-13-assembly-opened-700x612-20151008.jpeg" alt="Purism Librem 13 Assembly Opened" width="700" height="612" class="aligncenter size-full wp-image-1680" srcset="https://puri.sm/wp-content/uploads/2015/10/purism-librem-13-assembly-opened-700x612-20151008.jpeg 700w, https://puri.sm/wp-content/uploads/2015/10/purism-librem-13-assembly-opened-700x612-20151008-300x262.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p><img src="https://puri.sm/wp-content/uploads/2015/10/purism-librem-13-assembly-back-opened-700x485-20151008.jpeg" alt="Purism Librem 13 Assembly Back Opened" width="700" height="485" class="aligncenter size-full wp-image-1681" srcset="https://puri.sm/wp-content/uploads/2015/10/purism-librem-13-assembly-back-opened-700x485-20151008.jpeg 700w, https://puri.sm/wp-content/uploads/2015/10/purism-librem-13-assembly-back-opened-700x485-20151008-300x208.jpeg 300w, https://puri.sm/wp-content/uploads/2015/10/purism-librem-13-assembly-back-opened-700x485-20151008-230x160.jpeg 230w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>The anodized aluminium is more beautiful than we imagined, the tolerances are tight, so the Librem 13 is extremely solid. We are painstakingly organizing the cables, hardware kill switches, and the individual user hardware configurations. We imagine all of you will be very happy with the quality of the Librem 13.</p>
<p>Our work on Coreboot and testing the CPU fuses for a potential future with a freed ME are continuing, but neither will be finished prior to shipment, therefore we will be offering the option of receiving a non-free AMI BIOS with your hardware now, that can have coreboot added later, or to wait until we have coreboot added by default.</p>
<p>PureOS 2.0 is expected to be installed on all the Librem 13 shipments, and available for download next week, we took the time to fork from Debian main (excluding the non-free and contrib), and adding in all the freedom respecting features we had in PureOS 1.0. We will be submitting PureOS 2.0 to the Free Software Foundation (FSF) for review as we work toward having PureOS become a FSF endorsed operating system. This process will take some time, but we are committed to getting it done, making sure we adhere to the strictures of what the Free Software Foundation established.</p>
<p>We will be including the initial gesture supported trackpad driver within PureOS 2.0 as well.</p>
<p>We are still waiting on the printing of our logo on the keycap for the super key, so will be shipping units with a blank super key until we get our logo on them.</p>
<p>Dates:<br />
<strong>Librem 13</strong><br />
<b>September 25th – Librem 13 motherboard shipment</b><br />
<b>October 6th – Librem 13 assembly</b><br />
October 12th – Ship Librem 13 (first orders)<br />
October 12th through October 30th – First batch of 100 units shipped<br />
October 30th through November 20th – Second batch of 100 units shipped<br />
November 23rd – Any sales will be shipping from stocked units</p>
<p><strong>Librem 15 rev2</strong><br />
October 19th – First 10 Librem 15 rev2 (light gray) motherboard shipment<br />
October 22nd – First 10 Librem 15 rev2 (light gray) assembly<br />
October 22nd – Next 40 Librem 15 rev2 (light gray) motherboard shipment<br />
October 26nd – Next 40 Librem 15 rev2 (light gray) assembly<br />
October 28th – First 10 Librem 15 rev2 (light gray) shipment<br />
November 3rd – Next 40 Librem 15 rev2 (light gray) shipment<br />
<b>All product from here on out will be dark gray</b><br />
November 24th – Librem 15 rev2 motherboard shipment<br />
November 27th – Librem 15 rev2 assembly<br />
November 30th through December 4th – Batch of 100 units shipped<br />
December 4th through December 11th – Next Batch of 100 unit shipped<br />
December 14th – Any sales will be shipping from stocked units</p>
<hr />
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: gesture</li>
<li>ETA: ~October (initial gestures supported)</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME (verifying we CAN or CANNOT)</li>
<ul>
<li>Current: ~90%</li>
<li>Future: 100%</li>
<li>ETA: ~End of October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~30%</li>
<li>Future: 100%</li>
<li>ETA: ~November/December</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>Future: DONE</li>
<li>ETA: September 11</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~5%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>Note: This is for a free software kernel driver, not the binary blob</li>
<li>.25 devs</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-09/">Weekly Update on Librem Production 2015-10-09</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem Production 2015-10-02</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-production-2015-10-02/</link>
		<pubDate>Fri, 02 Oct 2015 18:36:15 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1676</guid>
		<description><![CDATA[<p>First off, thank you for all the support, volunteering, and developers offering to join Purism, we are just in the beginning and as we grow we can do great things together! We had a detailed meeting with fabrication yesterday and will provide greater detail on the production status for both the Librem 13 and Librem [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-02/">Weekly Update on Librem Production 2015-10-02</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>First off, thank you for all the support, volunteering, and developers offering to join Purism, we are just in the beginning and as we grow we can do great things together!</p>
<p>We had a detailed meeting with fabrication yesterday and will provide greater detail on the production status for both the Librem 13 and Librem 15 rev2 (light gray, and dark gray).</p>
<p>We have confirmation of shipment of the first 100 PCBs for the Librem 13, they will be arriving with all the other parts Tuesday, October 6th to begin assembly and then shipment. After that we receive batches of 100 units on a bi-weekly basis, allowing us to fulfill the remaining pre-orders, and begin to ship from stock.</p>
<p>In an attempt to overcome the R&#038;D delays while redesigning the Librem 15 rev2, and to expedite some Librem 15 rev2 units to the earliest backers, we will be splitting those into a small batch of 10 units, light gray, with 1080p screens arriving Monday, October 19th, allowing us to get the earliest and longest waiting backers some units assembled and shipped around October 28th. This will follow with 40 more units, light gray, with 1080p screens arriving a week later, October 26th. We will then be getting the dark gray units, that support up to 4k in batches of 100 in the middle of November, for shipment the end of November and early December. We will then be able to ship from stock in the month of December.</p>
<p>We are adjusting and adding in all those dates in list form here:</p>
<p>Dates:<br />
<strong>Librem 13</strong><br />
<b>September 25th – Librem 13 motherboard shipment</b><br />
October 6th – Librem 13 assembly<br />
October 12th – Ship Librem 13 (first orders)<br />
October 12th through October 30th – First batch of 100 units shipped<br />
October 30th through November 20th – Second batch of 100 units shipped<br />
November 23rd – Any sales will be shipping from stocked units</p>
<p><strong>Librem 15 rev2</strong><br />
October 19th – First 10 Librem 15 rev2 (light gray) motherboard shipment<br />
October 22nd – First 10 Librem 15 rev2 (light gray) assembly<br />
October 22nd – Next 40 Librem 15 rev2 (light gray) motherboard shipment<br />
October 26nd – Next 40 Librem 15 rev2 (light gray) assembly<br />
October 28th – First 10 Librem 15 rev2 (light gray) shipment<br />
November 3rd – Next 40 Librem 15 rev2 (light gray) shipment<br />
<b>All product from here on out will be dark gray</b><br />
November 24th – Librem 15 rev2 motherboard shipment<br />
November 27th – Librem 15 rev2 assembly<br />
November 30th through December 4th – Batch of 100 units shipped<br />
December 4th through December 11th – Next Batch of 100 unit shipped<br />
December 14th – Any sales will be shipping from stocked units</p>
<hr />
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: gesture</li>
<li>ETA: ~October (initial gestures supported)</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME</li>
<ul>
<li>Current: ~90%</li>
<li>Future: 100%</li>
<li>ETA: ~September</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~30%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>Future: DONE</li>
<li>ETA: September 11</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~5%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>Note: This is for a free software kernel driver, not the binary blob</li>
<li>.25 devs</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-10-02/">Weekly Update on Librem Production 2015-10-02</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem Production 2015-09-25</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-production-2015-09-25/</link>
		<pubDate>Mon, 28 Sep 2015 19:39:58 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1670</guid>
		<description><![CDATA[<p>We are planning on, for future revisions, moving the Hardware Kill Switches from the hinge cover, to the side of the case, and with that probably separating out the mic/camera while still combining the bluetooth/wireless. This proposed change would be for later versions if we do include it, so expect your orders to ship with [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-09-25/">Weekly Update on Librem Production 2015-09-25</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are planning on, for future revisions, moving the Hardware Kill Switches from the hinge cover, to the side of the case, and with that probably separating out the mic/camera while still combining the bluetooth/wireless. This proposed change would be for later versions if we do include it, so expect your orders to ship with the hinge cover kill switches originally planned.</p>
<p><img src="https://puri.sm/wp-content/uploads/2015/09/purism-hardware-kill-switch-v2-spec-20150926.jpeg" alt="purism-hardware-kill-switch-v2-spec-20150926" width="700" height="382" class="aligncenter size-full wp-image-1671" srcset="https://puri.sm/wp-content/uploads/2015/09/purism-hardware-kill-switch-v2-spec-20150926.jpeg 700w, https://puri.sm/wp-content/uploads/2015/09/purism-hardware-kill-switch-v2-spec-20150926-300x164.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Trackpad update, we have the initial gesture of two finger scrolling working, this also has removed a rather annoying issue of tap-to-click moving the mouse and focus clicking whenever a user&#8217;s palm rested on the trackpad. This is a huge step forward for the Linux kernel trackpad support in general, and we will be releasing this code under GPL 3.0, and working to have it included in the Linux kernel.</p>
<p>Dates:<br />
<b>August 15 &#038; 17th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
<b>week 1 fabrication</b><br />
<b>week 2 fabrication</b><br />
<b>week 3 fabrication</b><br />
<b>week 4 fabrication</b><br />
<b>delay of shipment (Librem 13) and solder pads (Librem 15)</b><br />
<b>September <strike>22nd</strike> 25th – Librem 13 motherboard shipment</b><br />
October 5th – Librem 13 assembly<br />
October 12th – Ship Librem 13 (first orders)<br />
October 6th – Librem 15 rev2 motherboard shipment<br />
October 12th – Librem 15 rev2 assembly<br />
October 19th – Librem 15 rev2 shipment (first orders)</p>
<p>Once we begin shipment, we will work through all the orders by complexity of configuration.</p>
<hr />
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: gesture</li>
<li>ETA: ~October (initial gestures supported)</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME</li>
<ul>
<li>Current: ~85%</li>
<li>Future: 100%</li>
<li>ETA: ~September</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~25%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>Future: DONE</li>
<li>ETA: September 11</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~0%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>Note: This is for a free software kernel driver, not the binary blob</li>
<li>.25 devs (If you&#8217;re interested in helping we can use it!)</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-09-25/">Weekly Update on Librem Production 2015-09-25</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Librem Privacy-Respecting Computers Raise $797,000 to Date, Now Among Top 3 Crowdfunded PCs in History</title>
		<link>https://puri.sm/posts/purism-librem-privacy-respecting-computers-raise-797000-to-date-now-among-top-3-crowdfunded-pcs-in-history/</link>
		<pubDate>Thu, 24 Sep 2015 16:04:58 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=18388</guid>
		<description><![CDATA[<p>Librem Privacy-Respecting Linux-Based Laptop Reaches 318% of Funding Goal, Now Among Top 3 Crowdfunded PCs in History According to ZDNet. Purism&#8217;s Librem 13 Linux-Based Notebook Meets 107% of Funding Goal on Crowd Supply, and Librem 15 Laptop Raises 210% &#8212; Shipment to Backers Expected Starting October 5. San Francisco, CA (PRWEB) — September 24, 2015 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-privacy-respecting-computers-raise-797000-to-date-now-among-top-3-crowdfunded-pcs-in-history/">Purism Librem Privacy-Respecting Computers Raise $797,000 to Date, Now Among Top 3 Crowdfunded PCs in History</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>Librem Privacy-Respecting Linux-Based Laptop Reaches 318% of Funding Goal, Now Among Top 3 Crowdfunded PCs in History According to ZDNet. Purism&#8217;s Librem 13 Linux-Based Notebook Meets 107% of Funding Goal on Crowd Supply, and Librem 15 Laptop Raises 210% &#8212; Shipment to Backers Expected Starting October 5.</em></p>
<p>San Francisco, CA (PRWEB) — September 24, 2015 — The privacy-respecting Librem 13 and Librem 15 laptops have surpassed past their initial crowdfunding goals, on the Open Source crowd funding site, Crowd Supply. Together, the two Librem computers raised more than $797,000 to date. Librem is now the #1 project on Crowd Supply, and among the top three crowd funded PC hardware projects in history, according to <a title="ZDNet" href="http://www.zdnet.com/article/top-10-crowd-funded-pcs-how-silicon-valleys-heirs-are-building-the-next-great-computer/" target="_blank" rel="noopener noreferrer">ZDNet</a>.</p>
<p>The goal of the Librem is to offer a simple, out of the box, privacy-enhancing LInux kernel-based computing experience for consumers.</p>
<p>The Librem personal computers aim to eliminate vulnerabilities and &#8220;backdoors&#8221; in the hardware, chip firmware, operating system and applications. Purism&#8217;s engineering team is also working diligently to build a &#8220;free&#8221; and open source BIOS, the last remaining hurdle to a 100% freedom-respecting computer.</p>
<p>Crowd Supply is a launchpad for new open hardware projects. It offers crowdfunding, strategy, e-commerce and product fulfillment services to product creators, and was recently endorsed by Dr. Richard Stallman as the crowdfunding platform of choice for adhering to the organization’s Free Javascript Campaign, and for respecting users&#8217; and backers&#8217; freedoms.</p>
<p>The Librem is the world’s first high-end computer designed chip-by-chip, from the motherboard to the screen, to specifically protect a users&#8217; security, while respecting their digital rights. PureOS, the Librem’s operating system, is a simple, consumer-friendly derivative of the Debian Linux distribution, will ship with the laptops in October and is available to all <a href="https://pureos.net/">as a free download</a>.</p>
<p>The Librem&#8217;s hardware is carefully selected to run using a custom-compiled Linux kernel without “mystery software” or “binary blobs” ensuring that there are no backdoors in the kernel or operating system.</p>
<p>Crowd funding enables rapid market demand evaluation and development:</p>
<blockquote><p>
“Crowd funding has allowed us to determine market demand, and conduct rapid development with our backers, to create a product that the market actually wants — rather than the historic approach of speculating,” says Purism CEO Todd Weaver.
</p></blockquote>
<p>The ease of hardware prototyping, combined with the power of crowd funding, enables an emerging company like Purism to create a computer that is equivalent — and in many ways superior — to other high-end laptops on the market today.</p>
<p>The Librem looks similar to a MacBook Air, and introduces some innovative features not found in any other laptop on the market today, including a Privacy “Kill Switch” that shuts the data connection to the camera and microphone to deter hackers or information thieves.</p>
<blockquote><p>
&#8220;In years past, getting hardware product to market required tremendous investment, with minimum order quantities in the hundreds of thousands, and the product wasn&#8217;t vetted until they all sat on a Best Buy shelf. Crowd funding enables product-market-fit experimentation in a category that has historically been deprived of it,&#8217; Weaver added. &#8216;We have been iterating the design and specs for the Librem on a rapid cycle — with some of our most significant features like the Hardware Kill Switch, backlit keyboard and CPU fusing for security and privacy, coming directly from requests made by our backers.&#8221;
</p></blockquote>
<p>On January 21, 2015 the company achieved its first $250,000 goal for the Librem 15, and in June launched Librem 13, a smaller, lighter, 13” version.</p>
<p>The Librem 13 has a slender, anodized aluminum case similar to a MacBook Air, and comes with optional privacy “kill switches” to shut off the camera, microphone, Bluetooth and WiFi, deterring data thieves, snoops and hackers.</p>
<h1>Shipping and ordering information</h1>
<p>Librem 13: The new Librem 13 with privacy kill switch will ship beginning October 5, 2015. It can still be preordered at crowdsupply.com/purism/librem-13, for a base price of $1699 US.</p>
<p>LIbrem 15: Librem 15-inch ver2 will begin shipping October 15, 2015 and can be preordered for a base price of $1899 US, at crowdsupply.com/purism.</p>
<p>CrowdSupply will accept all forms of International currency including Bitcoin. Currently about 50% of backers are from outside the USA, including Germany, France, Switzerland, Belgium, Russia, Italy, Brazil, Sweden, Denmark and Asia.</p>
<h1>About Purism</h1>
<p>Purism follows a strict belief in your rights to freedom, privacy, and control of your computing. We believe users should have access to the highest quality computers without compromising these beliefs.</p>
<p>The founder and CEO of Purism, Todd Weaver, created Purism to marry the philosophies of the free/libre and open source software movement with the hardware manufacturing process. Purism is devoted, at its heart and soul, to providing the highest quality hardware available, that ensures the rights of security, privacy, and freedom for all users.</p>
<p>Purism is based in San Francisco, California and its products are assembled locally in the United States from components sourced internationally. Privately held and privately funded, Purism has raised more than $798,000 to date—solely with crowd funding—making the Librem laptops one of the three most successful crowd funded PC hardware projects in history, according to ZDNet, and the #1 crowd funded Open Source hardware project on Crowd Supply.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-privacy-respecting-computers-raise-797000-to-date-now-among-top-3-crowdfunded-pcs-in-history/">Purism Librem Privacy-Respecting Computers Raise $797,000 to Date, Now Among Top 3 Crowdfunded PCs in History</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Hard, NOT Soft, Kill Switches</title>
		<link>https://puri.sm/posts/hard-not-soft-kill-switches/</link>
		<pubDate>Mon, 21 Sep 2015 18:02:29 +0000</pubDate>
		<dc:creator><![CDATA[Zlatan Todorić]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Wireless and networking]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1609</guid>
		<description><![CDATA[<p>Here is the HARD truth about Hardware Kill switches on Librem laptops. The Librem laptops are secure machines that respect and protect your privacy and freedom. To this end, we at Purism are intensely suspicious of several items on a standard laptop that could be used, either maliciously or accidentally, to violate your privacy and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/hard-not-soft-kill-switches/">Hard, NOT Soft, Kill Switches</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Here is the HARD truth about Hardware Kill switches on Librem laptops.</p>
<p>The Librem laptops are secure machines that respect and protect your privacy and freedom. To this end, we at Purism are intensely suspicious of several items on a standard laptop that could be used, either maliciously or accidentally, to violate your privacy and security. Specifically, these items are:</p>
<ol>
<li>The laptop&#8217;s built in Webcam and Microphone.</li>
<li>The laptop&#8217;s WiFi and Bluetooth radios.</li>
</ol>
<p>Almost all laptops on the market today have a way to turn off a laptop&#8217;s WiFi and Bluetooth radios. However, most do it via software on the computer (example: a special program in the operating system) or a soft switch in the computer&#8217;s embedded controller within the bios (example: using the keyboard combination of pressing at the same time the Function Key plus the F2 key). Due to the threats that still remain possible for malicious software to turn on these peripherals, we opt to solve this with hardware.</p>
<p>There is NO other laptop on the market today that has a physical means to turn off a machine&#8217;s built in Webcam and Microphone.</p>
<p>Thus, to protect you from the risks of these devices, the Librem laptops come with the ability to physically disable or turn off the Webcam, Microphone, WiFi radio, and Bluetooth radio via a Hardware Kill Switch (HKS).</p>
<p>The HKS is a real physical switch that either:</p>
<ol>
<li>Cuts the signal or power line to the device, as in the case of the Webcam and Microphone HKS, or,</li>
<li>Disable the chip running them, as is the case of the WiFi and Bluetooth radios HKS.</li>
</ol>
<p>To give you an idea how this is done, let&#8217;s look at the HKSes on a Librem 13.</p>
<h3>The HKS themselves</h3>
<p>The HKSes are located in the hinge cover of a Librem 13. The HKS themselves are Double Pole, Double Throw (DPDT) switches with a switch function of ON-ON and have six leads on them.</p>
<figure id="attachment_1644" style="width: 700px" class="wp-caption alignnone"><img class="wp-image-1644 size-large" src="https://puri.sm/wp-content/uploads/2015/09/purism-kill-switches-1600px-20150713-1024x576.jpeg" alt="purism-kill-switches-1600px-20150713" width="700" height="394" srcset="https://puri.sm/wp-content/uploads/2015/09/purism-kill-switches-1600px-20150713-1024x576.jpeg 1024w, https://puri.sm/wp-content/uploads/2015/09/purism-kill-switches-1600px-20150713-300x169.jpeg 300w, https://puri.sm/wp-content/uploads/2015/09/purism-kill-switches-1600px-20150713.jpeg 1600w" sizes="(max-width: 700px) 100vw, 700px" /><figcaption class="wp-caption-text">Librem 13 HKSes in the Hinge Cover</figcaption></figure>
<h3>Different Devices, Different Challenges</h3>
<p>For starters, it helps to look at the motherboard on a Librem 13 and see where the various devices connect to it.</p>
<figure id="attachment_1615" style="width: 700px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Motherboard-with-lables.jpg"><img class="wp-image-1615 size-large" src="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Motherboard-with-lables-1024x641.jpg" alt="Librem 13 Motherboard (with lables)" width="700" height="438" srcset="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Motherboard-with-lables-1024x641.jpg 1024w, https://puri.sm/wp-content/uploads/2015/09/Librem-13-Motherboard-with-lables-300x188.jpg 300w" sizes="(max-width: 700px) 100vw, 700px" /></a><figcaption class="wp-caption-text">Librem 13 Motherboard Layout</figcaption></figure>
<p>To physically shut off each of the questionable devices with a physical switch we broke the problem down into three parts:</p>
<ol>
<li>Kill the Webcam</li>
<li>Kill the Microphone, and,</li>
<li>Kill the WiFi and Bluetooth radios</li>
</ol>
<p>The reason for this is because each of the above devices has a different interface and thus requires a different solution to ensure it is really OFF.</p>
<h3>Kill the Webcam</h3>
<figure id="attachment_1654" style="width: 390px" class="wp-caption alignleft"><a href="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Webcam-Connector-1.jpg"><img class="wp-image-1654 " src="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Webcam-Connector-1-1024x758.jpg" alt="Librem 13 Webcam Connector (1)" width="390" height="289" srcset="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Webcam-Connector-1-1024x758.jpg 1024w, https://puri.sm/wp-content/uploads/2015/09/Librem-13-Webcam-Connector-1-300x222.jpg 300w, https://puri.sm/wp-content/uploads/2015/09/Librem-13-Webcam-Connector-1.jpg 1026w" sizes="(max-width: 390px) 100vw, 390px" /></a><figcaption class="wp-caption-text">Wire on connector EDPCON1 sent to the HKS for the Webcam</figcaption></figure>
<p>The webcam on a Librem 13 is located above the laptop&#8217;s screen and connects to the motherboard via connector EDPCON1, a x30 pin connector that also contains all the wiring for the laptop&#8217;s display. The webcam itself uses a USB 2.0 interface, meaning there are four wires on EDPCON1 that are just for the camera. Two of the four wires are for data, one is for a +3.3 volt DC signal to power the camera, and the last wire it the ground.</p>
<p>To kill the Webcam with a HKS, we insert a HKS and circuit during assembly, wiring the +3.3 volt DC power wire for the USB connection directly into the HKS.</p>
<p>With the HKS in the OFF position, no power gets to the Webcam, and thus making it impossible for the webcam to be used (in fact it is not detected by the kernel nor operating system when off).</p>
<h3 style="clear: both;">Kill the Microphone</h3>
<figure id="attachment_1656" style="width: 425px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Mic-Cable-11.jpg"><img class="wp-image-1656 " src="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Mic-Cable-11.jpg" alt="Librem 13 Mic Cable (1)" width="425" height="285" srcset="https://puri.sm/wp-content/uploads/2015/09/Librem-13-Mic-Cable-11.jpg 833w, https://puri.sm/wp-content/uploads/2015/09/Librem-13-Mic-Cable-11-300x201.jpg 300w" sizes="(max-width: 425px) 100vw, 425px" /></a><figcaption class="wp-caption-text">Wire on connector MIC_COM1 wired to the HKS for the Microphone</figcaption></figure>
<p>The microphone on a Librem 13 is located right next to the Webcam above the laptop&#8217;s screen and connects to the laptop&#8217;s motherboard via connector MIC_COM1. But unlike the Webcam, the microphone has only two leads: One for the microphone&#8217;s signal and the other for the microphone&#8217;s ground.</p>
<p>To kill the microphone with a HKS, we wire the microphone&#8217;s signal wire directly to the HKS.</p>
<p>With the HKS in the OFF position, no signal from the microphone gets to the motherboard, thus making it impossible for the microphone to send any signals to the laptop.</p>
<h3>One Switch for Two</h3>
<p>Both the Webcam and the Microphone are wired to the same HKS, so both devices are OFF at the same time.</p>
<figure id="attachment_1611" style="width: 285px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2015/09/HKS-Wiring-1.5.jpg"><img class="wp-image-1611 size-medium" src="https://puri.sm/wp-content/uploads/2015/09/HKS-Wiring-1.5-285x300.jpg" alt="HKS Wiring (1)" width="285" height="300" /></a><figcaption class="wp-caption-text">HKS for the Webcam and the Microphone. Wire on top are to the Webcam. Wires on the bottom are to the Microphone.</figcaption></figure>
<p>The WiFi and Bluetooth radios are wired to a second HKS.</p>
<h3>Kill the WiFi and Bluetooth Radios</h3>
<figure id="attachment_1619" style="width: 536px" class="wp-caption alignright"><a href="https://puri.sm/wp-content/uploads/2015/09/Librem-13-WiFi-HKS-1.jpg"><img class="wp-image-1619 " src="https://puri.sm/wp-content/uploads/2015/09/Librem-13-WiFi-HKS-1-1024x856.jpg" alt="Librem 13 WiFi HKS" width="536" height="448" srcset="https://puri.sm/wp-content/uploads/2015/09/Librem-13-WiFi-HKS-1-1024x856.jpg 1024w, https://puri.sm/wp-content/uploads/2015/09/Librem-13-WiFi-HKS-1-300x251.jpg 300w, https://puri.sm/wp-content/uploads/2015/09/Librem-13-WiFi-HKS-1.jpg 1350w" sizes="(max-width: 536px) 100vw, 536px" /></a><figcaption class="wp-caption-text">Layout of the solder points for the WiFi/Bluetooth, NGFF M.2 pins 54 and 56.</figcaption></figure>
<p>To fully understand how to disable the WiFi and Bluetooth radios, it is necessary to gain some insight into the PCISIG M.2 NGFF standard and how it is used to turn OFF the devices. The PCISIG M.2 NGFF connector has 75 positions with up to 67 pins, each with a specific function. Some are used for data, some are used for power and ground, and still others are used for control signals. But for the HKSes, the two PCISIG M.2 NGFF pins of interest are pins 56 and 54, which control PCISIG M.2 NGFF functions called W_DISABLE#1 and W_DISABLE#2 (respectfully).</p>
<p>The WiFi/Bluetooth Hardware Kill Switch works by applying to pins 56 and 54 an input of one of two DC signals:</p>
<ol>
<li>To turn the radios ON: Apply a Ground (GND) or +0 V signal.</li>
<li>To turn the radios OFF: Apply a +3.3 V signal.</li>
</ol>
<p>Note that this standard is a bit counter intuitive with Voltage high (+3.3 Volt) = OFF and Voltage low (0 Volts or GND) = ON.</p>
<p>In a Librem 13, the M.2 NGFF connector pins 54 and 56 cannot be accessed directly on the NGFF connector, for it is much too small for any solder connections. Instead the pins are accessed via two 0402 Surface Mount Device (SMD) pads on the motherboard itself (pads R609 and R629).</p>
<p>So for the WiFi/Bluetooth HKS, wires are soldered from the SMD pads to the HKS. Then one side of the HKS is wired to a +3.3 volt signal with the other side wired to ground. The end result looks like this:</p>
<figure id="attachment_1635" style="width: 367px" class="wp-caption alignnone"><a href="https://puri.sm/wp-content/uploads/2015/09/HKS-Wiring-3.jpg"><img class="wp-image-1635 " src="https://puri.sm/wp-content/uploads/2015/09/HKS-Wiring-3.jpg" alt="HKS Wiring" width="367" height="239" srcset="https://puri.sm/wp-content/uploads/2015/09/HKS-Wiring-3.jpg 566w, https://puri.sm/wp-content/uploads/2015/09/HKS-Wiring-3-300x196.jpg 300w" sizes="(max-width: 367px) 100vw, 367px" /></a><figcaption class="wp-caption-text">Wiring Diagram for WiFi/Bluetooth HKS.</figcaption></figure>
<p>With the HKS in the +3.3 Volt position, pins 54 and 56 in the M.2 NGFF connector will receive a HIGH voltage, and the radios on the WiFi card will be turned OFF. With the HKS in the Ground (GND) position, pins 54 and 56 will receive a LOW voltage, and the radios will be turned ON.</p>
<h3>Our Hard Work to Protect Your Privacy</h3>
<p>As you can see, it is not a trivial matter to manufacture these HKSes. A lot of research and hard work went into the effort.</p>
<p>Purism believes in your rights to privacy, security, and freedom, and will continue to work hard for users&#8217; rights.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/hard-not-soft-kill-switches/">Hard, NOT Soft, Kill Switches</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem Production 2015-09-18</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-production-2015-09-18/</link>
		<pubDate>Fri, 18 Sep 2015 20:12:23 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1607</guid>
		<description><![CDATA[<p>Thank you to all the backers of the Librem 13 campaign (and the Librem 15 rev2 growth), it is so exciting to see the support! It is this support from the community that makes it worth the effort to keep pushing against the status quo. We will continue to push the message that users&#8217; rights [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-09-18/">Weekly Update on Librem Production 2015-09-18</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Thank you to all the backers of the Librem 13 campaign (and the Librem 15 rev2 growth), it is so exciting to see the support! It is this support from the community that makes it worth the effort to keep pushing against the status quo. We will continue to push the message that users&#8217; rights must be respected in everything we do.</p>
<p>Even though we took the gamble to place the Librem 13 order early in the campaign, the Librem 13 motherboard shipment hit a minor delay. It is estimated that delay is about one week, so we are adjusting the calendar below to reflect that.</p>
<p>The Librem 15 rev2 fabrication hit a snag with the hardware kill switch solder pad on the motherboard (the pads were joining the circuit), we are waiting to hear exactly how long that delay will be, however expect it to be less than 2 weeks, we are adjusting to the worst-case until we hear otherwise. The Librem 13 did not have this issue, since it has different circuitry, so is progressing forward.</p>
<p>We have pulled most of the coreboot development team and put it into the very excited testing of our theory on unlocking the Intel Management Engine (ME), which we hope to have some news on within the next week. We have hardware in-hand that has an unlocked CPU, we are wanting to verify we can both prove other hardware will not work with an unlocked ME, but ours will. This would be very exciting if we CAN run an unlocked ME, as our theory suggests! (We will announce our findings if it works, or not, as soon as we finish testing).</p>
<p>Depending on where your orders are in the queue, you will get the option via email, to have your Librem laptop ship with the known issues below (and do software updates to pick up the fixes later), or wait until they&#8217;re resolved and receive your Librem laptop then.</p>
<p>PureOS will be releasing a major version increase to PureOS 2.0 prior to hardware shipment, it will be forked direct from Debian. We will then submit PureOS 2.0 to FSF to see if it meets their endorsement criteria, and work through an areas if it does not.</p>
<p>Dates:<br />
<b>August 15 &#038; 17th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
<b>week 1 fabrication</b><br />
<b>week 2 fabrication</b><br />
<b>week 3 fabrication</b><br />
<b>week 4 fabrication</b><br />
<b>delay of shipment and solder pads</b><br />
September 22nd – Librem 13 motherboard shipment<br />
September 28th – Librem 13 assembly<br />
October 5th – Ship Librem 13<br />
October 6th – Librem 15 rev2 motherboard shipment<br />
October 12th – Librem 15 rev2 assembly<br />
October 19th – Librem 15 rev2 shipment</p>
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: multitouch</li>
<li>ETA: ~October</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME</li>
<ul>
<li>Current: ~85%</li>
<li>Future: 100%</li>
<li>ETA: ~September</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~25%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>Future: DONE</li>
<li>ETA: September 11</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~0%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>Note: This is for a free software kernel driver, not the binary blob</li>
<li>0 devs (If you&#8217;re interested in helping we can use it!)</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-production-2015-09-18/">Weekly Update on Librem Production 2015-09-18</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 15 rev2 Production 2015-09-11</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-09-11/</link>
		<pubDate>Fri, 11 Sep 2015 19:13:58 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Wireless and networking]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1593</guid>
		<description><![CDATA[<p>The Librem 15 fabrication is moving along, we should be expecting units in as early as the week of the 20th: Note: We have pulled most of the coreboot development time and put it into the very excited testing of our theory on unlocking the Intel Management Engine (ME), which we hope to have some [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-09-11/">Weekly Update on Librem 15 rev2 Production 2015-09-11</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 15 fabrication is moving along, we should be expecting units in as early as the week of the 20th:</p>
<p><strong>Note: We have pulled most of the coreboot development time and put it into the very excited testing of our theory on unlocking the Intel Management Engine (ME), which we hope to have some news on within the next week or so.</strong></p>
<p>Dates:<br />
<b>August 10th – Ship second prototype</b><br />
<b>August 13th – Receive third prototype (test)</b><br />
<b>August 17th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
<b>week 1 fabrication</b><br />
<b>week 2 fabrication</b><br />
<b>week 3 fabrication</b><br />
week 4 fabrication<br />
September 20th – Receive hardware for assembly<br />
September 28th – Ship first orders</p>
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: multitouch</li>
<li>ETA: ~October</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME</li>
<ul>
<li>Current: ~85%</li>
<li>Future: 100%</li>
<li>ETA: ~September</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~25%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>Future: DONE</li>
<li>ETA: September 11</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~0%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>Note: This is for a free software kernel driver, not the binary blob</li>
<li>0 devs (If you&#8217;re interested in helping we can use it!)</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-09-11/">Weekly Update on Librem 15 rev2 Production 2015-09-11</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 13 Production 2015-09-11</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-13-production-2015-09-11/</link>
		<pubDate>Fri, 11 Sep 2015 19:11:54 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Wireless and networking]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1591</guid>
		<description><![CDATA[<p>The Librem 13 fabrication is nearing completion, we should be expecting units in as early as the week of the 15th: Note: We have pulled most of the coreboot development time and put it into the very excited testing of our theory on unlocking the Intel Management Engine (ME), which we hope to have some [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-13-production-2015-09-11/">Weekly Update on Librem 13 Production 2015-09-11</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 13 fabrication is nearing completion, we should be expecting units in as early as the week of the 15th:</p>
<p><strong>Note: We have pulled most of the coreboot development time and put it into the very excited testing of our theory on unlocking the Intel Management Engine (ME), which we hope to have some news on within the next week or so.</strong></p>
<p>Dates:<br />
<b>August 15th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
<b>week 1 fabrication</b><br />
<b>week 2 fabrication</b><br />
<b>week 3 fabrication</b><br />
week 4 fabrication<br />
September [15th-20th] – Receive hardware for assembly<br />
September [24th-28th] – Ship first orders</p>
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: multitouch</li>
<li>ETA: ~October</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME</li>
<ul>
<li>Current: ~85%</li>
<li>Future: 100%</li>
<li>ETA: ~September</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~25%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>Future: DONE</li>
<li>ETA: September 11</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~0%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>Note: This is for a free software kernel driver, not the binary blob</li>
<li>0 devs (If you&#8217;re interested in helping we can use it!)</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-13-production-2015-09-11/">Weekly Update on Librem 13 Production 2015-09-11</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 13 Production 2015-09-04</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-13-production-2015-09-04/</link>
		<pubDate>Fri, 04 Sep 2015 11:35:22 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1583</guid>
		<description><![CDATA[<p>The Librem 13 is progressing forward nicely, it has a possibility of arriving at the earlier window, but we&#8217;ll keep the dates as is for now: Dates: August 15th – &#8220;green light&#8221; fabrication August 20th – Todd on-site @ fabrication in Shenzhen week 1 fabrication week 2 fabrication week 3 fabrication week 4 fabrication September [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-13-production-2015-09-04/">Weekly Update on Librem 13 Production 2015-09-04</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Librem 13 is progressing forward nicely, it has a possibility of arriving at the earlier window, but we&#8217;ll keep the dates as is for now:</p>
<p>Dates:<br />
<b>August 15th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
<b>week 1 fabrication</b><br />
<b>week 2 fabrication</b><br />
week 3 fabrication<br />
week 4 fabrication<br />
September [15th-20th] – Receive hardware for assembly<br />
September [24th-28th] – Ship first orders</p>
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: multitouch</li>
<li>ETA: ~October</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME</li>
<ul>
<li>Current: ~80%</li>
<li>Future: 100%</li>
<li>ETA: ~September</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~25%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic</li>
<li>Future: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>ETA: ~September 15</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~0%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>0 devs (If you&#8217;re interested in helping we can use it!)</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-13-production-2015-09-04/">Weekly Update on Librem 13 Production 2015-09-04</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 15 rev2 Production 2015-09-04</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-09-04/</link>
		<pubDate>Fri, 04 Sep 2015 11:34:06 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1582</guid>
		<description><![CDATA[<p>It is looking like 4 weeks of fabrication for the Librem 15 rev2, rather than an expedited 3 weeks, so pulling out the more aggressive dates. Dates: August 10th – Ship second prototype August 13th – Receive third prototype (test) August 17th – &#8220;green light&#8221; fabrication August 20th – Todd on-site @ fabrication in Shenzhen [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-09-04/">Weekly Update on Librem 15 rev2 Production 2015-09-04</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>It is looking like 4 weeks of fabrication for the Librem 15 rev2, rather than an expedited 3 weeks, so pulling out the more aggressive dates.</p>
<p>Dates:<br />
<b>August 10th – Ship second prototype</b><br />
<b>August 13th – Receive third prototype (test)</b><br />
<b>August 17th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
<b>week 1 fabrication</b><br />
<b>week 2 fabrication</b><br />
week 3 fabrication<br />
week 4 fabrication<br />
September 20th – Receive hardware for assembly<br />
September 28th – Ship first orders</p>
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: multitouch</li>
<li>ETA: ~October</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Unlocking the ME</li>
<ul>
<li>Current: ~80%</li>
<li>Future: 100%</li>
<li>ETA: ~September</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~25%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic</li>
<li>Future: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>ETA: ~September 15</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~0%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>0 devs (If you&#8217;re interested in helping we can use it!)</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-09-04/">Weekly Update on Librem 15 rev2 Production 2015-09-04</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 15 rev2 Production 2015-08-28</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-28/</link>
		<pubDate>Fri, 28 Aug 2015 23:02:40 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1533</guid>
		<description><![CDATA[<p>The fabrication of the Librem 15 rev2 is underway. The first 50 or so will be light gray. We had to triage the second drive bay entirely, replacing that with the M.2 slot, we will be converting and updating all orders to the new, improved, and wickedly fast M.2 (NGFF) PCIe storage. The second battery [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-28/">Weekly Update on Librem 15 rev2 Production 2015-08-28</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The fabrication of the Librem 15 rev2 is underway. The first 50 or so will be light gray. We had to triage the second drive bay entirely, replacing that with the M.2 slot, we will be converting and updating all orders to the new, improved, and wickedly fast M.2 (NGFF) PCIe storage. The second battery was triaged entirely out of rev2, therefore we will work with any backers with that configuration on their options in the coming weeks via email.</p>
<p>Dates:<br />
<b>August 10th – Ship second prototype</b><br />
<b>August 13th – Receive third prototype (test)</b><br />
<b>August 17th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
<b>week 1 fabrication</b><br />
week 2 fabrication<br />
week 3 fabrication<br />
week 4 fabrication<br />
September [15th-20th] – Receive hardware for assembly<br />
September [24th-28th] – Ship first orders</p>
<p>Now that we have prototype hardware, we can add a known issues section this week, so we can update progress weekly as well:</p>
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: multitouch</li>
<li>ETA: ~October</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~20%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic</li>
<li>Future: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>ETA: ~September 15</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~0%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>0 devs (If you&#8217;re interested in helping we can use it!)</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-28/">Weekly Update on Librem 15 rev2 Production 2015-08-28</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 13 Production 2015-08-28</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-13-production-2015-08-28/</link>
		<pubDate>Fri, 28 Aug 2015 23:02:24 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1536</guid>
		<description><![CDATA[<p>The fabrication of the Librem 13 is underway! Dates: August 15th – &#8220;green light&#8221; fabrication August 20th – Todd on-site @ fabrication in Shenzhen week 1 fabrication week 2 fabrication week 3 fabrication week 4 fabrication September [15th-20th] – Receive hardware for assembly September [24th-28th] – Ship first orders Now that we have prototype hardware, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-13-production-2015-08-28/">Weekly Update on Librem 13 Production 2015-08-28</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The fabrication of the Librem 13 is underway!</p>
<p>Dates:<br />
<b>August 15th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
<b>week 1 fabrication</b><br />
week 2 fabrication<br />
week 3 fabrication<br />
week 4 fabrication<br />
September [15th-20th] – Receive hardware for assembly<br />
September [24th-28th] – Ship first orders</p>
<p>Now that we have prototype hardware, we can add a known issues section this week, so we can update progress weekly as well:</p>
<p>Known Issues:</p>
<ol>
<li>Trackpad Driver</li>
<ul>
<li>Current: ps/2 mouse capabilities</li>
<li>Future: multitouch</li>
<li>ETA: ~October</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog, Git (soon)</li>
<li>2 devs</li>
</ul>
<li>Coreboot BIOS</li>
<ul>
<li>Current: ~20%</li>
<li>Future: 100%</li>
<li>ETA: ~October</li>
<li>Where: BIOS</li>
<li>Source for Updates: Blog, Coreboot Blog, Git (soon)</li>
<li>3 devs</li>
</ul>
<li>Hardware Kill Switches</li>
<ul>
<li>Current: Webcam/Mic</li>
<li>Future: Webcam/Mic &#038; NGFF (Wireless)</li>
<li>ETA: ~September 15</li>
<li>Where: Hardware</li>
<li>Source for Updates: Blog</li>
<li>3 devs</li>
</ul>
<li>Bluetooth (via daughter card)</li>
<ul>
<li>Current: ~0%</li>
<li>Future: 100%</li>
<li>ETA: ~February 2016</li>
<li>Where: Kernel Level Driver</li>
<li>Source for Updates: Blog</li>
<li>0 devs (If you&#8217;re interested in helping we can use it!)</li>
</ul>
</ol>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-13-production-2015-08-28/">Weekly Update on Librem 13 Production 2015-08-28</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>2015-08-21 Librem 13: Weekly BIOS Progress Update</title>
		<link>https://puri.sm/posts/2015-08-21-librem-13-weekly-progress-update/</link>
		<pubDate>Mon, 24 Aug 2015 16:01:26 +0000</pubDate>
		<dc:creator><![CDATA[Larry Moberg]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1501</guid>
		<description><![CDATA[<p>This post covers the Librem 13 engineering considerations around writing to the SPI flash chip, and how that affects coreboot development. This builds on last week&#8217;s notes on the low level I/O for debugging coreboot builds. As always, email questions or comments to: feedback@puri.sm. The BIOS flash on the Librem 13 is an 8 MiB [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2015-08-21-librem-13-weekly-progress-update/">2015-08-21 Librem 13: Weekly BIOS Progress Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This post covers the <a href="https://puri.sm/products/librem-13/">Librem 13</a> engineering considerations around writing to the SPI flash chip, and how that affects coreboot development. This builds on <a href="https://puri.sm/posts/2015-08-14-librem-13-weekly-progress-update/">last week&#8217;s notes</a> on the low level I/O for debugging coreboot builds. As always, email questions or comments to: <em>feedback@puri.sm</em>.</p>
<p>The BIOS flash on the Librem 13 is an 8 MiB chip in a SOP-8 package. The EC firmware is located on a separate 64 KiB chip. <a href="https://i.imgur.com/WmKq3Om.jpg">This link</a> can be used to locate the chips on your mainboard: the BIOS flash is halfway down, near the CPU heatpipe. The EC flash is at the bottom just below the DDR3L module.</p>
<p>Even without any patches specifically for the Librem 13, <a href="http://flashrom.org/">flashrom</a> can flawlessly read its BIOS flash because it supports the PCH. Unless you write outside the BIOS region, you will not encounter any problems using flashrom to update your BIOS.</p>
<p><em>Please don&#8217;t update the Intel Firmware Descriptor or ME region just yet</em>–all the IFD bits are marked read/write and flashrom is happy to execute a write to that region. The issue arises because the ME writes asynchronously to the ME region. A collision of flashrom and ME writes will corrupt the ME region and may brick the laptop. Purism intends to provide an unlocked ME that respects your freedom, so look for an update on the Purism blog.</p>
<h3>In-System Programming The BIOS Flash</h3>
<p>The BIOS can be written and verified using a SOP-8 clip after closing the two sides of jumper J1 to assert the PCH RSMRST# pin. <em>Warning: reflashing the BIOS risks bricking the laptop until in-system programming and/or soldering a new BIOS chip restores the BIOS to a good state.<br />
</em></p>
<h3>EC Flash</h3>
<p>The KB3930 datasheet, section 3.1 &#8220;Hardware Trap,&#8221; gives the method for programming the EC flash:</p>
<ol>
<li>Disconnect the battery and the A/C power so that the EC is fully powered down.</li>
<li>Pull GPIO23/TP_ISP (pin 42) to GND. Note the internal 40K-ohm pull-up resistor.</li>
<li>Connect the A/C power supply to the board. The EC is now powered up.</li>
<li>TP_ISP sets CS#, SPI_CLK, MISO, and MOSI lines &#8220;High-Z&#8221;.</li>
<li>Connect a SOP-8 clip and flash programmer and flash the EC firmware.</li>
</ol>
<p>It should be noted fine-pitch soldering is required to connect to pin 42 on the EC. The KB3930 also supports firmware updates via software. We will be developing a clean room Free Software EC firmware that has all the same functionality as the existing EC firmware.</p>
<h3>Conclusions</h3>
<p>This post covers the steps for coreboot development and recovery. Fortunately, the EC firmware is not shared with the BIOS or ME blob, which makes flashrom&#8217;s job easier.</p>
<p>BIOS development is hard. One of the major challenges facing BIOS developers is a lack of accurate, comprehensive documentation for all the hardware coreboot interacts with. The &#8220;elephant in the room,&#8221; for an Intel-based laptop, is the Management Engine.</p>
<p><em>[Ed. Note: this was reposted from blogs.coreboot.org with permission.]</em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2015-08-21-librem-13-weekly-progress-update/">2015-08-21 Librem 13: Weekly BIOS Progress Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 13 Production 2015-08-21</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-13-production-2015-08-21/</link>
		<pubDate>Sat, 22 Aug 2015 00:57:04 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1508</guid>
		<description><![CDATA[<p>We have placed our fabrication order for the Librem 13, and we expect to receive them around the 15th of September. We decided to bite-the-bullet and place the order prior to the campaign funding ending, to avoid any delays. To keep a running update on dates: August 15th – &#8220;green light&#8221; fabrication August 20th – [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-13-production-2015-08-21/">Weekly Update on Librem 13 Production 2015-08-21</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have placed our fabrication order for the Librem 13, and we expect to receive them around the 15th of September. We decided to bite-the-bullet and place the order prior to the campaign funding ending, to avoid any delays.</p>
<p>To keep a running update on dates:</p>
<p><b>August 15th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
[3-4  weeks fabrication]<br />
September [15th-20th] – Receive hardware for assembly<br />
September [24th-28th] – Ship first orders of Librem 13</p>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-13-production-2015-08-21/">Weekly Update on Librem 13 Production 2015-08-21</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 15 rev2 Production 2015-08-21</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-21/</link>
		<pubDate>Sat, 22 Aug 2015 00:49:28 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1506</guid>
		<description><![CDATA[<p>Another quick update to let you all know, we have approved the fabrication of the Librem 15 rev2 motherboard, the prototype we received passed with flying colors. We should be getting our first 50 Librem 15 rev2 units within 3 to 4 weeks, it&#8217;s possible to get some earlier if we go with the first [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-21/">Weekly Update on Librem 15 rev2 Production 2015-08-21</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Another quick update to let you all know, we have approved the fabrication of the Librem 15 rev2 motherboard, the prototype we received passed with flying colors.</p>
<p>We should be getting our first 50 Librem 15 rev2 units within 3 to 4 weeks, it&#8217;s possible to get some earlier if we go with the first 50 light gray (since the case supplier has them in stock in light gray), so we are very likely to do that. If we do, the color will be the only difference, so we will ask any early backers what choice they want, light gray or wait for darker gray.</p>
<p>To keep a running update on dates:</p>
<p><b>August 10th – Ship second prototype</b><br />
<b>August 13th – Receive third prototype (test)</b><br />
<b>August 17th – &#8220;green light&#8221; fabrication</b><br />
<b>August 20th – Todd on-site @ fabrication in Shenzhen</b><br />
[3-4  weeks fabrication]<br />
September [15th-20th] – Receive hardware for assembly<br />
September [24th-28th] – Ship first orders of Librem 15 rev2</p>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-21/">Weekly Update on Librem 15 rev2 Production 2015-08-21</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Librem 15 rev2 Backlit Keyboard</title>
		<link>https://puri.sm/posts/purism-librem-15-rev2-backlit-keyboard/</link>
		<pubDate>Mon, 17 Aug 2015 21:37:27 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1491</guid>
		<description><![CDATA[<p>Arguably one of the most requested items from the backers of the Librem 15 rev2 was for a backlit keyboard. We are proud to announce that keyboard design request did in fact make it into the Librem 15 rev2. You can see from the photo below, on the brightest setting, illuminating around and through the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-15-rev2-backlit-keyboard/">Purism Librem 15 rev2 Backlit Keyboard</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Arguably one of the most requested items from the backers of the Librem 15 rev2 was for a backlit keyboard. We are proud to announce that keyboard design request did in fact make it into the Librem 15 rev2. You can see from the photo below, on the brightest setting, illuminating around and through the keys.</p>
<p><img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-backlit-keyboard-20150816.jpeg" alt="Purism Librem 15 rev2 Backlit Keyboard" width="700" height="300" class="aligncenter size-full wp-image-1495" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-backlit-keyboard-20150816.jpeg 700w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-backlit-keyboard-20150816-300x129.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Function + F10 toggles between the three modes, off, brighter, and brightest levels.</p>
<p><b>Note: the Librem 13 does not have the backlit keyboard, the next revision (within two years time) is planned to.</b></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-15-rev2-backlit-keyboard/">Purism Librem 15 rev2 Backlit Keyboard</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Librem 15 rev2 Prototype Certification Results</title>
		<link>https://puri.sm/posts/purism-librem-15-rev2-prototype-certification-results/</link>
		<pubDate>Sun, 16 Aug 2015 19:38:34 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1461</guid>
		<description><![CDATA[<p>Purism received the (third) prototype of the Librem 15 rev2 on August 13th 2015, here is the prototype certification play-by-play&#8230; First a photo of motherboard inside the Purism Librem 15 rev2 prototype&#8217;s case: We first load PureOS running a kernel from Linux-libre which ensures we are not running any binary blobs. Here is the summary: [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-15-rev2-prototype-certification-results/">Purism Librem 15 rev2 Prototype Certification Results</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism received the (third) prototype of the Librem 15 rev2 on August 13th 2015, here is the prototype certification play-by-play&#8230;</p>
<p>First a photo of motherboard inside the Purism Librem 15 rev2 prototype&#8217;s case:<br />
<a href="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-open-1920x1080-20150814.jpeg"><img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-open-1920x1080-20150814-1024x532.jpeg" alt="Purism Librem 15 rev2 open 1920x997" width="700" height="364" class="aligncenter size-large wp-image-1454" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-open-1920x1080-20150814-1024x532.jpeg 1024w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-open-1920x1080-20150814-300x156.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>We first load <a href="https://pureos.net/">PureOS</a> running a kernel from <a title="Linux-libre" href="http://www.fsfla.org/ikiwiki/selibre/linux-libre/" target="_blank">Linux-libre</a> which ensures we are not running any <a href="/learn/blobs">binary blobs</a>.</p>
<p>Here is the summary:<br />

<table id="tablepress-19" class="tablepress tablepress-id-19">
<thead>
<tr class="row-1 odd">
	<th class="column-1">Item Tested</th><th class="column-2">Works with free software</th><th class="column-3">Kernel driver</th><th class="column-4">Kernel module</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
	<td class="column-1">Host bridge</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">n/a</td><td class="column-4">n/a</td>
</tr>
<tr class="row-3 odd">
	<td class="column-1">PCI bridge</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">pcieport</td><td class="column-4">shpchp</td>
</tr>
<tr class="row-4 even">
	<td class="column-1">SATA conroller</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">ahci</td><td class="column-4">ahci</td>
</tr>
<tr class="row-5 odd">
	<td class="column-1">Communication controller</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">mei_me</td><td class="column-4">mei-me</td>
</tr>
<tr class="row-6 even">
	<td class="column-1">ISA Bridge</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">lpc_ich</td><td class="column-4">lpc_ich</td>
</tr>
<tr class="row-7 odd">
	<td class="column-1">Video</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">intel</td><td class="column-4">intel</td>
</tr>
<tr class="row-8 even">
	<td class="column-1">USB</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">xhci_hcd,ehci-pci</td><td class="column-4">n/a</td>
</tr>
<tr class="row-9 odd">
	<td class="column-1">Wireless</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">ath9k</td><td class="column-4">ath9k</td>
</tr>
<tr class="row-10 even">
	<td class="column-1">Audio</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">snd_hda_intel</td><td class="column-4">snd-hda-intel</td>
</tr>
<tr class="row-11 odd">
	<td class="column-1">Headphone</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">snd_hda_intel</td><td class="column-4">snd-hda-intel</td>
</tr>
<tr class="row-12 even">
	<td class="column-1">Microphone</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">snd_hda_intel</td><td class="column-4">snd-hda-intel</td>
</tr>
<tr class="row-13 odd">
	<td class="column-1">Webcam</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">uvcvideo</td><td class="column-4">uvcvideo</td>
</tr>
<tr class="row-14 even">
	<td class="column-1">HDMI</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">fglrx</td><td class="column-4">fglrx</td>
</tr>
<tr class="row-15 odd">
	<td class="column-1">SDXC</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">xhci_hcd,ehci-pci</td><td class="column-4">xhci_hcd,ehci-pci</td>
</tr>
<tr class="row-16 even">
	<td class="column-1">SMBus</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">i2c-i801</td><td class="column-4">i2c-i801</td>
</tr>
</tbody>
</table>
<!-- #tablepress-19 from cache --></p>
<h2>LSPCI and LSUSB summary</h2>
<p><strong>lspci</strong></p>
<pre>purism@purism-librem-15-rev2-001:~$ lspci
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)
00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3)
00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
02:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)</pre>
<p><strong>lsusb</strong></p>
<pre>purism@purism-librem-15-rev2-001:~$ lsusb
Bus 001 Device 002: ID 8087:8001 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 007: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 002 Device 003: ID 058f:3821 Alcor Micro Corp. 
Bus 002 Device 002: ID 0489:e076 Foxconn / Hon Hai 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub</pre>
<h2>Video</h2>
<pre>purism@purism-librem-15-rev2-001:~$ sudo lspci -v -k -s 00:02
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09) (prog-if 00 [VGA controller])
	Subsystem: Device 1991:5591
	Flags: bus master, fast devsel, latency 0, IRQ 11
	Memory at b1000000 (64-bit, non-prefetchable) [size=16M]
	Memory at c0000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 3000 [size=64]
	Expansion ROM at <unassigned> [disabled]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [a4] PCI Advanced Features</pre>
<p>Screengrab of display setting showing 1920&#215;1080 resolution<br />
<img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-display-screenshot-20150814.jpeg" alt="purism-librem-15-rev2-display-screenshot-20150814" width="820" height="551" class="aligncenter size-full wp-image-1462" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-display-screenshot-20150814.jpeg 820w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-display-screenshot-20150814-300x202.jpeg 300w" sizes="(max-width: 820px) 100vw, 820px" /></p>
<h2>USB</h2>
<pre>purism@purism-librem-15-rev2-001:~$ sudo lspci -v -s 00:14
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03) (prog-if 30 [XHCI])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 60
	Memory at b2100000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [70] Power Management version 2
	Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
	Kernel driver in use: xhci_hcd</pre>
<pre>purism@purism-librem-15-rev2-001:~$ sudo lspci -v -s 00:1d
00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03) (prog-if 20 [EHCI])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 23
	Memory at b211a000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [50] Power Management version 3
	Capabilities: [58] Debug port: BAR=1 offset=00a0
	Capabilities: [98] PCI Advanced Features
	Kernel driver in use: ehci-pci</pre>
<p>Upon plugging in a usb stick dmesg shows:</p>
<pre>[ 1263.110776] usb 2-8: new high-speed USB device number 7 using xhci_hcd
[ 1263.124377] usb 2-8: New USB device found, idVendor=058f, idProduct=6366
[ 1263.124386] usb 2-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1263.124391] usb 2-8: Product: Flash Card Reader/Writer
[ 1263.124394] usb 2-8: Manufacturer: Generic
[ 1263.124398] usb 2-8: SerialNumber: 058F63666485
[ 1263.125010] usb-storage 2-8:1.0: USB Mass Storage device detected
[ 1263.126009] scsi6 : usb-storage 2-8:1.0
[ 1263.175624] keucr: module is from the staging directory, the quality is unknown, you have been warned.
[ 1263.175893] usbcore: registered new interface driver eucr
[ 1264.129591] scsi 6:0:0:0: Direct-Access     Multiple Card  Reader     1.00 PQ: 0 ANSI: 4
[ 1264.132901] sd 6:0:0:0: Attached scsi generic sg1 type 0
[ 1264.909196] sd 6:0:0:0: [sdb] 63404032 512-byte logical blocks: (32.4 GB/30.2 GiB)
[ 1264.911384] sd 6:0:0:0: [sdb] Write Protect is off
[ 1264.911398] sd 6:0:0:0: [sdb] Mode Sense: 23 00 00 00
[ 1264.913650] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: disabled, doesn't support DPO or FUA
[ 1264.919882]  sdb: sdb1
[ 1264.924699] sd 6:0:0:0: [sdb] Attached SCSI removable disk</pre>
<h2>Wireless</h2>
<pre>purism@purism-librem-15-rev2-001:~$ sudo lspci -v -s 02:00
02:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
	Subsystem: Foxconn International, Inc. Device e07d
	Flags: bus master, fast devsel, latency 0, IRQ 19
	Memory at b2000000 (64-bit, non-prefetchable) [size=512K]
	Expansion ROM at b2080000 [disabled] [size=64K]
	Capabilities: [40] Power Management version 2
	Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
	Capabilities: [70] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Virtual Channel
	Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
	Kernel driver in use: ath9k</pre>
<p>Screengrab of wireless selection user interface<br />
<img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-networking-wireless-20150814.jpeg" alt="purism-librem-15-rev2-networking-wireless-20150814" width="820" height="574" class="aligncenter size-full wp-image-1463" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-networking-wireless-20150814.jpeg 820w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-networking-wireless-20150814-300x210.jpeg 300w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-networking-wireless-20150814-230x160.jpeg 230w" sizes="(max-width: 820px) 100vw, 820px" /></p>
<h2>Audio</h2>
<pre>purism@purism-librem-15-rev2-001:~$ sudo lspci -v -s 00:03
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
	Subsystem: Intel Corporation Broadwell-U Audio Controller
	Flags: bus master, fast devsel, latency 0, IRQ 64
	Memory at b2114000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Kernel driver in use: snd_hda_intel

purism@purism-librem-15-rev2-001:~$ 

purism@purism-librem-15-rev2-001:~$ sudo lspci -v -s 00:1b
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 32, IRQ 63
	Memory at b2110000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 3
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Kernel driver in use: snd_hda_intel</pre>
<p>Screengrab of audio playback from Rhythmbox<br />
<img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-rhythmbox-screenshot-20150814.jpeg" alt="purism-librem-15-rev2-rhythmbox-screenshot-20150814" width="810" height="603" class="aligncenter size-full wp-image-1464" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-rhythmbox-screenshot-20150814.jpeg 810w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-rhythmbox-screenshot-20150814-300x223.jpeg 300w" sizes="(max-width: 810px) 100vw, 810px" /></p>
<h2>Headphone and Microphone</h2>
<p>Screengrab of sound recorder showing headphone and microphone hardware jacked:<br />
<img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-microphone-headphone-screenshot-20150814.jpeg" alt="purism-librem-15-rev2-microphone-headphone-screenshot-20150814" width="820" height="670" class="aligncenter size-full wp-image-1465" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-microphone-headphone-screenshot-20150814.jpeg 820w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-microphone-headphone-screenshot-20150814-300x245.jpeg 300w" sizes="(max-width: 820px) 100vw, 820px" /><br />
(microphone from headphone jack also works)</p>
<h2>Camera</h2>
<p><img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-camera-screenshot-20150814.jpeg" alt="purism-librem-15-rev2-camera-screenshot-20150814" width="677" height="592" class="aligncenter size-full wp-image-1469" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-camera-screenshot-20150814.jpeg 677w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-camera-screenshot-20150814-300x262.jpeg 300w" sizes="(max-width: 677px) 100vw, 677px" /></p>
<h2>Sytem Information</h2>
<p><img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-system-info-screenshot-20150814.jpeg" alt="purism-librem-15-rev2-system-info-screenshot-20150814" width="820" height="643" class="aligncenter size-full wp-image-1467" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-system-info-screenshot-20150814.jpeg 820w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-system-info-screenshot-20150814-300x235.jpeg 300w" sizes="(max-width: 820px) 100vw, 820px" /></p>
<h2>cpuinfo</h2>
<pre>purism@purism-librem-15-rev2-001:~$ egrep "processor|vendor_id|model|MHz|^$" /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
model		: 61
model name	: Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
cpu MHz		: 900.000

processor	: 1
vendor_id	: GenuineIntel
model		: 61
model name	: Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
cpu MHz		: 500.000

processor	: 2
vendor_id	: GenuineIntel
model		: 61
model name	: Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
cpu MHz		: 500.000

processor	: 3
vendor_id	: GenuineIntel
model		: 61
model name	: Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
cpu MHz		: 700.000</pre>
<h2>glxgears</h2>
<p><img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-glxgears-screenshot-20150814.jpeg" alt="purism-librem-15-rev2-glxgears-screenshot-20150814" width="639" height="441" class="aligncenter size-full wp-image-1470" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-glxgears-screenshot-20150814.jpeg 639w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-glxgears-screenshot-20150814-300x207.jpeg 300w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-glxgears-screenshot-20150814-230x160.jpeg 230w" sizes="(max-width: 639px) 100vw, 639px" /></p>
<h3>lspci -v (Kernel driver in use)</h3>
<pre>purism@purism-librem-15-rev2-001:~$ lspci -v | egrep "\.[0-9] |driver in use"
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09) (prog-if 00 [VGA controller])
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
	Kernel driver in use: snd_hda_intel
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03) (prog-if 30 [XHCI])
	Kernel driver in use: xhci_hcd
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
	Kernel driver in use: mei_me
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
	Kernel driver in use: snd_hda_intel
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3) (prog-if 00 [Normal decode])
	Kernel driver in use: pcieport
00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3) (prog-if 00 [Normal decode])
	Kernel driver in use: pcieport
00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03) (prog-if 20 [EHCI])
	Kernel driver in use: ehci-pci
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
	Kernel driver in use: lpc_ich
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03) (prog-if 01 [AHCI 1.0])
	Kernel driver in use: ahci
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
02:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
	Kernel driver in use: ath9k</pre>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-15-rev2-prototype-certification-results/">Purism Librem 15 rev2 Prototype Certification Results</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>2015-08-14: Librem 13: Weekly BIOS Progress Update</title>
		<link>https://puri.sm/posts/2015-08-14-librem-13-weekly-progress-update/</link>
		<pubDate>Fri, 14 Aug 2015 23:13:06 +0000</pubDate>
		<dc:creator><![CDATA[Larry Moberg]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1450</guid>
		<description><![CDATA[<p>A question coreboot developers are commonly asked is this: &#8220;can you port coreboot to my board?&#8221; For my first coreboot post I&#8217;d like to show some of the steps required to port coreboot to the Librem 13. In particular, this post is a good example of some of the challenges involved in such a port. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2015-08-14-librem-13-weekly-progress-update/">2015-08-14: Librem 13: Weekly BIOS Progress Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A question coreboot developers are commonly asked is this: &#8220;can you <a href="http://www.coreboot.org/Motherboard_Porting_Guide">port coreboot</a> to my board?&#8221;</p>
<p>For my first coreboot post I&#8217;d like to show some of the steps required to port coreboot to the <a href="https://puri.sm/products/librem-13/">Librem 13</a>. In particular, this post is a good example of some of the challenges involved in such a port.</p>
<p>This post is also the first weekly progress update for the Librem 13.</p>
<p><em>[Ed. Note: this is reposted from <a href="http://blogs.coreboot.org/blog/2015/08/14/2015-08-14-librem-13-weekly-progress-update/">blogs.coreboot.org</a> with permission.]</em></p>
<h3>LPC Bus</h3>
<p>The Librem 13 has convenient test points for the <a href="https://en.wikipedia.org/wiki/Low_Pin_Count">LPC bus</a>. This allows a <a href="https://www.google.com/search?q=bed+of+nails+test+fixture&amp;tbm=isch">bed-of-nails test setup</a> to quickly diagnose problems during manufacturing. But it has the added bonus of facilitating coreboot development.</p>
<p>The earliest coreboot stages are the most important to get right. Debugging using <a href="http://www.coreboot.org/Developer_Manual/Tools">port 0x80</a> writes on the Librem 13 is possible because port 0x80 writes are configured as LPC writes, which can be traced by connecting to the LPC pins.</p>
<h3>And&#8230;It&#8217;s Gone</h3>
<p>BIOS development is hard. I applied a little too much force on the SPI flash chip and tore the solder pads off the board.</p>
<p><img title="Pads...gone" src="https://i.imgur.com/0YhcM9Wm.jpg" alt="Pads...gone" width="320" height="320" /></p>
<p>I attached the LPC connection to a test setup and didn&#8217;t check using a multimeter before applying power. LAD2 was shorted to LAD3. This immediately bricked the laptop without even releasing any smoke. Remembering to double check for shorts is a tedious but important lesson.<br />
<img title="Don't Cross The Streams" src="https://i.imgur.com/WmKq3Om.jpg" alt="Don't Cross The Streams" width="640" height="362" /></p>
<p style="text-align: center;"><em>The LPC bus wires go under the board. Don&#8217;t Cross The Streams!</em></p>
<h3>Why It Matters</h3>
<p>Imagine a laptop where the LPC bus is only available by soldering directly to the pins of the EC. Yes, they exist! That level of fine soldering is a significant barrier for future coreboot hackers. (The Librem 13&#8217;s external USB ports are all USB 3, which makes an <a href="http://www.coreboot.org/EHCI_Debug_Port">EHCI debug port</a> harder, but the LPC bus is a good substitute.)</p>
<p>Porting coreboot to a new laptop takes a lot of time and work. Even a good laptop design like the Librem 13 where the LPC pads are available still has a non-trivial level of engineering work to get to a Free Software BIOS.</p>
<p>Next week, I&#8217;ll document the engineering considerations around writing to the SPI flash chip, and how that affects coreboot development.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/2015-08-14-librem-13-weekly-progress-update/">2015-08-14: Librem 13: Weekly BIOS Progress Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 15 rev2 Production 2015-08-14</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-14/</link>
		<pubDate>Fri, 14 Aug 2015 23:10:45 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1452</guid>
		<description><![CDATA[<p>We received the Librem 15 rev2 (third) prototype August 13th (Thursday) of this week! We wanted to get a quick post up that we did receive the Librem 15 rev2, and are beginning testing. We will be posting a lot more as we test through this prototype. Oh, and yes that is 32GB (2 16GB [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-14/">Weekly Update on Librem 15 rev2 Production 2015-08-14</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We received the Librem 15 rev2 (third) prototype August 13th (Thursday) of this week!</p>
<p><a href="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-open-1920x1080-20150814.jpeg"><img src="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-open-1920x1080-20150814-1024x532.jpeg" alt="Purism Librem 15 rev2 open 1920x997" width="700" height="364" class="aligncenter size-large wp-image-1454" srcset="https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-open-1920x1080-20150814-1024x532.jpeg 1024w, https://puri.sm/wp-content/uploads/2015/08/purism-librem-15-rev2-open-1920x1080-20150814-300x156.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>We wanted to get a quick post up that we did receive the Librem 15 rev2, and are beginning testing. We will be posting a lot more as we test through this prototype.</p>
<p><b>Oh, and yes that is 32GB (2 16GB sticks) that is working with the Intel i7-5557U.</b></p>
<p>To keep a running update on dates:</p>
<p><b>August 10th – Ship second prototype</b><br />
<b>August 13th – Receive third prototype (test)</b><br />
August 17th – &#8220;green light&#8221; fabrication<br />
August 20th – Todd on-site @ fabrication in Shenzhen<br />
[3-4  weeks fabrication]<br />
September [15th-20th] – Receive hardware for assembly<br />
September [24th-28th] – Ship first orders of Librem 15 rev2</p>
<p>Thank you!</p>
<p>Todd Weaver &#038; Purism Team<br />
todd@puri.sm</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-14/">Weekly Update on Librem 15 rev2 Production 2015-08-14</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Weekly Update on Librem 15 rev2 Production 2015-08-07</title>
		<link>https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-07/</link>
		<pubDate>Fri, 07 Aug 2015 20:03:57 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1433</guid>
		<description><![CDATA[<p>We had two small motherboard fabrication issues with the Librem 15 rev2 (second) prototype Monday of this week, it was sent back to fabrication to resolve those issues Wednesday of this week, and we are expected to receive an updated version (our third prototype) in South San Francisco before Thursday, August 13th (being sent out [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-07/">Weekly Update on Librem 15 rev2 Production 2015-08-07</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We had two small motherboard fabrication issues with the Librem 15 rev2 (second) prototype Monday of this week, it was sent back to fabrication to resolve those issues Wednesday of this week, and we are expected to receive an updated version (our third prototype) in South San Francisco before Thursday, August 13th (being sent out priority Monday August 10th).</p>
<p>While we were hoping to approve the last prototype, we were not lucky in that hope, but the changes to the motherboard design were minor enough we got a quick turn around from fabrication.</p>
<p>To keep a running update on dates:</p>
<ul>
<li>July 28th – Receive second prototype</li>
<li>August 3rd – Reject second prototype</li>
<li><span style="text-decoration: line-through;">August 4th – Approve prototype</span></li>
<li>August 10th – Ship second prototype</li>
<li>August 13th – Receive third prototype (test)</li>
<li>August 17th – &#8220;green light&#8221; fabrication</li>
<li>August 20th – Todd on-site @ fabrication in Shenzhen<br />
[3-4 weeks fabrication]</li>
<li>September [15th-20th] – Receive hardware for assembly</li>
<li>September [24th-28th] – Ship first orders of Librem 15 rev2</li>
</ul>
<p>I will make an effort, as we approach this exciting milestone, to post updates on a weekly or more frequent basis.</p>
<p>Thank you!</p>
<p>Todd Weaver &amp; Purism Team</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/weekly-update-on-librem-15-rev2-production-2015-08-07/">Weekly Update on Librem 15 rev2 Production 2015-08-07</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Roadmap To A Completely Free BIOS</title>
		<link>https://puri.sm/posts/roadmap-to-a-completely-free-bios/</link>
		<pubDate>Wed, 05 Aug 2015 03:50:30 +0000</pubDate>
		<dc:creator><![CDATA[Larry Moberg]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[this-should-be-a-page]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1417</guid>
		<description><![CDATA[<p>Purism is committed to users’ rights to privacy, security, and freedom. This post identifies the steps needed to achieve the standard set by the Free Software Foundation&#8217;s Respects Your Freedom endorsement. On our status page, Road to FSF Endorsement&#8230; And Beyond, we are currently developing the coreboot BIOS for the Librem 13. The Intel FSP [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/roadmap-to-a-completely-free-bios/">Roadmap To A Completely Free BIOS</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism is committed to users’ rights to privacy, security, and freedom. This post identifies the steps needed to achieve the standard set by the Free Software Foundation&#8217;s <a href="https://www.fsf.org/resources/hw/endorsement/">Respects Your Freedom endorsement</a>.</p>
<p>On our status page, <a href="https://puri.sm/road-to-fsf-ryf-endorsement-and-beyond/">Road to FSF Endorsement&#8230; And Beyond</a>, we are currently developing the coreboot BIOS for the Librem 13.</p>
<h3>The Intel FSP Blob</h3>
<p><a href="https://puri.sm/wp-content/uploads/2015/08/free_fsp.jpg"><img class="alignright size-medium wp-image-1419" src="https://puri.sm/wp-content/uploads/2015/08/free_fsp-300x125.jpg" alt="Demand Freedom. Unlock Your Memory Init." width="300" height="125" srcset="https://puri.sm/wp-content/uploads/2015/08/free_fsp-300x125.jpg 300w, https://puri.sm/wp-content/uploads/2015/08/free_fsp.jpg 500w" sizes="(max-width: 300px) 100vw, 300px" /></a>Intel publishes a <a href="http://www.intel.com/content/www/us/en/intelligent-systems/intel-firmware-support-package/intel-fsp-overview.html#downloads">Firmware Support Package (FSP)</a> so that silicon initialization (like <a href="https://puri.sm/posts/freeing-the-bios-the-memory-init-stage/" class="broken_link">memory init</a>) can be integrated into any bootloader. The FSP is a binary blob provided by Intel.</p>
<p>Using the Free Software in coreboot but an FSP blob does not meet the FSF RYF endorsement requirements. Purism&#8217;s goal is to publish a Free Software implementation of the pieces handled by the FSP as soon as an implementation is available.</p>
<div style="clear: both; font-size: 24px; line-height: 31px; color: #333; padding-bottom: 15px;">The Management Engine (ME) Blob</div>
<p><img class="alignright wp-image-1420 size-medium" src="https://puri.sm/wp-content/uploads/2015/08/me_blob-300x275.jpg" alt="ME Blob" width="300" height="275" srcset="https://puri.sm/wp-content/uploads/2015/08/me_blob-300x275.jpg 300w, https://puri.sm/wp-content/uploads/2015/08/me_blob.jpg 327w" sizes="(max-width: 300px) 100vw, 300px" />Because Purism ships Librem CPUs fused to <a href="https://puri.sm/posts/pioneering-cpu-efforts-to-liberate-laptop-hardware/">allow unsigned software</a>, we have set our sights on publishing a Free Software implementation of the Management Engine firmware. No other company currently offers CPUs with this configuration, though it is our hope that our success will prompt more and more companies to fuse their CPUs for freedom.</p>
<p>If you would like to help create a Free ME Firmware notwithstanding my cheesy <a href="https://www.flickr.com/photos/dazzied/427180864/">ME-DRM</a> logo, please <a href="/contact/">contact us</a>.</p>
<div style="clear: both; font-size: 24px; line-height: 31px; color: #333; padding-bottom: 15px;">The Embedded Controller (EC)</div>
<p><img class="alignright wp-image-1421 size-thumbnail" src="https://puri.sm/wp-content/uploads/2015/08/ene_kb3930-150x150.jpg" alt="ene KB3930" width="150" height="150" srcset="https://puri.sm/wp-content/uploads/2015/08/ene_kb3930-150x150.jpg 150w, https://puri.sm/wp-content/uploads/2015/08/ene_kb3930-100x100.jpg 100w" sizes="(max-width: 150px) 100vw, 150px" />The Librem 13 uses an ene KB3930QF-A1 with an external SPI 64KB firmware. Purism is grateful for the KB3930 datasheet that was made available as part of the One Laptop Per Child project. Good documentation is a critical step toward achieving a fully Free Software laptop.</p>
<p>The EC:</p>
<ul>
<li>Powers the laptop on and off. The KB3930 is what recognizes the user pressed the power button and sends the &#8220;power on&#8221; signal to the laptop.</li>
<li>Talks SMBus to the battery.</li>
<li>Keeps the date &amp; time while off.</li>
<li>Controls the fan speed.</li>
<li>Reports the keyboard and trackpad to the CPU (via the normal PS/2 interface, routed over the LPC bus).</li>
<li>Directly drives the power, sleep, and wifi LEDs.</li>
</ul>
<h3 style="clear: both;">SSD Firmware</h3>
<p>Some really talented <a href="https://youtu.be/nuruzFqMgIw?t=1m49s">hackers at srlabs.de used a USB Flash Drive&#8217;s firmware</a> to gain complete control over a Windows PC.</p>
<p>While Purism can offer best-in-class kernel security (the Linux kernel) and Free Software (<a href="https://pureos.net/">PureOS</a>), our goal is to free the firmware in the SSD as well. Purism wants to shine a light on all the dark corners of a high-end laptop.</p>
<p>Why free the functionality of such a small part of a laptop? Because it represents a not-insignificant level of user freedom. When the user can run, copy, distribute, study, change and improve the firmware on their SSD, it has the ability to produce as impressive results as what the <a href="http://srlabs.de/">srlabs.de</a> team did.</p>
<p>Without that freedom, we are all poorer.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/roadmap-to-a-completely-free-bios/">Roadmap To A Completely Free BIOS</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 15 rev2 Debugging Photos</title>
		<link>https://puri.sm/posts/librem-15-rev2-debugging-photos/</link>
		<pubDate>Tue, 28 Jul 2015 19:29:45 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1394</guid>
		<description><![CDATA[<p>We are so excited to share our motherboard debugging photos, as you can see from the raw images, we are making great progress on the Librem 15 rev2. The photos are showing brushed aluminum (or aluminium depending on your knowledge of the earth&#8217;s third most abundant element etymology). Note, the Librem 15 rev2 production units [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-15-rev2-debugging-photos/">Librem 15 rev2 Debugging Photos</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are so excited to share our motherboard debugging photos, as you can see from the raw images, we are making great progress on the Librem 15 rev2.</p>
<p>The photos are showing brushed aluminum (or <a href="https://en.wikipedia.org/wiki/Aluminium#Etymology">aluminium</a> depending on your knowledge of the earth&#8217;s third most abundant element etymology). Note, the Librem 15 rev2 production units will be anodized dark grey (or <a href="https://en.wikipedia.org/wiki/American_and_British_English_spelling_differences">gray</a>).</p>
<p>More updates will be coming, now that we&#8217;re closing in on production of the Librem 15 rev2.</p>
<p>Note: while the <a href="https://puri.sm/posts/purism-librem-15-rev1-vs-rev2/">Librem 15 rev1</a> shipped with an <a href="https://puri.sm/posts/purism-librem-15-rev1-vs-rev2/">AMI UEFI BIOS</a>, we are working diligently to ship the Librem 15 rev2 with <a href="https://puri.sm/posts/freeing-the-bios-the-memory-init-stage/" class="broken_link">Coreboot+Intel FSP</a>, and <a href="https://pureos.net/">PureOS</a>.</p>
<hr />
<p>&nbsp;<br />
<img src="https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-700px-20150728.jpeg" alt="Purism Librem 15 rev2 In Progress" width="700" height="613" class="aligncenter size-full wp-image-1397" srcset="https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-700px-20150728.jpeg 700w, https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-700px-20150728-300x263.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /><br />
&nbsp;</p>
<p><img src="https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-left-side-700px-20150728.jpeg" alt="Purism Librem 15 rev2 In Progress" width="700" height="200" class="aligncenter size-full wp-image-1396" srcset="https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-left-side-700px-20150728.jpeg 700w, https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-left-side-700px-20150728-300x86.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /><br />
&nbsp;</p>
<p><img src="https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-right-side-700px-20150728a.jpeg" alt="Purism Librem 15 rev2 In Progress" width="700" height="200" class="aligncenter size-full wp-image-1404" srcset="https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-right-side-700px-20150728a.jpeg 700w, https://puri.sm/wp-content/uploads/2015/07/purism-librem-15-rev2-in-progress-right-side-700px-20150728a-300x86.jpeg 300w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-15-rev2-debugging-photos/">Librem 15 rev2 Debugging Photos</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>About Purism, Librems, and Cake</title>
		<link>https://puri.sm/posts/about-purism-and-librems-and-cake/</link>
		<pubDate>Tue, 21 Jul 2015 07:13:20 +0000</pubDate>
		<dc:creator><![CDATA[Larry Moberg]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Boot and BIOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1339</guid>
		<description><![CDATA[<p>Why should you buy a Librem laptop? Philosophy Alex Gagniuc, a Google employee at the time, posted the following on coreboot.org&#8217;s blog: &#8220;The truth about Purism: Why Librem is not the same as libre.&#8221; (according to his LinkedIn profile he worked at Google from Feb 2015 to July 2015.) The Purism Philosophy is at the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/about-purism-and-librems-and-cake/">About Purism, Librems, and Cake</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Why should you buy a Librem laptop?</p>
<h3>Philosophy</h3>
<p>Alex Gagniuc, a Google employee at the time, posted the following on coreboot.org&#8217;s blog: &#8220;<span style="color: #333333;">The truth about Purism: Why Librem is not the same as libre.</span>&#8221; (according to his <a href="https://www.linkedin.com/in/alex-gagniuc-88264a33" target="_blank">LinkedIn profile</a> he worked at Google from <span class="experience-date-locale"><time>Feb 2015</time> to <time>July 2015.)</time></span></p>
<p>The Purism <a href="https://puri.sm/about/social-purpose/">Philosophy</a> is at the heart of this discussion, and it says:</p>
<blockquote><p>Purism follows a strict belief in users’ rights to privacy, security, and freedom. We developed Purism so that users can have access to the highest quality computers without compromising these beliefs. The founder of Purism developed the <strong>Philosophical Contract</strong>, that we all abide by, which was adopted from the <a title="Free Software Foundation" href="http://www.fsf.org/" target="_blank">Free Software Foundation</a>, and expanded to include hardware manufacturing as it relates to software.<br />
<strong>Philosophical Contract</strong><br />
1. Purism will only use free/libre and open source software in the kernel, OS, and all software. Free/Libre and Open Source Software is software that respects your freedom. Nonfree, or proprietary, software and installable firmware will be strictly prohibited within Purism. We promise that a Purism system and all its components will be free according to the strictest of guidelines set forth by the Free Software Foundation’s <a title="Free Software Definition" href="http://www.gnu.org/philosophy/free-sw.html" target="_blank">Free Software Definition</a>.<br />
2. Purism will design and manufacture hardware that respects users’ rights to privacy, security, and freedom.We promise that Purism systems will use hardware and software that respects users’ rights. Nonfree, or proprietary, chipsets that require installable firmware binaries into the kernel will be strictly prohibited within Purism.<br />
&#8230;</p></blockquote>
<p>Take a break to analyze this part: &#8220;We promise that a Purism system and all its components <strong>will be free</strong> according to the strictest of guidelines set forth by the Free Software Foundation’s <a title="Free Software Definition" href="http://www.gnu.org/philosophy/free-sw.html" target="_blank">Free Software Definition</a>.&#8221;</p>
<p>The big question Alex appears to be asking is: Just exactly when will Purism achieve the FSF&#8217;s Free Software Defintion for the BIOS? (Shameless plug: Do you want to <a href="https://puri.sm/posts/freeing-the-bios-the-memory-init-stage/" class="broken_link">help out</a> with our BIOS hacking?)</p>
<p>That&#8217;s a good question.</p>
<h3>Maybe a Misunderstanding?</h3>
<p>Right from the start, Purism has reached out to coreboot. On August 27, 2014, <a href="http://www.coreboot.org/pipermail/coreboot/2014-August/078511.html">Todd Weaver wrote</a>:</p>
<blockquote><p>I am tasked with making sure it is possible (a), a rough idea of how long (b), and if we can hire somebody to develop it (c).</p>
<p>I appreciate any replies to any parts of the above, and I am hopeful somebody would be able to have the time needed to get paid to get coreboot onto this board.</p></blockquote>
<p>Alex may have misunderstood the email. Alex&#8217;s blog post said (emphasis added):</p>
<blockquote><p>&#8220;The first red flag was that <strong>we, the coreboot hackers, were never contacted</strong> by Purism about what it would take to get such a design up and running on the firmware side. We could have immediately told them that there are major pieces of the initialization path for their CPU which were missing source. That is, they were only available as blobs.&#8221;</p></blockquote>
<p>And:</p>
<blockquote><p>&#8220;The possibility of reverse engineering those blobs existed at the time. Although that takes a lot of effort, we’ve done it numerous times before. <strong>But they never asked.&#8221;</strong></p></blockquote>
<p>Yet, as you can see, when Todd initially emailed the coreboot list nearly a year earlier, useful information had immediately begun flowing. The ME blob was <a href="http://www.coreboot.org/pipermail/coreboot/2014-August/078522.html">mentioned</a> within 24 hours. AMD vs Intel were <a href="http://www.coreboot.org/pipermail/coreboot/2014-August/078527.html">compared</a>. And reverse engineering was very much <a href="http://www.coreboot.org/pipermail/coreboot/2014-August/078529.html">a part of the discussion</a> (for <a href="https://en.wikipedia.org/wiki/Sega_v._Accolade">interoperability</a> of course!)</p>
<h3>Free Your CPU&#8217;s Fuses</h3>
<p>We are glad to be able to explain our philosophy, since it means so much to us. We understand the <em>immense</em> challenge it will be to achieve software freedom, and we&#8217;ve already made the innovative step of <a href="https://puri.sm/posts/pioneering-cpu-efforts-to-liberate-laptop-hardware/">freeing the CPU</a> from almost all signature checking. Hopefully more Free Software-respecting hardware manufacturers will follow suit.</p>
<p>Commenting on this boon to user freedom, Dr. Richard M. Stallman, president of the Free Software Foundation (FSF), states:</p>
<blockquote><p>Getting rid of the signature checking is an important step. While it doesn’t give us free code for the firmware, it means that users will really have control of the firmware once we get free code for it.</p></blockquote>
<p>Our philosophy compels us to work toward software freedom and user&#8217;s rights. The coreboot project also contributes to software freedom and user&#8217;s rights, and we salute them for it!</p>
<p>There is much more to do than just achieve the FSF&#8217;s Free Software Definition, but it is our first and primary goal. The FSF&#8217;s pioneering efforts to preserve software freedom are very much at the heart of Purism&#8217;s philosophy. Please do consider <a href="http://www.fsf.org/donate/">donating to the FSF</a>.</p>
<p>But please go ahead and imagine a device with no binary blobs or closed-source components. We do.</p>
<h3>Philosophy Again</h3>
<p>Resuming the rest of our philosophy:</p>
<blockquote><p>&#8230;<br />
3. Purism will prioritize privacy, security, and freedom for our users: We will place respecting users’ rights to privacy, security, and freedom above all else.<br />
4. Purism will not discriminate against persons nor groups nor fields of endeavor: We will allow for any person or any group of persons or any field of endeavor to use Purism systems for whatever purpose.<br />
5. Purism will source, and manufacture the highest quality hardware: We will make every effort to source the best component parts that operate using free/libre and open source software, we will also make every effort to manufacture the best computers that every user can be proud of. We follow this negotiating and sourcing priority whenever possible: freedom respecting; ethical working conditions; ecological impact; quality; price; availability; mean-time-between-failure; warranty; quantity breaks.<br />
Purism will donate a portion of proceeds to free software projects quarterly, according to Purism own <a href="https://puri.sm/about/supporting-floss-projects/">Free Software for Freedom Margin Share Program</a>.</p></blockquote>
<p>Our philosophy says it best. We want freedom everywhere. We prioritize those things that will help the largest number of people we can. We will most likely find ways to improve our philosophy, but it&#8217;s a good start!</p>
<p>We <strong>will</strong> get to the FSF&#8217;s Free Software Definition. The plan was <a href="https://puri.sm/posts/bios-freedom-status/">here</a> back in November:</p>
<ol>
<li>Fuse CPU to allow unsigned BIOS binaries [<a title="Liberated CPU" href="https://puri.sm/posts/pioneering-cpu-efforts-to-liberate-laptop-hardware/">DONE!</a>]</li>
<li>Free the FSP/ME</li>
<li>Release a coreboot/libreboot for the Librem 15</li>
</ol>
<p>We hope that the FSF will grant the hardware exemption for the CPU microcode, a non-free binary blob that is cryptographically signed and locked down. The Librem 13 requires CPU microcode loaded by coreboot during startup.</p>
<h3>Cake</h3>
<p>Alex&#8217;s blog (emphasis added):</p>
<blockquote><p>Librem is bringing nothing new to the market. Laptops with libre operating systems have existed for decades. <strong>The only real innovators in this area have been Google and GluGlug.</strong> Google ships partially free firmware, although insufficiently libre to be able to provide the “respect your privacy” guarantee. GluGlug can make this claim, and it ships laptops with fully libre firmware.</p></blockquote>
<p>GluGlug laptops are great! We would like to extend an open invitation to the GluGlug developers to <strong>work with us</strong> in freeing the remaining blobs. We&#8217;ll bake you a delicious cake if you that&#8217;s your thing! (Thanks to <a href="http://limpet.net/mbrubeck/2012/10/26/mozilla-ie10-cake.html">Mozilla</a> for the idea. No, not <a href="http://theportalwiki.com/wiki/Cake">that</a> cake.)</p>
<p>Our philosophy wouldn&#8217;t be the same if we excluded anyone.</p>
<p><em>Questions? Comments? Send them to feedback(at)wp.puri.sm</em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/about-purism-and-librems-and-cake/">About Purism, Librems, and Cake</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Update on Librem 15 rev2 production</title>
		<link>https://puri.sm/posts/update-on-librem-15-rev2-production/</link>
		<pubDate>Mon, 20 Jul 2015 16:34:30 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Customer Satisfaction]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1335</guid>
		<description><![CDATA[<p>We are making progress on our Librem 15 rev2 roll out, albeit slower than we all hoped. We are still very excited to be making what essentially is a backer-designed laptop from the motherboard fabrication on up. Although we didn&#8217;t anticipate some of the delays, we are now days away from posting the Librem 15 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/update-on-librem-15-rev2-production/">Update on Librem 15 rev2 production</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We are making progress on our Librem 15 rev2 roll out, albeit slower than we all hoped. We are still very excited to be making what essentially is a backer-designed laptop from the motherboard fabrication on up. Although we didn&#8217;t anticipate some of the delays, we are now days away from posting the Librem 15 rev2 prototype images and detailed specifications. In contrast, our Librem 13 prototype was approved 3 months ago and is ready for mass fabrication already&#8211;so the Librem 15 rev2, with the innovative features requested by our amazing backers, necessitated a longer R&amp;D phase than anticipated.</p>
<p>Once we get this second prototype approved, we will &#8220;green light&#8221; the mass production. The fabrication of the motherboards will take 3 to 4 weeks, after which time it will take 1 to 2 weeks to assemble the simpler configurations in our South San Francisco facility.</p>
<p>As we approach the final stages of the manufacturing process, the timeline to ship our Librem 15 rev2 units is as follows:</p>
<ul>
<li>July 28th &#8212; Receive second prototype</li>
<li>August 4th &#8212; Approve prototype, &#8220;green light&#8221; fabrication</li>
<li>September 15th &#8212; Receive hardware for assembly</li>
<li>September 24th &#8212; Ship first orders of Librem 15 rev2</li>
</ul>
<p>We fully realize that these delays, while unexpected, are frustrating, and we appreciate immensely the support you all have provided through emails, IRC, IM, and even in person (as I&#8217;ve met a few of you recently).</p>
<p>We know you will be happy with the product upon receiving it, since a backer who received a Librem 15 rev1 said: &#8220;Woo! This laptop kicks ass &#8212; JM&#8221;, he went on to state &#8220;By the way, I&#8217;ve also had the old RMS MIPS machine I don&#8217;t recall the name, various System76s and ThinkPenguin workstations/laptops (like over 100 of them), the RYF Thinkpad, and on &amp; on, and this one is way better. :)&#8221; And that was from our Librem 15 rev1!</p>
<p>Thank you!</p>
<p>Todd Weaver<br />
Founder &amp; CEO</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/update-on-librem-15-rev2-production/">Update on Librem 15 rev2 production</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Hardware Can Be Your New Best Friend</title>
		<link>https://puri.sm/posts/hardware-can-be-your-new-best-friend/</link>
		<pubDate>Wed, 15 Jul 2015 00:46:56 +0000</pubDate>
		<dc:creator><![CDATA[Jon Rahl]]></dc:creator>
				<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1284</guid>
		<description><![CDATA[<p>A visitor to the Purism site contacted us with a question. It&#8217;s a question that we sometimes encounter when we&#8217;re with friends or at events, and so we thought we&#8217;d share the response to his query. Q: On your website, you state: “All other laptops use hardware chips coupled with software that can betray you. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/hardware-can-be-your-new-best-friend/">Hardware Can Be Your New Best Friend</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A visitor to the Purism site contacted us with a question. It&#8217;s a question that we sometimes encounter when we&#8217;re with friends or at events, and so we thought we&#8217;d share the response to his query.</p>
<blockquote><p>Q: On your website, you state:</p>
<p>“All other laptops use hardware chips coupled with software that can betray you. News stories have shown how these chips can surreptitiously transmit voice, networking, picture or video signals. Other chips are used to install spyware, malware or viruses.”</p>
<p>I know about software vulnerabilities, but I had not heard of hardware itself having built-in backdoors. Could you provide any news articles to back up this assertion?</p></blockquote>
<p>Computerworld—a sober, technical publication—has an article outlining <a href="http://www.computerworld.com/article/2474275/cybercrime-hacking/17-exploits-the-nsa-uses-to-hack-pcs--routers-and-servers-for-surveillance.html" target="_blank">17 Exploits the NSA Uses to Hack PCs, Routers and Servers for Surveillance</a>, providing many links to original sources. It concerns their <em>Tailored Access Operations Program</em> (TAO) and reports from the Snowden Archive are six years old. Thus what we know of today is almost certainly worse that what’s current. And what we know now is very, <em>very</em> troubling.</p>
<p>As the computer trade magazine notes, before giving four screens of examples:</p>
<blockquote><p>Some of the exploits are deployed remotely and others are physically installed. Those hands-on operations may occur while the product is being shipped; it could be snagged during shipping so an obscure group like an FBI black bag team can do the NSA’s domestic dirty work. There are too many exploits listed in the leak to cover in one post, but I thought you might like to know about some that target servers, routers and PCs. Please note, however, that ANT can exploit nearly every major software, hardware and firmware.</p></blockquote>
<p>Noted computer security authority and journalist Jacob Appelbaum referenced exploits used to spy on Americans and foreigners alike – with the data-sharing agreements in place, it’s important to recognize this is fast becoming an academic distinction – by observing, “This is Turnkey Tyranny and it is here.”</p>
<p>Videos for the 30th Chaos Communication Congress, where Mr. Appelbaum’s two lectures (and many more covering this topic) are <a href="https://media.ccc.de/tags/30c3" target="_blank">here</a>.</p>
<p>As our blog article, &#8220;<a href="https://puri.sm/posts/shine-a-light-on-it-why-verifying-is-required-why-only-libre-allows-it/" target="_blank">Shine A Light On It: Why Verifying Is Required, Why Only Libre Allows It</a>&#8221; notes,</p>
<blockquote><p>In the tech field, what a few do today, more will do tomorrow and nearly everyone will be doing next week. Even if you trust intelligence agency bureaucracies – yours or others – to not spy too much on you, your family and your friends, it’s not “just” them. It’s those that will follow that will also be able to spy on you and yours using similar techniques, for much cheaper.</p></blockquote>
<p>Just since June ’15 alone, the OPM hacks purportedly by Chinese agents and—the irony—the Italian Hacking Team itself getting hacked proves our blog article’s concerns were, if not prescient, accurate. Smaller agencies than the NSA/GCHQ and even private parties—both who can categorically be characterized as not being particularly protective of American or even European citizens’ rights, security or well-being—are using similar exploits.</p>
<p>It’s code. It’s protocols. It doesn’t check first for the proper badge before running. There is no “magic golden key” allowing only The Good Guys™ from executing code.</p>
<p>All of this leaving aside the issue that hardware and software are becoming more conceptual categories than practical ones. Securing one or the other is no longer a guarantee of safety. You need to have both secured. And, given the complexities involved, the only reliable way to do this is to use the F/LOSSH (Free/Libre Open Source Software and Hardware) model. Since without verification, there can be no trust. Since, even though we may trust an institution or person now, we can’t have faith that five years from now, these organizations will be the same, or the people we trusted still in place.</p>
<p>We genuinely wish we lived in a world where our caution we have for our customers was unjustified or even, hysterical. We genuinely wish there wasn’t a need for someone like Purism to develop verifiably secure, transparent ways for people to organize their thoughts then share them. The world would be a better place. We’d probably all enjoy a bit more extra sleep. But that’s not the world we’ve inherited. So instead, we’re energized at the challenges we all face. And we’re excited at the opportunity to do our small part in correcting this very unwelcome change in our digital environment.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/hardware-can-be-your-new-best-friend/">Hardware Can Be Your New Best Friend</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Kill Switches</title>
		<link>https://puri.sm/posts/purism-kill-switches/</link>
		<pubDate>Tue, 30 Jun 2015 04:22:14 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Wireless and networking]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1251</guid>
		<description><![CDATA[<p>During our Librem 15 campaign, we asked backers what they would prefer: A keystroke combination that kills the camera and microphone and a second keystroke combination to kill wireless and BlueTooth in software. A function key that kills the camera and microphone and a second function key to kill wireless and BlueTooth in the BIOS. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-kill-switches/">Purism Kill Switches</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>During our Librem 15 campaign, we asked backers what they would prefer:</p>
<ol>
<li>A <strong>keystroke combination</strong> that kills the camera and microphone and a second <strong>keystroke combination</strong> to kill wireless and BlueTooth <strong>in software</strong>.</li>
<li>A <strong>function key</strong> that kills the camera and microphone and a second <strong>function key</strong> to kill wireless and BlueTooth <strong>in the BIOS</strong>.</li>
<li>A <strong>physical kill switch</strong> that kills the camera and microphone and a second <strong>physical kill switch</strong> to kill wireless and BlueTooth <strong>in hardware</strong>, severing the circuit entirely.</li>
</ol>
<p>In what was a near unanimous vote from a very vocal audience, are proud to be adding option #3 <strong>physical kill switches</strong>, which are single pole double throw toggle slider switches to both the <a href="https://puri.sm/products/librem-15/">Librem 15 rev2</a> and the <a href="https://puri.sm/products/librem-13/">Librem 13</a>.</p>
<p>A brief video showing the Purism Kill Switch for Microphone and Camera in action. As you can see from the terminal output, the circuit is severed, removing the USB device from the kernel, and adding it back in again. Simultaneously, you can also visually see the video displaying a &#8216;device not found&#8217; message when the Purism Kill Switch is toggled off.</p>
<div style="width: 640px;" class="wp-video"><video class="aligncenter" id="video-1251-76" width="640" height="361" poster="http://objects.dreamhost.com:443/purism-media/purism/videos/purism-hardware-kill-switch-852x480.jpeg" preload="false" controls="controls"><source type="video/mp4" src="http://objects.dreamhost.com/purism-media/purism/videos/purism-hardware-kill-switch-852x480-20140629.mp4?_=76" /><source type="video/webm" src="http://objects.dreamhost.com/purism-media/purism/videos/purism-hardware-kill-switch-852x480-20150629.webm?_=76" /><a href="http://objects.dreamhost.com/purism-media/purism/videos/purism-hardware-kill-switch-852x480-20140629.mp4">http://objects.dreamhost.com/purism-media/purism/videos/purism-hardware-kill-switch-852x480-20140629.mp4</a></video></div>
<p>We at Purism are doing what users want, respecting rights to freedom and privacy. The Purism Kill Switches are just one of the many ways we are challenging the status quo, improving the way we interact with our digital world.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-kill-switches/">Purism Kill Switches</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="http://objects.dreamhost.com/purism-media/purism/videos/purism-hardware-kill-switch-852x480-20140629.mp4" length="1882537" type="video/mp4" />
<enclosure url="http://objects.dreamhost.com/purism-media/purism/videos/purism-hardware-kill-switch-852x480-20150629.webm" length="1566304" type="video/webm" />
		</item>
		<item>
		<title>Librem13 Protects Privacy</title>
		<link>https://puri.sm/posts/librem13-protects-privacy/</link>
		<pubDate>Sat, 20 Jun 2015 15:02:10 +0000</pubDate>
		<dc:creator><![CDATA[Jon Rahl]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1223</guid>
		<description><![CDATA[<p>Introducing the Librem 13, a beautiful, svelte notebook computer built to respect and protect your privacy, security and freedom. It’s the world’s first laptop computer with every feature and application designed specifically around your security and privacy the minute the box is opened. There are no “backdoors” or “mystery code” in the hardware, kernel, operating system or software. Verifiably [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem13-protects-privacy/">Librem13 Protects Privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Introducing the Librem 13, a beautiful, svelte notebook computer built to respect and protect your privacy, security and freedom. It’s the world’s first laptop computer with <em>every</em> feature and application designed specifically around your security and privacy the minute the box is opened. There are no “backdoors” or “mystery code” in the hardware, kernel, operating system or software. <a href="https://puri.sm/posts/shine-a-light-on-it-why-verifying-is-required-why-only-libre-allows-it/" target="_blank">Verifiably so</a>. Once the Librem is powered on, there are no additional software applications or utilities required to protect your privacy.</p>
<p><strong>Purism Kill Switches </strong></p>
<p>Innovative slider toggle switches, placed near the Librem’s hinge, ensure that the electrical circuits for Bluetooth, wireless, camera and microphone are physically severed. These hardware kill switches prevent digital adversaries from eavesdropping using the microphone or accessing the camera remotely. Another switch severs the over-the-air connections, reducing the possibility of remote access. On ordinary computers these features – and their purportedly fail-safe LED indicator lights – are activated via software. Malicious entities have already been proven to remotely surreptitiously use these devices while bypassing their LED. With the Librem 13, you have the ability to toggle one, either or both of the hardware kill switches.</p>
<p>“With massive data breaches of users’ private financial information happening seemingly weekly, we cannot afford to trust our most personal data to ordinary computers anymore. This is why we created the Librem, the first truly private personal computer, to protect and respect users’ rights to privacy, security and freedom,” says Purism CEO Todd Weaver.</p>
<p><strong>Verifiably Secure, Assuredly Privacy-Respecting, Fundamentally Freedom-Ensuring Software Pre-Installed</strong></p>
<p>The Librem 13 ships without “mystery code” or proprietary software of any kind, offering users complete transparency into the source code and control over all software.</p>
<p>Purism’s own PureOS is a secure, user-friendly Linux-based OS built using entirely Free/Libre Open Source software (F/LOSS). PureOS ships with hundreds of free software applications, all respecting users’ rights to privacy, security and freedom.</p>
<p>PureOS also included LibreOffice, a F/LOSS office suite, including spreadsheet, word processor, presentation &amp; drawing programs. These programs maintain file compatibility with Microsoft Office, ensuring users will work productively with MS Word, Excel, and Powerpoint files, as well as Adobe PDFs. Maintain workgroup compatibility without a monthly subscription or an always-on network connection.</p>
<p>PureBrowser is provided by default within PureOS, a completely <a href="https://puri.sm/posts/the-four-browser-freedoms/" target="_blank">secure and private web browser</a>, is based on the Firefox browser. Also pre-installed on your Librem 13 is the anonymity-preserving Tor browser.</p>
<p>Conventional computers ship with proprietary software pre-installed. These proprietary software updates contain “mystery code” (hidden, proprietary software without source code) or “binary blobs” (compiled binary files without source code). This “mystery code” creates a vulnerability that adversaries, data thieves and criminals can exploit to access your data.</p>
<p>Numerous examples – just from the past year alone – illustrate threats Librem computers will prevent:</p>
<ul>
<li>Corporate Exploits – Lenovo, a major Microsoft Windows-based manufacturer, was caught secretly installing the “Superfish&#8221; man-in-the-middle malware. All secure communications were intercepted, including user’s bank login credentials.</li>
<li>Social media – Over 2 million Facebook, Gmail, and Twitter accounts were intercepted from keylogger malware.</li>
<li>Spying – There have been numerous reports of stalkers remotely activating user’s microphone, webcam, or recording VoIP services.</li>
<li>Backdoors – Government entities creating software and hardware entry points that other countries – even groups not even feigning to serve a higher purpose – used for their own, nefarious purposes. Even destroying innocent users’ hardware in their attempts to compromise personal computers.</li>
<li>Data-mining – Third-party and ad trackers gather personal information about users’ browsing habits, selling the information far beyond the limited scope many assumed they’d agreed to.</li>
<li>Ransomware – Malware such as CryptoLocker and CryptoWall, encrypt users’ drives, forcing them to pay for a decryption key to retrieve their data within days or their hard drive will be “bricked”. Antivirus applications cannot prevent these threats.</li>
</ul>
<p>These violations are recent. More will follow. Some will be done by nations or politicians you won’t trust as much, if you trust those doing it are doing it now. Inevitably, these techniques be common enough that casual groups will form this threat.</p>
<p>Our lives are digital. It’s how we learn. How we express ourselves, with who, when. Who inspires us. Who we strive to become. Strangers – corporate, governmental or criminal – will <strong>no </strong>longer entitled to be part of deeply personal process.</p>
<p>Years ago, your computer being compromised by viruses was a routine. No longer.</p>
<p>Some claim “<a href="https://www.eff.org/deeplinks/2009/12/google-ceo-eric-schmidt-dismisses-privacy" target="_blank">privacy is over, get  over it</a>”. Purism wholeheartedly disagrees.</p>
<p>The days of blindly trusting proprietary mystery code, running on unverified mystery hardware, are done. The days of relying on the protection Purism provides has just begun.</p>
<p>Join us.</p>
<p><strong>Photos, Further Information &amp; Specifications</strong></p>
<p>For complete software and hardware specifications for the Librem 13, please visit the<strong> <a href="https://puri.sm/products/librem-13/" target="_blank">Librem 13 Product Page</a></strong>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem13-protects-privacy/">Librem13 Protects Privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Unveils the First Computer Built to Respect and Protect Digital Privacy</title>
		<link>https://puri.sm/posts/purism-unveils-the-first-computer-built-to-respect-and-protect-digital-privacy/</link>
		<pubDate>Thu, 18 Jun 2015 15:56:21 +0000</pubDate>
		<dc:creator><![CDATA[Jeff]]></dc:creator>
				<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Crowdfunding]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Product or service launch]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=18386</guid>
		<description><![CDATA[<p>World’s first notebook computer with “privacy switches” — ensuring the camera, microphone, wireless, and Bluetooth data connections are completely turned off. Every hardware feature and software application specifically selected to respect and protect your privacy, security and freedom. New York, New York — June 18, 2015 — Answering the public’s need for a high-end computer [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-unveils-the-first-computer-built-to-respect-and-protect-digital-privacy/">Purism Unveils the First Computer Built to Respect and Protect Digital Privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>World’s first notebook computer with “privacy switches” — ensuring the camera, microphone, wireless, and Bluetooth data connections are completely turned off. Every hardware feature and software application specifically selected to respect and protect your privacy, security and freedom.</em></p>
<p class="responsiveNews">New York, New York — June 18, 2015 — Answering the public’s need for a high-end computer built from the ground up respecting users’ digital privacy, security, and freedom, Purism, Inc., a San Francisco-based hardware maker, today will release the Librem 13 — the world’s first notebook computer with every feature and application designed specifically for security and privacy.</p>
<p class="responsiveNews">The private notebook computer will be revealed on June 18th, 2015, at 6 pm EST at the Digital Experience, a press-only event in New York City at the Metropolitan Pavilion. The Librem 13 can be preordered starting today on Crowd Supply at crowdsupply.com/purism/librem-13/ The &#8220;earliest bird&#8221; price is $1,449.</p>
<p class="responsiveNews">This sleek 13.3” laptop has features never before seen in computing—hardware “privacy switches” to turn off the camera, microphone, WiFi, and Bluetooth, to prevent hackers, snoops, stalkers or data thieves from compromising your privacy.</p>
<p class="responsiveNews">Innovative slider toggle switches, placed near the Librem’s hinge, ensure that the electrical circuits for Bluetooth, wireless, camera and microphone are physically severed. The hardware “kill switches” prevent digital adversaries from eavesdropping using the microphone or accessing the camera remotely. The switches also as sever the radio and networked connections, removing the possibility of remote access.</p>
<h2 class="responsiveNews">THE FIRST CONSUMER-FRIENDLY PRIVACY LAPTOP</h2>
<p class="responsiveNews">The Librem is built chip-by-chip and line-by-line to respect privacy and protect security. Consumer friendly, it is private from the moment you turn it on &#8212; there are no additional software applications, downloads or accessories needed.</p>
<p class="responsiveNews">Unlike ordinary computers, with the Librem, there are no “backdoors” or “mystery code” in the hardware, kernel, operating system or software. These vulnerabilities, present in other computers, enable a hacker or intruder to steal data.</p>
<p class="responsiveNews">“With massive data breaches of users’ private financial information happening almost daily, we cannot afford to trust our most personal data to ordinary computers anymore. This is why we created the Librem, the first truly private personal computer, to protect and respect users’ rights to privacy, security and freedom,” says Purism CEO Todd Weaver.</p>
<p class="responsiveNews">The Librem 13 is endorsed by notable security and privacy experts, including Jacob Appelbaum, who joined the company this week as a technical advisor. Appelbaum will be analyzing security threats, communicating trends, and championing needs for users. Appelbaum, who was a core developer of Tor, an anonymous browsing protocol, is an internationally-recognized privacy crusader.</p>
<h2 class="responsiveNews">THREATS THE LIBREM COULD PREVENT</h2>
<p class="responsiveNews">The following examples of data theft and security breaches from the past year illustrate potential security threats Librem computers can prevent:</p>
<ul class="releaseul">
<li>Corporate data exploitation: “Superfish&#8221; pre-installed man-in-the-middle malware, where all secure communications were intercepted, including user’s bank login credentials.</li>
<li>Social media data theft: Over 2 million Facebook, Gmail, and Twitter accounts were intercepted from keylogger malware.</li>
<li>Spying and stalking: There have been numerous reports of stalkers remotely activating user’s microphone, webcam, or recording VoIP services, such as Skype calls.</li>
<li>Backdoors: “Backdoors” (or proprietary code for which no security experts can verify the source code) are built into competitor&#8217;s software and operating systems.</li>
<li>Data-mining: Third-party trackers and ad trackers gather personal information about users’ browsing habits, often selling the information.</li>
<li>Ransomware: Malware such as CryptoLocker and CryptoWall encrypt the users’ drives, forcing them to pay for a decryption key to retrieve their data.</li>
</ul>
<p class="responsiveNews">Antivirus applications do not prevent these threats. While these examples are recent, there may be more threats in the future that could be prevented using a Librem private computer.</p>
<h2 class="responsiveNews">SECURE HARDWARE WITH “PRIVACY SWITCHES”</h2>
<p class="responsiveNews">Hardware switches, cleverly located on the Librem 13 laptop’s hinge cover, enable a user to completely turn off the camera, microphone, Bluetooth, and wireless ensuring total privacy.</p>
<p class="responsiveNews">On ordinary computers, these features are turned off with software. Therefore, an adversary can remotely turn on these software features enabling remote access to a users’ microphone and camera. On the Librem 13, however, the user simply toggles one or both of the hardware “kill switches,” severing the electrical circuit, rendering the laptop truly off the grid.</p>
<p class="responsiveNews">Highlights include:</p>
<ul class="releaseul">
<li>Ultra-thin aluminum case with stylish dark anodized finish</li>
<li>Intel 5th Generation CPU</li>
<li>Up to 16GB of Memory</li>
<li>Matte screen display</li>
<li>Large multitouch trackpad</li>
<li>Sturdy reinforced metal hinge</li>
<li>Hardware “Privacy Switches” to turn off camera, microphone, wireless, and Bluetooth</li>
<li>Wired networking, with a pop-down RJ45 network jack</li>
<li>“Purism Key” for one touch search of all documents</li>
</ul>
<h2 class="responsiveNews">PURISM’S CUSTOM OPERATING SYSTEM, PureOS, PROVIDES SECURE SOFTWARE</h2>
<p class="responsiveNews">Purism’s own PureOS is a secure, consumer-friendly GNU/Linux-based operating system built using entirely free/Libre and open source software. PureOS ships with hundreds of free software applications, all respecting users’ rights to privacy, security, and freedom.</p>
<p class="responsiveNews">PureOS also pre-installs LibreOffice, a Free/Libre and Open Source (FLOSS) office suite, including spreadsheet, word processor, and drawing programs. These programs are file format compatible with Microsoft Office, ensuring users will work productively with office files from Microsoft Word, Excel, and Powerpoint, as well as Adobe PDF files.</p>
<p class="responsiveNews">PureBrowser is provided within PureOS. A completely secure and private web browser, based on the Firefox browser, it includes the private Tor browser.</p>
<h2 class="responsiveNews">NO &#8220;MYSTERY CODE&#8221;</h2>
<p class="responsiveNews">The Librem 13 ships without “mystery code” or proprietary software of any kind, offering users complete transparency into the source code and control over all software.</p>
<p class="responsiveNews">All other conventional computers today ship with proprietary software pre-installed. This “mystery code” creates a vulnerability that adversaries, data thieves and criminals can exploit to access your data.</p>
<h2 class="responsiveNews">SPECIFICATIONS</h2>
<p class="responsiveNews">For complete software and hardware specifications for the Librem 13, visit <a href="https://puri.sm/products/">the Purism products page.</a></p>
<h2 class="responsiveNews">PRICE AND AVAILABILITY</h2>
<p class="responsiveNews">The Librem 13 can be pre-ordered on https://www.crowdsupply.com/purism/librem-13/ starting at $1649. The optional hardware kill switch feature is an additional $89. The computer will ship to backers in September 2015.</p>
<p class="responsiveNews">The first Librem 15 unit, assembled at Purism’s facility in South San Francisco, CA, was shipped to early backers on June 5, 2015, the same week as bulk data collection programs—already having been declared illegal by Federal district courts—were disavowed by the US Congress. The Librem 15 rev2 will begin shipping in July 2015.</p>
<p class="responsiveNews">Launched in December 2014, the Librem 15 computer was endorsed by Linux and Open Source press, as well as privacy experts, raising $470,000 and exceeded the funding goal on CrowdSupply, an open source crowd funding site.</p>
<h1 class="responsiveNews">About Purism</h1>
<p class="responsiveNews">Purism follows a strict belief in users’ rights to privacy, security, and freedom. We believe users should have access to the highest quality computers without compromising these beliefs.</p>
<p class="responsiveNews">The founder and CEO of Purism, Todd Weaver, created Purism to combine the philosophies of the free/libre and open source software movement with the hardware manufacturing process. Purism is devoted to providing the highest quality hardware available, ensuring the rights of security, privacy, and freedom for all users.</p>
<p class="responsiveNews">Purism is based in San Francisco and its products are assembled locally in the United States from components sourced internationally. Privately held and privately funded, Purism has raised $470,000 to date, solely with crowd funding.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-unveils-the-first-computer-built-to-respect-and-protect-digital-privacy/">Purism Unveils the First Computer Built to Respect and Protect Digital Privacy</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Pepcom Reveals</title>
		<link>https://puri.sm/posts/pepcom-reveals/</link>
		<pubDate>Tue, 16 Jun 2015 23:41:56 +0000</pubDate>
		<dc:creator><![CDATA[Jon Rahl]]></dc:creator>
				<category><![CDATA[Additional Press Information]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1177</guid>
		<description><![CDATA[<p>Purism Reveals New Privacy-Enhancing Features in New York Members of the news media can meet Purism at the Digital Experience in New York City where we will be demonstrating our latest privacy-protecting hardware offerings This is an invite-only event for press and analysts, June 18, 2015, 6 pm – 9 pm EST in New York, New [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pepcom-reveals/">Pepcom Reveals</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><strong>Purism Reveals New Privacy-Enhancing Features in New York</strong></p>
<p>Members of the news media can meet Purism at the Digital Experience in New York City where we will be demonstrating our latest privacy-protecting hardware offerings</span></p>
<p>This is an invite-only event for press and analysts, June 18, 2015, 6 pm – 9 pm EST in New York, New York.</p>
<p>Digital Experience! @ NYC is Pepcom&#8217;s annual summer showcase, a media event dedicated to showcasing the latest innovations in laptops, tablets, smartphones, apps, TVs, videogames, toys, gadgets, GPS, online shopping and a wide variety of technologies.</p>
<p>Please email <a href="mailto:rsvp@pepcom.com">rsvp@pepcom.com</a> if you are a member of the news media and can attend. West Coast and International press who cannot attend the event, please contact pr@puri.sm and you will receive the press release when we announce our news on June 18.</p>
<p><img class="size-full wp-image-1179" src="https://puri.sm/wp-content/uploads/2015/06/pepcom.jpeg" alt="Pepcom Digital Experience" width="801" height="403" srcset="https://puri.sm/wp-content/uploads/2015/06/pepcom.jpeg 801w, https://puri.sm/wp-content/uploads/2015/06/pepcom-300x151.jpeg 300w" sizes="(max-width: 801px) 100vw, 801px" /></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pepcom-reveals/">Pepcom Reveals</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 15 Rev1 Sold Out, Shipped! Rev2 Begins Testing Phase</title>
		<link>https://puri.sm/posts/librem-15-rev1-sold-out-shipped-rev2-begins-testing-phase/</link>
		<pubDate>Tue, 09 Jun 2015 21:26:55 +0000</pubDate>
		<dc:creator><![CDATA[Jon Rahl]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Supply chain]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=1092</guid>
		<description><![CDATA[<p>Things are moving right along at Purism! We’ve begun shipping the Librem 15 Rev1. We are excited to announce that the Librem 15 Rev1 has sold out! We will begin testing on the second prototype of the Librem 15 Rev2. If our rigorous standards are met during the testing process, we will immediately begin assembly in a rolling shipment plan, beginning [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-15-rev1-sold-out-shipped-rev2-begins-testing-phase/">Librem 15 Rev1 Sold Out, Shipped! Rev2 Begins Testing Phase</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Things are moving right along at Purism!</p>
<p>We’ve begun shipping the Librem 15 Rev1. We are excited to announce that the Librem 15 Rev1 has sold out!</p>
<p><a href="https://puri.sm/wp-content/uploads/2014/11/librem-laptop-opened-right-side.jpg"><img class=" size-large wp-image-466 aligncenter" src="https://puri.sm/wp-content/uploads/2014/11/librem-laptop-opened-right-side-1024x682.jpg" alt="librem-laptop-opened-right-side" width="700" height="466" srcset="https://puri.sm/wp-content/uploads/2014/11/librem-laptop-opened-right-side-1024x682.jpg 1024w, https://puri.sm/wp-content/uploads/2014/11/librem-laptop-opened-right-side-300x200.jpg 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>We will begin testing on the second prototype of the Librem 15 Rev2. If our rigorous standards are met during the testing process, we will immediately begin assembly in a rolling shipment plan, beginning with those orders placed earliest with the least complex configurations, and commencing with the later, more complex configurations.</p>
<p>Thanks again to all the backers for helping us specify what should be included in the Librem 15 Rev2! As a reminder, the Librem 15 Rev2 includes:</p>
<ul>
<li>An option for 32GB of RAM</li>
<li>USB 3.1 support</li>
<li>Longer battery life</li>
<li>And, of course, the Hardware Kill Switches, one for mic/camera, another for Wi-Fi &amp; Bluetooth signals. The Purism HKS is included as a free upgrade for our backers who’ve already ordered a Rev2.</li>
</ul>
<p>Once the Librem 15 Rev2 prototype is approved, we will announce it here. Keep checking! We’ll also communicate your specific ship date individually.</p>
<p>Any orders placed after today’s date will ship in September. The Purism Kill Switches will be available as a (wonderful) option.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-15-rev1-sold-out-shipped-rev2-begins-testing-phase/">Librem 15 Rev1 Sold Out, Shipped! Rev2 Begins Testing Phase</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>The Four [Browser] Freedoms</title>
		<link>https://puri.sm/posts/the-four-browser-freedoms/</link>
		<pubDate>Tue, 19 May 2015 02:49:12 +0000</pubDate>
		<dc:creator><![CDATA[Jon Rahl]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=623</guid>
		<description><![CDATA[<p>Seventy-five years ago, Franklin D. Roosevelt proposed four fundamental freedoms that people everywhere in the world should enjoy. Purism now proposes four fundamental freedoms we should insist in our digital lives. In the first of a series of discussions, we focus on what we demand in a web browser before it’s included in PureOS. Purism&#8217;s [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-four-browser-freedoms/">The Four [Browser] Freedoms</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Seventy-five years ago, Franklin D. Roosevelt <a href="https://en.wikipedia.org/wiki/Four_Freedoms" target="_blank">proposed</a> four fundamental freedoms that people everywhere in the world should enjoy. Purism now proposes four fundamental freedoms we should insist in our digital lives. In the first of a series of discussions, we focus on what we demand in a web browser before it’s included in PureOS.</p>
<p>Purism&#8217;s default web browser—PureBrowser—is one of the most secure, private, and freedom-respecting browser available, with a philosophy that will keep it respecting users’ rights in the future as new exploits and vulnerabilities are exposed and discovered.</p>
<p>There is only one sure way to ensure total security and privacy: <em>don’t go online.</em> However, that would make us even less free. Freedom compels risk-taking. Inaction is another path to servitude.</p>
<p><a href="https://pureos.net/">PureOS</a> demands four fundamental freedoms:</p>
<ol>
<li><b>Useable to everyone; safety in numbers.</b> A secure system few use is as bad as a compromised system everyone uses. Safety is contagious. If only a few people are using online privacy schemes, they stand out to thieves and other hostile entities. This isolation makes them targets. Thus, everyone’s privacy matters. Protecting less technically sophisticated users strengthens even the most sophisticated of us.</li>
<li><b>Individual &amp; personal</b>. Everyone’s threat model – who is after you, for what, why &amp; how – differs. Even for the same person, it changes, depending on context. Freedom means making knowledgeable choices that best suit our circumstances. Our <i>fluid</i> circumstances.</li>
<li><b>Collectively verifiable &amp; reliable</b>. With your digital life at stake, promises are the wind. Only by using Free/Libre Open Software &amp; Hardware (F/LOSSH) can we objectively verify claims.</li>
<li><b>Transparent</b>. Your software and hardware – and those making it – should be forthright in its function, capable in delivering them and limited to doing only what they promise.</li>
</ol>
<p>Compared to common browsers, PureBrowser respects and protects your rights to privacy, security, and freedom by:</p>
<ol>
<li><b>Blocking third party trackers &amp; advertisers by default.</b> These are designed to gather private details about your browsing habits. Opting in should be your choice – not opting out.</li>
<li><b>Using HTTPS where ever possible by default.</b> Encrypting these connections prevents your behavior and information from being monitored by malicious groups while it is in transit. This also prevents you or the site you think you’re visiting from being hijacked by a third party.</li>
<li><b>Being Free/Libre Open Software (F/LOSS).</b> Without the ability to audit the software, it’s impossible to be certain how it works. Since Libre software&#8217;s source is made available – every line of code, by definition, has to be – it can be verified that it is what it purports to be. Communities together ensure this is the case. F/LOSS principles don’t require that we trust the author, it requires we trust <b>the community</b>.</li>
<li><b>Never “phoning home” any personally identifying information surreptitiously.</b> Information collected is, inevitably, information used. Chekhov’s Database, if you will.</li>
</ol>
<p>&nbsp;</p>
<h2 class="tablepress-table-name tablepress-table-name-id-13">The Four [Browser] Freedoms</h2>

<table id="tablepress-13" class="tablepress tablepress-id-13">
<thead>
<tr class="row-1 odd">
	<th class="column-1">&nbsp;</th><th class="column-2"><div style="width:100%;height:100%;text-align: center">MS Internet <br />
Explorer</th><th class="column-3"><div style="width:100%;height:100%;text-align: center">Google <br />
Chrome</th><th class="column-4"><div style="width:100%;height:100%;text-align: center">Mozilla <br />
Firefox</th><th class="column-5"><div style="width:100%;height:100%;text-align: center">Apple <br />
Safari</th><th class="column-6"><div style="width:100%;height:100%;text-align: center">Purism <br />
PureBrowser</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
	<td class="column-1"><div style=“width:50%;height:100%">Blocks sending identifying details</td><td class="column-2"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-3"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-4"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-5"><div style="width:100%;height:100%; background: orange;text-align: center"><span style="color: white; font-weight: normal">Partial<sup><a href="#fn1" id="ref1" style="color: white">1</a></sup></span></div></td><td class="column-6"><div style="width:100%;height:100%; background: green;text-align: center"><span style="color: white; font-weight: normal">Yes</span></div></td>
</tr>
<tr class="row-3 odd">
	<td class="column-1"><div style=“width:50%;height:100%">HTTPS Everywhere by default</td><td class="column-2"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-3"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-4"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-5"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-6"><div style="width:100%;height:100%; background: green;text-align: center"><span style="color: white; font-weight: normal">Yes</span></div></td>
</tr>
<tr class="row-4 even">
	<td class="column-1"><div style=“width:50%;height:100%">Free/Libre &amp; Open Source</td><td class="column-2"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-3"><div style="width:100%;height:100%; background: orange;text-align: center"><span style="color: white; font-weight: normal">Partial<sup><a href="#fn2" id="ref2" style="color: white">2</a></sup></span></div></td><td class="column-4"><div style="width:100%;height:100%; background: green;text-align: center"><span style="color: white; font-weight: normal">Yes</span></div></td><td class="column-5"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-6"><div style="width:100%;height:100%; background: green;text-align: center"><span style="color: white; font-weight: normal">Yes</span></div></td>
</tr>
<tr class="row-5 odd">
	<td class="column-1"><div style=“width:50%;height:100%">Blocks 3rd Party trackers by default</td><td class="column-2"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-3"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-4"><div style="width:100%;height:100%; background: darkred;text-align: center"><span style="color: white; font-weight: normal">No</span></div></td><td class="column-5"><div style="width:100%;height:100%; background: orange;text-align: center"><span style="color: white; font-weight: normal">Partial<sup><a href="#fn3" id="ref3" style="color: white">3</a></sup></span></div></td><td class="column-6"><div style="width:100%;height:100%; background: green;text-align: center"><span style="color: white; font-weight: normal">Yes</span></div></td>
</tr>
</tbody>
</table>
<span class="tablepress-table-description tablepress-table-description-id-13"><sup id="fn1">1. Sends information to Apple for diagnostic purposes and to facilitate user-anticipated services.</sup><br />
<sup id="fn2">2. Source code is released under free licenses, but other freedom and privacy restricting features exist.</sup><br />
<sup id="fn3">3. Blocks 3rd party cookies; can send HTTP header request to them.</sup></span>
<!-- #tablepress-13 from cache -->
<p>Summarizing the table above:</p>
<ul>
<li>Microsoft’s Internet Explorer – and most likely their in-development browser, Edge – fail all four of these essential tests.</li>
<li>Google’s browser fails more than three of the four.</li>
<li>As of this writing, the general release of Firefox also fails three-quarters of them.</li>
<li>Apple’s Safari fails half.</li>
<li>PureBrowser passes all four of these essential tests. From the start, Purism’s PureBrowser blocks your personal information from being sent to groups you most likely do not want them to have.</li>
</ul>
<p>Purism uses a fork—creates a distinct &amp; separate piece of software—of Firefox, developed by the Trisquel development team. Wikipedia <a href="https://en.wikipedia.org/wiki/Trisquel" target="_blank">characterizes</a> Trisquel as a fully F/LOSS system without proprietary software or firmware, noting that it is “listed by the Free Software Foundation as a distribution that contains only Free software.” Purism takes this already exemplary version then optimize it for the Librem laptops running PureOS and adds more privacy protections.</p>
<p>We carefully select privacy-enhancing add-ons, by default, such as the <a href="https://www.eff.org/" target="_blank">EFF’s</a> <i>Privacy Badger</i>, that blocks third-party advertisers tracking literally every site you visit, page you view &amp; video you watch.</p>
<p>PureOS also includes the EFF’s <i>HTTPS Everywhere</i> browser extension, which is also turned on by default.</p>
<p>Finally, we proudly include the superlative Tor Browser from the <a href="https://www.torproject.org/index.html.en" target="_blank" class="broken_link">Tor Project</a> to ensure your anonymity.</p>
<p>The threats we face are many, varied and constantly evolving. Purism will be constantly evolving, too. We’ll continue evaluating the best, most effective add-ons, the tightest, best source code and most cunning new exploits to keep PureBrowser the most rights-respecting browser available to safeguard your privacy.</p>
<p>We were delighted to discover, while writing this article, that the founder of the <a href="https://www.fsf.org/" target="_blank">Free Software Movement</a>, Dr. <a href="https://en.wikipedia.org/wiki/Richard_Stallman" target="_blank">Richard</a> <a href="https://www.stallman.org/" target="_blank">Stallman</a>, was also inspired by President Roosevelt when he proposed his <a href="https://en.wikipedia.org/wiki/The_Free_Software_Definition" target="_blank">Four Essential Freedoms</a>. We ecstatically, humbly, follow these two superlative tracks of footsteps.</p>
<p>Rather than close with a <em>The only thing we have to fear…</em>, let us instead close with Mr. Roosevelt’s, <em>Happiness lies in the joy of achievement and the thrill of creative effort</em>.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/the-four-browser-freedoms/">The Four [Browser] Freedoms</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Shine A Light On It: Why Verifying Is Required, Why Only Libre Allows It</title>
		<link>https://puri.sm/posts/shine-a-light-on-it-why-verifying-is-required-why-only-libre-allows-it/</link>
		<pubDate>Mon, 18 May 2015 23:49:40 +0000</pubDate>
		<dc:creator><![CDATA[Jon Rahl]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=635</guid>
		<description><![CDATA[<p>Why is the ability to independently verify source code in software or hardware required? Supporters of Free/Libre software often emphasize the benefit of being able to verify code. Why is this a big deal? Why is it a big deal now? A key benefit of Free/Libre Open Source software and hardware is that you don’t [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/shine-a-light-on-it-why-verifying-is-required-why-only-libre-allows-it/">Shine A Light On It: Why Verifying Is Required, Why Only Libre Allows It</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Why is the ability to independently verify source code in software or hardware required?</p>
<p>Supporters of Free/Libre software often emphasize the benefit of being able to verify code. Why is this a big deal? Why is it a big deal now?</p>
<p>A key benefit of Free/Libre Open Source software and hardware is that you don’t have to trust the man behind the curtain swearing The Great Oz is, in fact, great. You don’t have to trust. You can verify.</p>
<p>In a closed source world, I may trust one company, for instance. I may trust another company, generally, but less. I may (or may not) trust a third company. You may trust different companies’ business models, ethics or values along a continuum. Who’s right? Who’s wrong? Who knows?</p>
<p>Wouldn’t it be great if, instead of figuring which of the three is less bad, I (and other vast pools of individuals with expertise working together) had a way to know if something they said was actually something they did? Wouldn’t it be great if, companies know that any hidden backdoors compromising most of their users true interests would be exposed, so they’d be less inclined to consider leaving them in the lurch? Software that is open source (or Free, Libre or Free/Libre (loosely, synonyms)) does exactly that. It allows everyone to verify everyone else’s work to make sure it does what it says it does. By relying on each other and themselves, instead of marketing or PR.</p>
<p>We all know now, that there’s more software burned into the ROM of a thermostat than those Apollo guys used to get to Venus. What’s in that?</p>
<p>Few gave it much thought since until recently, there wasn’t much information collected. It wasn’t linked. There weren’t techniques to parse it into anything useful. Now there is. That’s what the popular press refers to with “Big Data”. There’s really cool stuff we can do. There’s a lot of really bad stuff we can do. Most of us don’t. When the Snowden archive hit, we – those paying attention, at least – collectively realized our worst-case “bad” was so much more benign than what has actually been going on.</p>
<p>In the tech field, what a few do today, more will do tomorrow and nearly everyone will be doing next week. Even if you trust intelligence agency bureaucracies – yours or others – to not spy too much on you, your family and your friends, it’s not “just” them. It’s those that will follow that will also be able to spy on you and yours using similar techniques, for much cheaper.</p>
<p>These techniques and layers of software &amp; hardware complication are going to vastly increase, not decrease. That ship’s sailed. We can’t change that. And honestly, most people want the benefits these changes bring.</p>
<p>So, what can we control? Verifying our software (Richard Stallman started raising this issue back in 1983). Verifying our hardware (we only recently figured out a way to make this possible for laptops about a year ago). We have a roadmap to get it all verified (the last, most complicated part concerns the CPU and how it talks to the motherboard, which we’re making progress on).</p>
<p>It’s this ability to verify not only the software but also the hardware, that is a really big deal. Beyond legions of crowds of people reviewing the code, just the potential of this is enough to keep the hardware and software manufacturers relatively honest. We no longer have to take the Great Oz’s word for it, we can verify. Everyone can verify Purism products in unparalleled ways – that they cannot do with Win/Tel, Google or Apple – because finally, both software and hardware are F/LOSS.</p>
<p>So. That’s why being able to independently verify claims made about software and hardware is both really important and is something that we created Purism to be able to do. So all of us working together can trust each other. Without having to close our eyes and leap, using blind faith. It’s a claim that no matter how much you may trust Apple, Google, Microsoft, Sony or Lenovo, none of these other companies can make.</p>
<p>Join us. Working together is the only way we will truly protect ourselves.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/shine-a-light-on-it-why-verifying-is-required-why-only-libre-allows-it/">Shine A Light On It: Why Verifying Is Required, Why Only Libre Allows It</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Production and Shipping Update</title>
		<link>https://puri.sm/posts/production-and-shipping-update/</link>
		<pubDate>Sun, 17 May 2015 22:49:59 +0000</pubDate>
		<dc:creator><![CDATA[Jon Rahl]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Manufacturing Operations and Logistics]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[PureOS]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=646</guid>
		<description><![CDATA[<p>Hello, Backers! Thank you again for helping us improve the world of privacy, security, and freedom in computing! Here at Purism, we have been busy working on production of the Librem 15 laptops, and we are excited to share the following updates with you. Most importantly, we need to let you know about about some [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/production-and-shipping-update/">Production and Shipping Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hello, Backers!</p>
<p>Thank you again for helping us improve the world of privacy, security, and freedom in computing!</p>
<p>Here at Purism, we have been busy working on production of the Librem 15 laptops, and we are excited to share the following updates with you. Most importantly, we need to let you know about about some of the configuration and design decisions we are facing<del>, as well our findings regarding the physical hardware boundaries from Intel</del>. We see this as a wonderful opportunity to work directly with our faithful backers, to not only create the ideal laptop for our users, but to craft hardware and software that aligns with our beliefs.</p>
<h3>SHIP DATES</h3>
<p>We are shipping the Librem 15 rev1 configuration within the next few weeks.</p>
<p>The Librem 15 rev2 base model will ship beginning in June. Models with different configuration options will be shipped following the base model.</p>
<p>If you have not received an explicit email about Librem 15 rev1, you are in line to receive the Librem rev2 configuration.</p>
<p>Please contact us at <a href="mailto:info@puri.sm">info@puri.sm</a> if it is unclear which model you are receiving, and we will clarify when you can expect to receive your Librem 15 laptop.</p>
<h3>CHANGES TO THE REVISION CONFIGURATIONS</h3>
<p>Some of the changes to the Librem 15 rev1 and Librem 15 rev2 configurations have directly affected the CPU, battery life, <del>RAM,</del> optical drive, and some hardware choices.</p>
<h4>CASE</h4>
<p>Librem 15 rev1 will support an optical drive and RJ-45, as represented by our images of the existing case. Librem 15 rev2 will be thinner, removing the optical drive and RJ-45.</p>
<h4>CPU</h4>
<ul>
<li>Librem 15 rev1 will include the i7-4712MQ of CPU, a 4th Gen Intel CPU.</li>
<li>Librem 15 rev2 will include the i7-5557U of CPU, a 5th Gen Intel CPU.</li>
</ul>
<p>Due to the design of our case, there was not enough physical space to fit four RAM slots. We can only physically fit two RAM slots in our case. As such, after production, we found we cannot support 32GB of RAM with the 4x8GB configuration. The company Intelligent Memory was brought to our attention (www.intelligentmemory.com), as they supply 16GB sticks, but we discovered those sticks only work with 5th Gen Intel CPUs. We then decided to look more closely at 5th Gen CPUs, which have 2 cores and a longer battery life. Our next step was to look into using two RAM slots at 16GB each to equal the 32GB RAM physical maximum. <del>This was not possible, because Intel’s 5th Gen CPUs have a physical memory maximum of 16GB.</del> See <a href="https://puri.sm/posts/32gb-is-back/" target="_blank">32GB Is Back!</a> post. Intel appears to use a stated limit of 16GB. PC World and others informed us that their 5th Gen CPUs support 32GB. Thus, we&#8217;ll tentatively continue offering this configuration, pending our own testing.</p>
<p>In conclusion, we opted for the i7-5557U 5th Gen, with 28W for longer battery life<del>, and had to drop to 16GB physical CPU memory maximum</del> for Librem 15 rev2.</p>
<h4><del>MEMORY</del></h4>
<p><del>As described above, with the hard limit in our case, the CPU physical memory maximum for the Librem 15 rev2 is 16GB 32GB of RAM. (Note: Refunding the difference for those that ordered &gt; 16GB will be occurring within the next three weeks).</del></p>
<h4>2ND DRIVE BAY</h4>
<ul>
<li>Librem 15 rev1 will ship with a CD/DVD ROM only for the 2nd drive bay.</li>
<li>Librem 15 rev2 will ship with a battery or 2nd drive only (no optical drives) for the 2nd drive bay. (Note: If his effects your order, we will be in contact individually to adjust your configuration and associated costs/refunds).</li>
</ul>
<h4>HARDWARE KILL SWITCHES</h4>
<p>The hardware kill switch is an exciting feature. We know we can physically cut the circuits, however, the issue is where to put the kill switches to have them externally accessible and not get accidentally tripped, while also providing visual feedback as to the on/off status (either through a toggle/color, or through a hardware LED).</p>
<p>Modifying the case for this feature has presented a challenge. We are not able to place a large enough order to warrant case tooling modifications. So we then decided to look at modifying existing keyboard keys to accomplish our hardware kill switch goals. For example, we researched moving PRTSCR/SysRq and Pause/Break into Fn keystrokes, and using those keys as the hardware kill switches, but we were faced with loss of visible on/off status.</p>
<p>This brought us back to case modifications, adding an LED light when those keys are toggled.</p>
<p>We find ourselves at the original idea of case modification, employing physical circuit cutting hardware kill switches. We will keep working to solve this issue and will update you on our progress.</p>
<h4>TOUCHPAD DRIVER</h4>
<p>The touchpad driver, upon testing, works as a PS/2 Mouse. While the touchpad driver has proper movement and scrolling, the driver doesn’t currently support true multitouch functionality. We also are continuing to investigate a tap-to-click usability issue, and are working to track down the protocol specifications to improve the kernel driver, allowing us to use the hardware with the multitouch function.</p>
<h4>PureOS (Trisquel Based Purism Operating System)</h4>
<p>PureOS is humming along nicely. We expect to have a release within the next month. The OS will improve default security and privacy protocols, as well as improve the usability of the UI.</p>
<p>The entire Purism team thanks you for your input and our initial collaboration on this exciting project.</p>
<p>It’s a privilege to be able to work on something like this, and work so closely with people who can have an impact on privacy and security in computing. Our innovations, our efforts, would not be possible without you.</p>
<p><em>April 28, 2015</em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/production-and-shipping-update/">Production and Shipping Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>32GB is Back!</title>
		<link>https://puri.sm/posts/32gb-is-back/</link>
		<pubDate>Sat, 16 May 2015 22:50:13 +0000</pubDate>
		<dc:creator><![CDATA[Jon Rahl]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=651</guid>
		<description><![CDATA[<p>We love our backers! After our last update regarding Intel’s physical 16GB memory maximum for 5th Generation CPUs, we heard from a backer that Intelligent Memory can run 32GB even though the specification states 16GB! This was corroborated by both PCWorld and our direct contact at Intelligent Memory this morning. We are back to offering [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/32gb-is-back/">32GB is Back!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h3>We love our backers!</h3>
<div class="rendered-content">
<p>After our last update regarding Intel’s physical 16GB memory maximum for 5th Generation CPUs, we heard from a backer that Intelligent Memory can run 32GB even though the specification states 16GB! This was corroborated by both <a href="http://www.pcworld.com/article/2894509/want-32gb-of-ram-in-your-laptop-or-nuc-you-can finally-do-it.html" target="_blank">PCWorld</a> and our direct contact at Intelligent Memory this morning. We are back to offering 32GB, and will not change the existing orders down to 16GB.</p>
<p>We are going to receive a handful of sticks of memory to test that these statements are true ourselves.</p>
<p>This and all feedback, support, and help from all our backers is extremely appreciated!</p>
<p>(Note: We will be increasing the price of 32GB of RAM for all future orders because Intelligent Memory’s DDR3 RAM sticks are very expensive! If you already had 32GB of RAM specified, you will not be charged for the increase in cost).</p>
</div>
<p><em>April 29, 2015</em></p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/32gb-is-back/">32GB is Back!</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Librem 15 rev1 vs rev2</title>
		<link>https://puri.sm/posts/purism-librem-15-rev1-vs-rev2/</link>
		<pubDate>Tue, 24 Feb 2015 01:26:24 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=521</guid>
		<description><![CDATA[<p>(Updated July 1, 2015) Due to the overwhelming backer response to our Librem 15 design, and the fantastic responses from an unbelievably knowledgeable group, we have had to break our manufacturing into two revisions to accommodate every request. &#8216;rev1&#8217; will be the incremental step toward the final &#8216;rev2&#8217; which will have all the approved changes [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-15-rev1-vs-rev2/">Purism Librem 15 rev1 vs rev2</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>(<b>Updated July 1, 2015</b>)</p>
<p>Due to the overwhelming backer response to our Librem 15 design, and the fantastic responses from an unbelievably knowledgeable group, we have had to break our manufacturing into two revisions to accommodate every request. &#8216;rev1&#8217; will be the incremental step toward the final &#8216;rev2&#8217; which will have all the approved changes from the backers. <strong>This will mean rev1 will (<span style="text-decoration: line-through;">meet the April 2015 deliverable</span>) ship in the June 2015, rev2 will be begin delivery in September 2015, with the more challenging configurations shipping in July of 2015.</strong></p>
<p><strong>The important take away from this news is that unless you specifically requested a rev1 (we sent emails to all backers who have a configuration that would support rev1), we will be shipping rev2 to all other backers.</strong></p>
<p>Thank you for understanding for us to accommodate all the great backer ideas, we have had to work diligently with the fabrication to get it all to work to our strict beliefs and standards, which has added manufacturing time.</p>
<p>Here are the differences between &#8216;rev1&#8217; and &#8216;rev2&#8217;:</p>
<h2 class="tablepress-table-name tablepress-table-name-id-10">Purism Librem 15 rev1 vs rev2</h2>

<table id="tablepress-10" class="tablepress tablepress-id-10">
<thead>
<tr class="row-1 odd">
	<th class="column-1">&nbsp;</th><th class="column-2">Librem 15 rev1</th><th class="column-3">Librem 15 rev2</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
	<td class="column-1">Delivery</td><td class="column-2"><b>June 2015</b></td><td class="column-3"><b>September 2015</b></td>
</tr>
<tr class="row-3 odd">
	<td class="column-1">CPU*</td><td class="column-2"><b>i7-4712MQ</b></td><td class="column-3"><b>i7-5557U</b></td>
</tr>
<tr class="row-4 even">
	<td class="column-1">Generation</td><td class="column-2"><b>4th Generation</b></td><td class="column-3"><b>5th Generation</b></td>
</tr>
<tr class="row-5 odd">
	<td class="column-1">BIOS</td><td class="column-2">AMI UEFI BIOS</td><td class="column-3">Corebot+Intel FSP</td>
</tr>
<tr class="row-6 even">
	<td class="column-1">CPU Power</td><td class="column-2"><b>37W</b></td><td class="column-3"><b>28W</b></td>
</tr>
<tr class="row-7 odd">
	<td class="column-1">Battery Life</td><td class="column-2">Roughly 4 hours</td><td class="column-3">Roughly 6 hours (1080p), 4 hours (4k)</td>
</tr>
<tr class="row-8 even">
	<td class="column-1">CPU Cores</td><td class="column-2"><b>4 (8 Threads)</b></td><td class="column-3"><b>2 (4 Threads)</b></td>
</tr>
<tr class="row-9 odd">
	<td class="column-1">CPU Max Frequency</td><td class="column-2"><b>2.3 GHz</b></td><td class="column-3"><b>3.0GHz</b></td>
</tr>
<tr class="row-10 even">
	<td class="column-1">GPU</td><td class="column-2"><b>Intel Iris Graphics 5200</b></td><td class="column-3"><b>Intel Iris Graphics 6100</b></td>
</tr>
<tr class="row-11 odd">
	<td class="column-1">Motherboard Layers</td><td class="column-2">4</td><td class="column-3"><b>6</b></td>
</tr>
<tr class="row-12 even">
	<td class="column-1">Physical Memory Max</td><td class="column-2">8GB</td><td class="column-3"><b>32GB!</b></td>
</tr>
<tr class="row-13 odd">
	<td class="column-1">Memory Speed</td><td class="column-2">DDR3L 1600MHz</td><td class="column-3">DDR3L 1600MHz</td>
</tr>
<tr class="row-14 even">
	<td class="column-1">Logo Etched</td><td class="column-2">No</td><td class="column-3">No</td>
</tr>
<tr class="row-15 odd">
	<td class="column-1">Color</td><td class="column-2">Light grey</td><td class="column-3">Dark grey</td>
</tr>
<tr class="row-16 even">
	<td class="column-1">HDMI</td><td class="column-2">v1.4</td><td class="column-3">v2.0</td>
</tr>
<tr class="row-17 odd">
	<td class="column-1">Thunderbolt or mini-DP</td><td class="column-2">No</td><td class="column-3"><b>No</b></td>
</tr>
<tr class="row-18 even">
	<td class="column-1">Webcam</td><td class="column-2">720p 1.0 Mega pixels</td><td class="column-3">720p 1.0 Mega pixels</td>
</tr>
<tr class="row-19 odd">
	<td class="column-1">Audio</td><td class="column-2">ALC662</td><td class="column-3">ALC892</td>
</tr>
<tr class="row-20 even">
	<td class="column-1">Second Drive Bay</td><td class="column-2"><b>CD/DVD ROM</b></td><td class="column-3"><b>No</b></td>
</tr>
<tr class="row-21 odd">
	<td class="column-1">PCH</td><td class="column-2">HM86</td><td class="column-3">HM86</td>
</tr>
<tr class="row-22 even">
	<td class="column-1">TPM</td><td class="column-2">Yes 2.0</td><td class="column-3">Yes 2.0</td>
</tr>
<tr class="row-23 odd">
	<td class="column-1">Screen</td><td class="column-2">15.6" 1920x1080p Matte IPS @ 60Hz</td><td class="column-3">15.6" 1920x1080p Matte IPS @ 60Hz<br />
15.6" 3840x2160p Matte IPS @ 60Hz</td>
</tr>
<tr class="row-24 even">
	<td class="column-1">HDD or SSD</td><td class="column-2">2.5" 7.0mm SataIII</td><td class="column-3">2.5" 7.0mm SataIII</td>
</tr>
<tr class="row-25 odd">
	<td class="column-1">M.2</td><td class="column-2">M.2 22*80</td><td class="column-3">M.2 22*80</td>
</tr>
<tr class="row-26 even">
	<td class="column-1">MiniPCIE</td><td class="column-2">1 Slot (used for WiFi card)</td><td class="column-3"><b>No</b></td>
</tr>
<tr class="row-27 odd">
	<td class="column-1">NGFF</td><td class="column-2">No</td><td class="column-3"><b>1 Slot (used for WiFi card)</b></td>
</tr>
<tr class="row-28 even">
	<td class="column-1">Wireless</td><td class="column-2">Atheros 802.11n (AR9465)<br />
w/ Two Antenna</td><td class="column-3">Atheros 802.11n (AR9465)<br />
w/ Two Antenna</td>
</tr>
<tr class="row-29 odd">
	<td class="column-1">RF hardware cut-off</td><td class="column-2">No</td><td class="column-3">Yes</td>
</tr>
<tr class="row-30 even">
	<td class="column-1">Mic/Camera hardware cut-off</td><td class="column-2">No</td><td class="column-3">Yes</td>
</tr>
<tr class="row-31 odd">
	<td class="column-1">Speakers</td><td class="column-2">2 stereo speakers</td><td class="column-3">2 stereo speakers<br />
w/ amplifier</td>
</tr>
<tr class="row-32 even">
	<td class="column-1">Ethernet</td><td class="column-2">1000M Realtek RTL8168</td><td class="column-3"><b>No</b></td>
</tr>
<tr class="row-33 odd">
	<td class="column-1">Power Port</td><td class="column-2">1 DC-in Port</td><td class="column-3">1 DC-in Port</td>
</tr>
<tr class="row-34 even">
	<td class="column-1">Audio Port</td><td class="column-2">1 Jack, Mic/Line out</td><td class="column-3"><b>1 Jack, Mic/Line out</b></td>
</tr>
<tr class="row-35 odd">
	<td class="column-1">USB Port</td><td class="column-2"><b>3 USB 3.0 Ports</b></td><td class="column-3"><b>2 USB 2.0 Ports<br />
2 USB 3.0 Ports<br />
1 USB 3.1 Port</b></td>
</tr>
<tr class="row-36 even">
	<td class="column-1">HDMI</td><td class="column-2">1 HDMI 1.4 Port</td><td class="column-3">1 HDMI 2.0 Port</td>
</tr>
<tr class="row-37 odd">
	<td class="column-1">RJ45</td><td class="column-2">Yes, Pop-down</td><td class="column-3"><b>No, USB Adapter Provided</b></td>
</tr>
<tr class="row-38 even">
	<td class="column-1">Card Reader</td><td class="column-2">Yes, 2-in-1 SD/MMC</td><td class="column-3">Yes, 2-in-1 SD/MMC</td>
</tr>
<tr class="row-39 odd">
	<td class="column-1">LED Indicators</td><td class="column-2">Power (white), Battery Status (white/amber), Wifi Status (white)</td><td class="column-3">Power (white), Battery Status (white/amber), RF Power (white)</td>
</tr>
<tr class="row-40 even">
	<td class="column-1">Reset Key</td><td class="column-2">1 Reset Hole</td><td class="column-3">1 Reset Hole</td>
</tr>
<tr class="row-41 odd">
	<td class="column-1">Touchpad</td><td class="column-2"><b>BYD all-in-one</b></td><td class="column-3"><b>BYD all-in-one</b></td>
</tr>
<tr class="row-42 even">
	<td class="column-1">Thermal Design</td><td class="column-2">Low noise fan</td><td class="column-3">Low noise fan</td>
</tr>
<tr class="row-43 odd">
	<td class="column-1">Backlit Keyboard</td><td class="column-2">No</td><td class="column-3">Yes</td>
</tr>
</tbody>
</table>
<span class="tablepress-table-description tablepress-table-description-id-10">The specifications between rev1 and rev2 of the Librem 15 laptop designs.<br />
* <a href="http://ark.intel.com/compare/78933,84993">http://ark.intel.com/compare/78933,84993</a><br />
</span>
<!-- #tablepress-10 from cache -->
<p>We fully understand that any delay is not a positive experience, but hope you all can understand the importance of what we are doing long-term, and this delay to get to a wonderful backer designed rev2 will be worth every bit of the wait.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-15-rev1-vs-rev2/">Purism Librem 15 rev1 vs rev2</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Installs EFF&#8217;s HTTPS-Everywhere by default</title>
		<link>https://puri.sm/posts/purism-installs-effs-https-everywhere-by-default/</link>
		<pubDate>Tue, 17 Feb 2015 16:53:25 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=519</guid>
		<description><![CDATA[<p>EFF&#8216;s HTTPS Everywhere is a browser extension that encrypts your communications with many major websites, making your browsing more secure. HTTPS Everywhere is produced as a collaboration between The Tor Project and the Electronic Frontier Foundation. Many sites on the web offer some limited support for encryption over HTTPS, but make it difficult to use. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-installs-effs-https-everywhere-by-default/">Purism Installs EFF&#8217;s HTTPS-Everywhere by default</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://www.eff.org/">EFF</a>&#8216;s <a href="https://www.eff.org/https-everywhere">HTTPS Everywhere</a> is a browser extension that encrypts your communications with many major websites, making your browsing more secure. HTTPS Everywhere is produced as a collaboration between <a href="https://www.torproject.org/">The Tor Project</a> and the <a href="https://eff.org/">Electronic Frontier Foundation</a>. Many sites on the web offer some limited support for encryption over <a href="https://en.wikipedia.org/wiki/HTTP_Secure">HTTPS</a>, but make it difficult to use. For instance, they may default to unencrypted HTTP, or fill encrypted pages with links that go back to the unencrypted site. The HTTPS Everywhere extension fixes these problems by using a <a href="https://www.xkcd.com/208">clever technology</a> to rewrite requests to these sites to HTTPS. Purism installs HTTP Everywhere so you are have more security by default.</p>
<p><a href="https://puri.sm/wp-content/uploads/2014/11/freedom-privacy-settings.png"><img class="alignnone size-full wp-image-513" src="https://puri.sm/wp-content/uploads/2014/11/freedom-privacy-settings.png" alt="freedom-privacy-settings" width="419" height="252" srcset="https://puri.sm/wp-content/uploads/2014/11/freedom-privacy-settings.png 419w, https://puri.sm/wp-content/uploads/2014/11/freedom-privacy-settings-300x180.png 300w" sizes="(max-width: 419px) 100vw, 419px" /></a></p>
<p><a href="https://puri.sm/wp-content/uploads/2014/11/https-everywhere.png"><img class="alignnone size-full wp-image-514" src="https://puri.sm/wp-content/uploads/2014/11/https-everywhere.png" alt="https-everywhere" width="315" height="412" srcset="https://puri.sm/wp-content/uploads/2014/11/https-everywhere.png 315w, https://puri.sm/wp-content/uploads/2014/11/https-everywhere-229x300.png 229w" sizes="(max-width: 315px) 100vw, 315px" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-installs-effs-https-everywhere-by-default/">Purism Installs EFF&#8217;s HTTPS-Everywhere by default</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Installs EFF&#8217;s Privacy Badger by Default</title>
		<link>https://puri.sm/posts/purism-installs-effs-privacy-badger-by-default/</link>
		<pubDate>Tue, 17 Feb 2015 16:41:36 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=511</guid>
		<description><![CDATA[<p>EFF&#8216;s Privacy Badger blocks spying ads and invisible trackers. Privacy Badger is a browser add-on that stops advertisers and other third-party trackers from secretly tracking where you go and what pages you look at on the web.  If an advertiser seems to be tracking you across multiple websites without your permission, Privacy Badger automatically blocks [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-installs-effs-privacy-badger-by-default/">Purism Installs EFF&#8217;s Privacy Badger by Default</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="https://www.eff.org/">EFF</a>&#8216;s <a title="Privacy Badger" href="https://www.eff.org/privacybadger">Privacy Badger</a> blocks spying ads and invisible trackers. Privacy Badger is a browser add-on that stops advertisers and other third-party trackers from secretly tracking where you go and what pages you look at on the web.  If an advertiser seems to be tracking you across multiple websites without your permission, Privacy Badger automatically blocks that advertiser from loading any more content in your browser.  To the advertiser, it&#8217;s like you suddenly disappeared. Purism installs EFF&#8217;s Privacy Badger so you are protected from spying ads and trackers by default!</p>
<p><a href="https://puri.sm/wp-content/uploads/2014/11/privacy-badger.png"><img class="alignnone size-full wp-image-515" src="https://puri.sm/wp-content/uploads/2014/11/privacy-badger.png" alt="privacy-badger" width="507" height="637" srcset="https://puri.sm/wp-content/uploads/2014/11/privacy-badger.png 507w, https://puri.sm/wp-content/uploads/2014/11/privacy-badger-239x300.png 239w" sizes="(max-width: 507px) 100vw, 507px" /></a></p>
<p>&nbsp;</p>
<div class="field field--name-field-faq-q field--type-text field--label-hidden">
<div class="field__items">
<h3 class="field__item even">How does Privacy Badger work?</h3>
</div>
</div>
<p>When you view a webpage, that page will often be made up of content from many different sources.  (For example, a news webpage might load the actual article from the news company, ads from an ad company, and the comments section from a different company that&#8217;s been contracted out to provide that service.)  Privacy Badger keeps track of all of this.  If as you browse the web, the same source seems to be tracking your browser across different websites, then Privacy Badger springs into action, telling your browser not to load any more content from that source.  And when your browser stops loading content from a source, that source can no longer track you.  Voila!</p>
<p>At a more technical level, Privacy Badger keeps note of the &#8220;third party&#8221; domains that embed images, scripts and advertising in the pages you visit. If a third party server appears to be tracking you without permission, by using uniquely identifying cookies to collect a record of the pages you visit across multiple sites, Privacy Badger will automatically disallow content from that third party tracker. In some cases a third-party domain provides some important aspect of a page&#8217;s functionality, such as embedded maps, images, or fonts. In those cases Privacy Badger will allow connections to the third party but will screen out its tracking cookies.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-installs-effs-privacy-badger-by-default/">Purism Installs EFF&#8217;s Privacy Badger by Default</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Pioneering CPU Efforts to Liberate Laptop Hardware</title>
		<link>https://puri.sm/posts/pioneering-cpu-efforts-to-liberate-laptop-hardware/</link>
		<pubDate>Thu, 18 Dec 2014 09:18:54 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Software freedom]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=494</guid>
		<description><![CDATA[<p>Purism&#8217;s Librem 15 laptop will be the first to ship with a modern Intel CPU that is not locked down to require proprietary firmware. This marks one of the largest hurdles to a laptop that runs 100 percent free software and firmware. Purism&#8217;s Librem 15 will ship with an Intel CPU fused to run unsigned [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pioneering-cpu-efforts-to-liberate-laptop-hardware/">Pioneering CPU Efforts to Liberate Laptop Hardware</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism&#8217;s Librem 15 laptop will be the first to ship with a modern Intel CPU that is not locked down to require proprietary firmware. This marks one of the largest hurdles to a laptop that runs 100 percent free software and firmware.</p>
<p>Purism&#8217;s Librem 15 will ship with an Intel CPU fused to run unsigned BIOS code, allowing a future where free software can replace the proprietary, digitally signed, BIOS binaries.</p>
<p>Commenting on this boon to user freedom, Dr. Richard M. Stallman, president of the Free Software Foundation (FSF), states,</p>
<blockquote><p>&#8220;Getting rid of the signature checking is an important step. While it doesn&#8217;t give us free code for the firmware, it means that users will really have control of the firmware once we get free code for it.&#8221;</p></blockquote>
<p>Based in San Francisco, Purism was founded precisely to overcome this and the remaining hurdles to reinstating user freedom, privacy, and control in computer hardware. The Librem 15 laptop is the first in Purism&#8217;s line of products and has until the end of January to reach a $250,000 funding goal that makes manufacturing the first batch possible.</p>
<p>Portland, Oregon-based Crowd Supply is a curated crowdfunding and e-commerce company that offers product development as a platform. It has launched more than 70 products, many with strong ties to the free and open source software and hardware communities.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/pioneering-cpu-efforts-to-liberate-laptop-hardware/">Pioneering CPU Efforts to Liberate Laptop Hardware</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Installs TOR by Default</title>
		<link>https://puri.sm/posts/purism-installs-tor-by-default/</link>
		<pubDate>Sun, 16 Nov 2014 00:36:52 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=405</guid>
		<description><![CDATA[<p>The Onion Router (Tor), is free and open source software that helps you defend against traffic analysis, a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security. Tor has traditionally been a separate full browser, browser add-on, or proxy software which had to be actively added [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-installs-tor-by-default/">Purism Installs TOR by Default</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a title="The Onion Router" href="https://www.torproject.org/" target="_blank">The Onion Router </a>(Tor), is free and open source software that helps you defend against traffic analysis, a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security. Tor has traditionally been a separate full browser, browser add-on, or proxy software which had to be actively added or configured. Purism, using the Trisquel Abrowser, ships with Tor installed by default, so opening up a &#8216;private window&#8217; within Abrowser will activate Tor. So now good anonymity online is now one private window away!</p>
<p><a href="https://puri.sm/wp-content/uploads/2014/11/freedom-privacy-settings.png"><img class="alignnone size-full wp-image-513" src="https://puri.sm/wp-content/uploads/2014/11/freedom-privacy-settings.png" alt="freedom-privacy-settings" width="419" height="252" srcset="https://puri.sm/wp-content/uploads/2014/11/freedom-privacy-settings.png 419w, https://puri.sm/wp-content/uploads/2014/11/freedom-privacy-settings-300x180.png 300w" sizes="(max-width: 419px) 100vw, 419px" /></a>   <a href="https://puri.sm/wp-content/uploads/2014/11/purism-tor-default.png"><img class="alignnone size-full wp-image-516" src="https://puri.sm/wp-content/uploads/2014/11/purism-tor-default.png" alt="purism-tor-default" width="771" height="306" srcset="https://puri.sm/wp-content/uploads/2014/11/purism-tor-default.png 771w, https://puri.sm/wp-content/uploads/2014/11/purism-tor-default-300x119.png 300w" sizes="(max-width: 771px) 100vw, 771px" /></a></p>
<h3>How Tor Works</h3>
<p>Tor protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody watching your Internet connection from learning what sites you visit, and it prevents the sites you visit from learning your physical location.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-installs-tor-by-default/">Purism Installs TOR by Default</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Alternative Free and Open Source Software</title>
		<link>https://puri.sm/posts/alternative-free-and-open-source-software/</link>
		<pubDate>Sat, 15 Nov 2014 23:32:14 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=369</guid>
		<description><![CDATA[<p>A common request for anybody using free and open source software is &#8220;What would be equivalent to &#60;insert_branded_software_name_here /&#62;?&#8221; So we wanted to make a simple table that shows common branded proprietary software and what free and open source software replaces or is an acceptable alternative to it.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/alternative-free-and-open-source-software/">Alternative Free and Open Source Software</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A common request for anybody using free and open source software is &#8220;What would be equivalent to &lt;insert_branded_software_name_here /&gt;?&#8221; So we wanted to make a simple table that shows common branded proprietary software and what free and open source software replaces or is an acceptable alternative to it.</p>

<table id="tablepress-8" class="tablepress tablepress-id-8">
<thead>
<tr class="row-1 odd">
	<th colspan="2" class="column-1">Proprietary Software</th><th colspan="2" class="column-3">Free and Open Source Software</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
	<td colspan="4" class="column-1"><span style="font-weight: bold; font-size: 2.0em">Office Suite</style></td>
</tr>
<tr class="row-3 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/MetroUI-Office-Word-icon.png" height="72" width="72" alt="Microsoft Word" /></td><td class="column-2">Microsoft Word; word processing</td><td class="column-3"><img src="https://puri.sm/wp-content/uploads/2014/11/libreoffice-writer-icon.png" height="72" width="72" alt="LibreOffice Writer" /></td><td class="column-4">LibreOffice Writer; word processing, a direct alternative for Microsoft Word</td>
</tr>
<tr class="row-4 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/MetroUI-Office-Excel-icon.png" height="72" width="72" alt="Microsoft Excel" /></td><td class="column-2">Microsoft Excel; spreadsheet</td><td class="column-3"><img src="https://puri.sm/wp-content/uploads/2014/11/100px-LibreOffice_Calc_icon_3.3.1_48_px.svg_.png" height="72" width="72" alt="LibreOffice Calc" /></td><td class="column-4">LibreOffice Calc; spreadsheet, a direct alternative to Microsoft Excel</td>
</tr>
<tr class="row-5 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/MetroUI-Office-Powerpoint-icon.png" height="72" width="72" alt="Microsoft Powerpoint" /></td><td class="column-2">Microsoft Powerpoint; presentation</td><td class="column-3"><img src="https://puri.sm/wp-content/uploads/2014/11/100px-LibreOffice_Impress_icon_3.3.1_48_px.svg_.png" height="72" width="72" alt="LibreOffice Impress" /></td><td class="column-4">LibreOffice Impress; presentation, a direct alternative to Microsoft Powerpoint</td>
</tr>
<tr class="row-6 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/MetroUI-Office-Access-icon.png" height="72" width="72" alt="Microsoft Access" /></td><td class="column-2">Microsoft Access; graphical database</td><td class="column-3"><img src="https://puri.sm/wp-content/uploads/2014/11/256px-LibreOffice_4.0_Base_Icon.svg_.png" height="72" width="72" alt="LibreOffice Base" /></td><td class="column-4">LibreOffice Base; graphical database, a direct alternative to Microsoft Access</td>
</tr>
<tr class="row-7 odd">
	<td colspan="4" class="column-1"><span style="font-weight: bold; font-size: 2.0em">Email and Calendaring</style></td>
</tr>
<tr class="row-8 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/Microsoft-Outlook-icon.png" height="72" width="72" alt="Microsoft Outlook" /></td><td class="column-2">Microsoft Outlook; email and calendaring</td><td rowspan="3" class="column-3"><img src="https://puri.sm/wp-content/uploads/2014/11/evolution.png" height="72" width="72" alt="Evolution" /></td><td rowspan="3" class="column-4">Evolution; email and calendaring, a direct alternative for Microsoft Outlook, Apple Mac Mail, and Apple Mac iCal.</td>
</tr>
<tr class="row-9 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/Apple-Mail-Icon.png" height="72" width="72" alt="Apple Mac Mail" /></td><td class="column-2">Apple Mac Mail; email</td>
</tr>
<tr class="row-10 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/fechas01.png" height="72" width="72" alt="Apple Mac iCal" /></td><td class="column-2">Apple Mac iCal; calendaring</td>
</tr>
<tr class="row-11 odd">
	<td colspan="4" class="column-1"><span style="font-weight: bold; font-size: 2.0em">Graphics</style></td>
</tr>
<tr class="row-12 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/Photoshop.png" height="72" width="72" alt="Adobe Photoshop" /></td><td class="column-2">Adobe Photoshop; graphics</td><td class="column-3"><img src="https://puri.sm/wp-content/uploads/2014/11/Gimp-3.png" height="72" width="72" alt="GNU Image Manipulation Program (GIMP)" /></td><td class="column-4">Gimp; graphics, a direct alternative to Adobe Photoshop</td>
</tr>
<tr class="row-13 odd">
	<td colspan="4" class="column-1"><span style="font-weight: bold; font-size: 2.0em">Web Browser</style></td>
</tr>
<tr class="row-14 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/MetroUI-Browser-Internet-Explorer-8-icon.png" height="72" width="72" alt="Microsoft IE" /></td><td class="column-2">Microsoft IE; browser</td><td class="column-3"><img src="https://puri.sm/wp-content/uploads/2014/11/firefox_icon.png" height="72" width="72" alt="Mozilla Firefox" /></td><td class="column-4">Mozilla Firefox; browser</td>
</tr>
<tr class="row-15 odd">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/Google_Chrome_icon_2011.png" height="72" width="72" alt="Google Chrome" /></td><td class="column-2">Google Chrome; browser</td><td rowspan="2" class="column-3"><img src="https://puri.sm/wp-content/uploads/2014/11/abrowser.png" height="72" width="72" alt="Abrowser" /></td><td rowspan="2" class="column-4">Abrowser; browser, a firefox derivative with greater privacy controls, a direct replacement for Mozilla Firefox, Microsoft IE, Google Chrome, and Apple Safari</td>
</tr>
<tr class="row-16 even">
	<td class="column-1"><img src="https://puri.sm/wp-content/uploads/2014/11/Safari.png" height="72" width="72" alt="Apple Safari" /></td><td class="column-2">Apple Safari; browser</td>
</tr>
</tbody>
</table>
<!-- #tablepress-8 from cache -->
<p>The post <a rel="nofollow" href="https://puri.sm/posts/alternative-free-and-open-source-software/">Alternative Free and Open Source Software</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>BIOS Freedom Status as of November 2014</title>
		<link>https://puri.sm/posts/bios-freedom-status-nov2014/</link>
		<pubDate>Wed, 12 Nov 2014 21:53:22 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Firmware and BIOS]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[this-should-be-a-page]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=311</guid>
		<description><![CDATA[<p>Steps to free the BIOS: Fuse CPU to allow unsigned BIOS binaries [DONE!] Free the FSP/ME Release a coreboot/libreboot for the Librem 15 The BIOS on the Librem 15 laptop currently uses an Intel binary blob, called FSP. We are working to release this under a free license. The current status of the BIOS freedom [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/bios-freedom-status-nov2014/">BIOS Freedom Status as of November 2014</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Steps to free the BIOS:</h2>
<ol>
<li>Fuse CPU to allow unsigned BIOS binaries [<a title="Liberated CPU" href="https://puri.sm/posts/pioneering-cpu-efforts-to-liberate-laptop-hardware/">DONE!</a>]</li>
<li>Free the FSP/ME</li>
<li>Release a coreboot/libreboot for the Librem 15</li>
</ol>
<p>The BIOS on the Librem 15 laptop currently uses an Intel binary blob, called FSP. We are working to release this under a free license. The current status of the BIOS freedom is kept here.</p>
<h2>Binary Blob Situation</h2>
<p>An Intel laptop design using coreboot/libreboot would need the following blobs freed:</p>
<p><strong>Note: Intel at IDF14 suggested they might be willing to share some of the needed information for this effort.</strong></p>
<ul>
<li>Intel FSP previous known as “Intel Memory Reference Code” composed of several sub-programs (DRAM, PCH, SMC, and USB init)</li>
<li>Microcode updates</li>
<li>Embedded Controller (EC) / System Management Controller (SMC)</li>
<li>Management Engine (ME)</li>
</ul>
<p>Intel is one of the largest semiconductor manufacturers, so they tend to take a slightly different approach for many of their designs. This section details efforts to build an FSF-endorsed laptop around an Intel CPU.</p>
<h2>Intel Initial Chip Selections</h2>
<p>The laptop design will probably involve making the right choices for the following chips as well as others:</p>
<ul>
<li>Intel CPU that does not require microcode updates</li>
<li>Chipset (on Intel it&#8217;s called a Platform Controller Hub), example: &#8220;Intel X99 PCH&#8221;</li>
<li>Embedded Controller</li>
<li>Super I/O</li>
<li>BIOS flash chip (8 Megabytes which is 64 Megabits should be just fine)</li>
</ul>
<h2>Embedded Controller (EC) / System Management Controller</h2>
<ul>
<li class="page" title="Page 2">The EC/SMC controls what happens when the system is powered on and powered off. Example: when the user presses the power button to turn the system on.</li>
<li class="page" title="Page 2">In a laptop, the EC also handles signaling to/from the laptop battery.</li>
<li class="page" title="Page 2">Most of the time the hardware manufacturer who designs the board provides the EC pre-programmed.</li>
<li class="page" title="Page 2">The EC is central to functions like power on/off, suspend, and hibernate – so the hardware manufacturer must provide the necessary information for ACPI tables.</li>
</ul>
<h2>Microcode Updates</h2>
<p>Neither Intel (nor AMD) allow third-party microcode updates. Both manufacturers use a signature to lock their microcode using a private key held only by the manufacturer.</p>
<p>Both make their CPUs with microcode already loaded at manufacture. This may qualify for the FSF endorsement exception since it is non-writable.</p>
<p>Therefore, it may be possible to purchase a CPU with working microcode. Then, no updates would be required. The CPU must be specified in great detail (e.g. a specific model, stepping, and revision is required) – the manufacturer typically adds microcode changes with each revision of the product.</p>
<h2>Intel Firmware Support Package (FSP)</h2>
<p>Intel bundles many blobs into a single package called an FSP. Coreboot/Libreboot can use Intel&#8217;s FSP but coreboot/libreboot does not provide the information on how to separate the FSP into its individual blobs.</p>
<p>Once the FSP has been analyzed, the list of Intel blobs starts to look similar to the list of AMD blobs:</p>
<ul>
<li>Intel memory controller initialization source code is not available. The FSP has x86 binary code for this. Required for boot and FSF endorsement.</li>
<li>XHCI (USB 3) – ignore. Use a blob-free one like the PLX USB 3382.</li>
<li>AHCI (SATA) firmware. Intel Rapid Storage Technology adds a small solid-state drive (SSD) to a larger magnetic hard drive – hidden from the OS. It may be possible to bypass Rapid Storage Technology and initialize the SATA ports without a firmware blob.</li>
</ul>
<h2>Intel Management Engine (ME)</h2>
<p>The Management Engine (ME) blob. It is a 5 Megabyte blob inside the mainboard bios and details about it can be found here: http://me.bios.io/</p>
<p>The FSP binary is just a rework of the older &#8220;MRC&#8221; blob.  The whole reverse engineered MRC blob for sandybridge/ivybridge boards, it is currently available in the coreboot tree as NORTHBRIDGE_SANDYBRIDGE_NATIVE and NORTHBRIDGE_IVYBRIDGE_NATIVE.  However, the ME blob is something completely different and is still required to boot the boards that have MRC reversed engineered on.</p>
<p>The Librem PCH X99 uses it and the board will not boot without the blob. It is far bigger and much more dangerous than the FSP blob. The problem with the Management Engine is deeply rooted: it is a separate microcontroller embedded in the PCH and has a full network software stack, has access to DMA and other nasty things.  The firmware is signed by Intel and verified at each boot by the microcontroller, and if the firmware signature fails to verify correctly, the x86 cpu will not be allowed to boot. The bus clocks are actually configured by the ME firmware.</p>
<p>This would not be an issue if the microcontroller was isolated from the Internet, but it has a full network stack and can read your hard drive and memory which poses serious privacy concerns. Even though the ME is part of the platform and cannot be changed by usual methods like flashing a new firmware, it has poor security because it relies on security by obscurity which will eventually be cracked and the worst kind of rootkits could then run on them.</p>
<p>In an ideal world, we would need to bypass the ME firmware completely and load our own free ARC firmware that can initialize the clocks on the board.  This is nothing to do with FSP.</p>
<p>To make it easier, we could choose a northbridge that has been already ported from MRC to coreboot, such as the sandybridge/ivybridge northbridge.  This way FSP is not needed. But we still can&#8217;t see a way to disable the ME, there are people working on it but it&#8217;s a very very difficult problem to reverse engineer, because it uses RSA-2048 to secure it.</p>
<h2>Intel Notes</h2>
<p>TBD, need the complete list of blobs in the FSP and confirmation on Intel&#8217;s ability to provide proprietary source code.</p>
<p>Intel VGA BIOS – GPU Firmware</p>
<p>Intel integrated graphics is completely open source – no firmware is required.</p>
<p>Intel CPU Selection</p>
<p>Intel CPUs appear to be practically unusable without a microcode update. On the coreboot mailing list (http://www.coreboot.org/pipermail/coreboot/2013-December/076825.html, slightly abbreviated here) Ron Minnich says:</p>
<blockquote><p>In the beginning, we had no microcode in coreboot, per the main goal: let linux do it. We just let Linux do the update. Not our problem. At some point, ca. 2005 or so, we had to let the blobs in because many of the new CPUs are *broken* without the microcode update: the microcode that comes embedded in the CPU must be updated or you&#8217;ll get some real problems, and possibly not even get through firmware.</p>
<p>So, sure, it&#8217;s pure to build without the microcode blob, which means in reality that you&#8217;re deciding to use the microcode blob *already embedded in the CPU*. And, on many new CPUs, the one that comes with the CPU has issues that mean you won&#8217;t get past DRAM init. And, if you do get past DRAM init and boot, you&#8217;ve got a CPU that may have subtle errors and corrupt memory.</p></blockquote>
<p>We may be able to identify a few Intel CPUs that have no microcode updates – never say never, check in detail. However, the best information indicates that Intel does not ship CPUs with fully working microcode.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/bios-freedom-status-nov2014/">BIOS Freedom Status as of November 2014</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Librem 15 rev1 Prototype Certification Results</title>
		<link>https://puri.sm/posts/purism-librem-15-certification-results/</link>
		<pubDate>Fri, 24 Oct 2014 01:31:50 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Advanced readers]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=98</guid>
		<description><![CDATA[<p>After long last, Purism has received the first prototype of our custom built laptop, adhering to the strictness of the Purism hardware requirements specification. Here is the certification play-by-play&#8230; First a photo of motherboard inside the Purism Librem 15 case: Purism is certifying its first prototype motherboard for the Librem 15 laptop. Here we shall [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-15-certification-results/">Purism Librem 15 rev1 Prototype Certification Results</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>After long last, Purism has received the first prototype of our custom built laptop, adhering to the strictness of the Purism hardware requirements specification. Here is the certification play-by-play&#8230;</p>
<p>First a photo of motherboard inside the Purism Librem 15 case:<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-mobo-in-case-e1408406145325.jpg"><img class="alignnone size-full wp-image-142" src="https://puri.sm/wp-content/uploads/2014/08/purism-mobo-in-case-e1408406145325.jpg" alt="purism-mobo-in-case" width="1984" height="1116" /></a></p>
<p>Purism is certifying its first prototype motherboard for the Librem 15 laptop. Here we shall document the steps to test each chipset to meet the requirements set by the Purism <a title="Purism philosophy" href="https://puri.sm/about/social-purpose/" target="_blank" rel="noopener noreferrer">philosophy</a>, the <a title="GNU" href="http://gnu.org/" target="_blank" rel="noopener noreferrer">GNU</a> <a title="Four Essential Freedoms" href="https://www.gnu.org/philosophy/free-sw.html" target="_blank" rel="noopener noreferrer">four essential freedoms</a>, as well as the strictest of the <a href="http://fsf.org/" target="_blank" rel="noopener noreferrer">Free Software Foundation</a> <a title="FSF Hardware Endorsement Requirements" href="https://www.fsf.org/resources/hw/endorsement/criteria" target="_blank" rel="noopener noreferrer">endorsement requirements</a>.</p>
<p>To do this, Purism first booted <a title="gNewSense" href="http://gnewsense.org/" target="_blank" rel="noopener noreferrer">gNewSense</a>, a FSF funded distribution. gNewSense 3 was a bit stale on some Linux kernel modules needed for the video controller, and X used the framebuffer driver, so we upgraded the kernel from <a title="Linux-libre" href="http://www.fsfla.org/ikiwiki/selibre/linux-libre/" target="_blank" rel="noopener noreferrer">Linux-libre</a> <a title="Linux Libre Planet Repository" href="http://www.fsfla.org/ikiwiki/selibre/linux-libre/#repo-planet" target="_blank" rel="noopener noreferrer">planet repository</a>, and picked up the free video driver. gNewSense 3 was excellent for testing the chipset requirements, but some of the packages were a bit too stale, so we chose another popular distribution from the FSF <a title="List of Free GNU/Linux Distributions" href="http://www.gnu.org/distros/free-distros.html" target="_blank" rel="noopener noreferrer">list of approved distributions</a>.</p>
<p><a title="Purism Decides on Trisquel as Base GNU/Linux Distribution" href="https://puri.sm/posts/purism-decides-trisquel-as-base-gnulinux-distribution/" target="_blank" rel="noopener noreferrer">Purism used Trisquel</a> to certify chipsets, as well as it being later selected as the Purism default GNU/Linux distribution.</p>
<p>Here is the summary:<br />

<table id="tablepress-2" class="tablepress tablepress-id-2">
<thead>
<tr class="row-1 odd">
	<th class="column-1">Item Tested</th><th class="column-2">Works with free software</th><th class="column-3">Kernel driver</th><th class="column-4">Kernel module</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
	<td class="column-1">Host bridge</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">n/a</td><td class="column-4">n/a</td>
</tr>
<tr class="row-3 odd">
	<td class="column-1">PCI bridge</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">pcieport</td><td class="column-4">shpchp</td>
</tr>
<tr class="row-4 even">
	<td class="column-1">SATA conroller</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">ahci</td><td class="column-4">ahci</td>
</tr>
<tr class="row-5 odd">
	<td class="column-1">Communication controller</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">mei_me</td><td class="column-4">mei-me</td>
</tr>
<tr class="row-6 even">
	<td class="column-1">ISA Bridge</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">lpc_ich</td><td class="column-4">lpc_ich</td>
</tr>
<tr class="row-7 odd">
	<td class="column-1">Video</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">i915</td><td class="column-4">i915</td>
</tr>
<tr class="row-8 even">
	<td class="column-1">USB</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">xhci_hcd,ehci-pci</td><td class="column-4">n/a</td>
</tr>
<tr class="row-9 odd">
	<td class="column-1">Wireless</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">ath9k</td><td class="column-4">ath9k</td>
</tr>
<tr class="row-10 even">
	<td class="column-1">Ethernet</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">r8169</td><td class="column-4">r8169</td>
</tr>
<tr class="row-11 odd">
	<td class="column-1">Audio</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">snd_hda_intel</td><td class="column-4">snd-hda-intel</td>
</tr>
<tr class="row-12 even">
	<td class="column-1">Headphone</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">snd_hda_intel</td><td class="column-4">snd-hda-intel</td>
</tr>
<tr class="row-13 odd">
	<td class="column-1">Microphone</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">snd_hda_intel</td><td class="column-4">snd-hda-intel</td>
</tr>
<tr class="row-14 even">
	<td class="column-1">Webcam</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">uvcvideo</td><td class="column-4">uvcvideo</td>
</tr>
<tr class="row-15 odd">
	<td class="column-1">HDMI</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">fglrx</td><td class="column-4">fglrx</td>
</tr>
<tr class="row-16 even">
	<td class="column-1">CD/DVD</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">cdrom,gdrom</td><td class="column-4">cdrom,gdrom</td>
</tr>
<tr class="row-17 odd">
	<td class="column-1">SDXC</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">xhci_hcd,ehci-pci</td><td class="column-4">xhci_hcd,ehci-pci</td>
</tr>
<tr class="row-18 even">
	<td class="column-1">SMBus</td><td class="column-2"><strong>Yes</strong></td><td class="column-3">i2c-i801</td><td class="column-4">i2c-i801</td>
</tr>
</tbody>
</table>
<!-- #tablepress-2 from cache --></p>
<h2>LSPCI and LSUSB summary</h2>
<p><strong>lspci</strong></p>
<pre>todd@pure15:~$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM86 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
01:00.0 3D controller: NVIDIA Corporation Device 1341 (rev a2)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
04:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)</pre>
<p><strong>lsusb</strong></p>
<pre>todd@pure15:~$ lsusb
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 003 Device 002: ID 090c:37c0 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Silicon Motion Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub</pre>
<h2>Video</h2>
<pre>todd@pure15:~$ lspci -v -s 00:02
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) (prog-if 00 [VGA controller])
Subsystem: Device 1991:558a
Flags: bus master, fast devsel, latency 0, IRQ 47
Memory at f7400000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
Expansion ROM at [disabled]
Capabilities:
Kernel driver in use: i915
Kernel modules: i915</pre>
<pre>todd@pure15:~$ lspci -v -s 01:00
01:00.0 3D controller: NVIDIA Corporation Device 1341 (rev a2)
Subsystem: Device 1991:558a
Flags: fast devsel, IRQ 16
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at f7000000 [disabled] [size=512K]
Capabilities:
Kernel modules: nouveau, nvidiafb</pre>
<p>Screengrab of display setting showing 1920&#215;1080 resolution<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-video-resolution-screengrab.png"><img class="alignnone size-full wp-image-132" src="https://puri.sm/wp-content/uploads/2014/08/purism-video-resolution-screengrab.png" alt="purism-video-resolution-screengrab" width="751" height="489" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-video-resolution-screengrab.png 751w, https://puri.sm/wp-content/uploads/2014/08/purism-video-resolution-screengrab-300x195.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></a></p>
<h2>USB</h2>
<pre>todd@pure15:~$ lspci -v -s 00:14
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) (prog-if 30 [XHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
Flags: bus master, medium devsel, latency 0, IRQ 44
Memory at f7a00000 (64-bit, non-prefetchable) [size=64K]
Capabilities:
Kernel driver in use: xhci_hcd</pre>
<pre>todd@pure15:~$ lspci -v -s 00:1a
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) (prog-if 20 [EHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at f7a1c000 (32-bit, non-prefetchable) [size=1K]
Capabilities:
Kernel driver in use: ehci-pci</pre>
<pre>todd@pure15:~$ lspci -v -s 00:1d
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) (prog-if 20 [EHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at f7a1b000 (32-bit, non-prefetchable) [size=1K]
Capabilities:
Kernel driver in use: ehci-pci</pre>
<p>Upon plugging in a usb stick dmesg shows:</p>
<pre>[16813.602225] usb 3-1: new high-speed USB device number 7 using xhci_hcd
[16813.620322] usb 3-1: New USB device found, idVendor=1307, idProduct=0165
[16813.620328] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[16813.620332] usb 3-1: Product: mini-USB2BU
[16813.620334] usb 3-1: Manufacturer: USB007
[16813.620336] usb 3-1: SerialNumber: 000000000003C3
[16813.620855] usb-storage 3-1:1.0: USB Mass Storage device detected
[16813.621120] scsi10 : usb-storage 3-1:1.0
[16814.618847] scsi 10:0:0:0: Direct-Access USB007 mini-USB2BU 0.00 PQ: 0 ANSI: 2
[16814.619169] sd 10:0:0:0: Attached scsi generic sg2 type 0
[16814.619587] sd 10:0:0:0: [sdb] 3948544 512-byte logical blocks: (2.02 GB/1.88 GiB)
[16814.620076] sd 10:0:0:0: [sdb] Write Protect is off
[16814.620081] sd 10:0:0:0: [sdb] Mode Sense: 00 00 00 00
[16814.620576] sd 10:0:0:0: [sdb] Asking for cache data failed
[16814.620579] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[16814.623247] sd 10:0:0:0: [sdb] Asking for cache data failed
[16814.623261] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[16814.751399] sdb: sdb1 sdb2
[16814.978436] sd 10:0:0:0: [sdb] Asking for cache data failed
[16814.978441] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[16814.978445] sd 10:0:0:0: [sdb] Attached SCSI removable disk
[16815.224868] ISO 9660 Extensions: Microsoft Joliet Level 3
[16815.225388] ISO 9660 Extensions: RRIP_1991A</pre>
<p>Screengrab of USB stick contents<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-usb-stick-screengrab.png"><img class="alignnone size-full wp-image-131" src="https://puri.sm/wp-content/uploads/2014/08/purism-usb-stick-screengrab.png" alt="purism-usb-stick-screengrab" width="938" height="505" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-usb-stick-screengrab.png 938w, https://puri.sm/wp-content/uploads/2014/08/purism-usb-stick-screengrab-300x161.png 300w" sizes="(max-width: 938px) 100vw, 938px" /></a></p>
<h2>Wireless</h2>
<pre>todd@pure15:~$ lspci -v -s 04:00
04:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)
Subsystem: AzureWave Device 2c97
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at f7800000 (64-bit, non-prefetchable) [size=512K]
Expansion ROM at f7880000 [disabled] [size=64K]
Capabilities:
Kernel driver in use: ath9k
Kernel modules: ath9k</pre>
<p>Screengrab of wireless selection user interface<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-wireless-selection-screengrab.png"><img class="alignnone size-full wp-image-128" src="https://puri.sm/wp-content/uploads/2014/08/purism-wireless-selection-screengrab.png" alt="purism-wireless-selection-screengrab" width="234" height="425" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-wireless-selection-screengrab.png 234w, https://puri.sm/wp-content/uploads/2014/08/purism-wireless-selection-screengrab-165x300.png 165w" sizes="(max-width: 234px) 100vw, 234px" /></a></p>
<h2>Ethernet</h2>
<pre>todd@pure15:~$ lspci -v -s 03:00
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
Flags: bus master, fast devsel, latency 0, IRQ 45
I/O ports at d000 [size=256]
Memory at f7900000 (64-bit, non-prefetchable) [size=4K]
Memory at f2100000 (64-bit, prefetchable) [size=16K]
Capabilities:
Kernel driver in use: r8169
Kernel modules: r8169</pre>
<p>Screengrab of wired connection selection<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-wired-connection-screengrab.png"><img class="alignnone size-full wp-image-129" src="https://puri.sm/wp-content/uploads/2014/08/purism-wired-connection-screengrab.png" alt="purism-wired-connection-screengrab" width="416" height="332" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-wired-connection-screengrab.png 416w, https://puri.sm/wp-content/uploads/2014/08/purism-wired-connection-screengrab-300x239.png 300w" sizes="(max-width: 416px) 100vw, 416px" /></a></p>
<h2>Audio</h2>
<pre>todd@pure15:~$ lspci -v -s 00:03
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
Flags: bus master, fast devsel, latency 0, IRQ 50
Memory at f7a14000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel</pre>
<pre>todd@pure15:~$ lspci -v -s 00:1b
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
Subsystem: Device 1991:0269
Flags: bus master, fast devsel, latency 0, IRQ 49
Memory at f7a10000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel</pre>
<p>Screengrab of audio playback from Rhythmbox<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-audio-screengrab.png"><img class="alignnone size-full wp-image-126" src="https://puri.sm/wp-content/uploads/2014/08/purism-audio-screengrab.png" alt="purism-audio-screengrab" width="792" height="592" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-audio-screengrab.png 792w, https://puri.sm/wp-content/uploads/2014/08/purism-audio-screengrab-300x224.png 300w" sizes="(max-width: 792px) 100vw, 792px" /></a></p>
<h2>Headphone</h2>
<p>Screengrab of sound recorder showing headphone hardware jacked:<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-headphone-screengrab.png"><img class="alignnone size-full wp-image-125" src="https://puri.sm/wp-content/uploads/2014/08/purism-headphone-screengrab.png" alt="purism-headphone-screengrab" width="742" height="561" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-headphone-screengrab.png 742w, https://puri.sm/wp-content/uploads/2014/08/purism-headphone-screengrab-300x226.png 300w" sizes="(max-width: 742px) 100vw, 742px" /></a><br />
(microphone from headphone jack also works)</p>
<h2>Microphone</h2>
<p>Screengrab of sound recorder showing input levels:<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-microphone-screengrab.png"><img class="alignnone size-full wp-image-121" src="https://puri.sm/wp-content/uploads/2014/08/purism-microphone-screengrab.png" alt="purism-microphone-screengrab" width="514" height="318" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-microphone-screengrab.png 514w, https://puri.sm/wp-content/uploads/2014/08/purism-microphone-screengrab-300x185.png 300w" sizes="(max-width: 514px) 100vw, 514px" /></a></p>
<p>Screengrab of audio settings:<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-microphone-settings-screengrab.png"><img class="alignnone size-full wp-image-122" src="https://puri.sm/wp-content/uploads/2014/08/purism-microphone-settings-screengrab.png" alt="purism-microphone-settings-screengrab" width="742" height="561" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-microphone-settings-screengrab.png 742w, https://puri.sm/wp-content/uploads/2014/08/purism-microphone-settings-screengrab-300x226.png 300w" sizes="(max-width: 742px) 100vw, 742px" /></a><br />
(microphone from headphone jack also works)</p>
<h2>Webcam</h2>
<p>lsusb -v snipped to relevant chipset details</p>
<pre>Bus 003 Device 002: ID 090c:37c0 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Silicon Motion Camera
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x090c Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)
idProduct 0x37c0 Silicon Motion Camera
bcdDevice 3.13
iManufacturer 0
iProduct 2
iSerial 0
bNumConfigurations 1
...
</pre>
<p>lsusb showing uvc support</p>
<pre>todd@pure15:~$ lsusb -v -s 003:002|grep "14 Video"
Couldn't open device, some information will be missing
bFunctionClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
todd@pure15:~$
</pre>
<p>Screengrab of webcam application &#8216;Cheese Webcam Booth&#8217;<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-webcam-screengrab.png"><img class="alignnone size-full wp-image-120" src="https://puri.sm/wp-content/uploads/2014/08/purism-webcam-screengrab.png" alt="purism-webcam-screengrab" width="577" height="523" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-webcam-screengrab.png 577w, https://puri.sm/wp-content/uploads/2014/08/purism-webcam-screengrab-300x271.png 300w" sizes="(max-width: 577px) 100vw, 577px" /></a></p>
<h2>HDMI</h2>
<p>HDMI works via hardware, and is hot swappable.</p>
<p>Screengrab of HDMI audio output from sound settings<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-hdmi-audio-output-screengrab.png"><img class="alignnone size-full wp-image-123" src="https://puri.sm/wp-content/uploads/2014/08/purism-hdmi-audio-output-screengrab.png" alt="purism-hdmi-audio-output-screengrab" width="751" height="561" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-hdmi-audio-output-screengrab.png 751w, https://puri.sm/wp-content/uploads/2014/08/purism-hdmi-audio-output-screengrab-300x224.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></a></p>
<h2>CD/DVD</h2>
<p>Upon CD/DVD insert dmesg shows:</p>
<pre>[11597.003947] UDF-fs: INFO Mounting volume 'DEFAULTNTSC_SCN', timestamp 2006/06/06 16:18 (1e5c)
</pre>
<p>Screengrab of autodetect option:<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-cd-dvd-screengrab.png"><img class="alignnone size-full wp-image-118" src="https://puri.sm/wp-content/uploads/2014/08/purism-cd-dvd-screengrab.png" alt="purism-cd-dvd-screengrab" width="642" height="289" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-cd-dvd-screengrab.png 642w, https://puri.sm/wp-content/uploads/2014/08/purism-cd-dvd-screengrab-300x135.png 300w" sizes="(max-width: 642px) 100vw, 642px" /></a></p>
<h2>SD-MMC</h2>
<p>Upon SD-MMC card insert dmesg shows:</p>
<pre>[11123.712428] usb 3-6: new high-speed USB device number 6 using xhci_hcd
[11123.990756] usb 3-6: New USB device found, idVendor=0bda, idProduct=0138
[11123.990762] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[11123.990765] usb 3-6: Product: USB2.0-CRW
[11123.990767] usb 3-6: Manufacturer: Generic
[11123.990770] usb 3-6: SerialNumber: 20090516388200000
[11123.996576] ums-realtek 3-6:1.0: USB Mass Storage device detected
[11124.011895] scsi9 : usb-storage 3-6:1.0
[11125.010791] scsi 9:0:0:0: Direct-Access Generic- Multi-Card 1.00 PQ: 0 ANSI: 0 CCS
[11125.011428] sd 9:0:0:0: Attached scsi generic sg2 type 0
[11125.922660] sd 9:0:0:0: [sdb] 31383552 512-byte logical blocks: (16.0 GB/14.9 GiB)
[11125.922942] sd 9:0:0:0: [sdb] Write Protect is off
[11125.922945] sd 9:0:0:0: [sdb] Mode Sense: 03 00 00 00
[11125.923230] sd 9:0:0:0: [sdb] No Caching mode page found
[11125.923234] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[11125.924805] sd 9:0:0:0: [sdb] No Caching mode page found
[11125.924808] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[11125.926090] sdb: sdb1
[11125.927474] sd 9:0:0:0: [sdb] No Caching mode page found
[11125.927476] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[11125.927478] sd 9:0:0:0: [sdb] Attached SCSI removable disk</pre>
<p>Screengrab of autodetect option:<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-sd-mmc-screengrab.png"><img class="alignnone size-full wp-image-116" src="https://puri.sm/wp-content/uploads/2014/08/purism-sd-mmc-screengrab.png" alt="purism-sd-mmc-screengrab" width="642" height="305" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-sd-mmc-screengrab.png 642w, https://puri.sm/wp-content/uploads/2014/08/purism-sd-mmc-screengrab-300x142.png 300w" sizes="(max-width: 642px) 100vw, 642px" /></a></p>
<h3>cpuinfo</h3>
<pre>todd@pure15:~$ egrep "processor|vendor_id|model|MHz|^$" /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000</pre>
<pre>processor : 1
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000</pre>
<pre>processor : 2
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000</pre>
<pre>processor : 3
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000</pre>
<pre>processor : 4
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000</pre>
<pre>processor : 5
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000</pre>
<pre>processor : 6
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000</pre>
<pre>processor : 7
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000</pre>
<p>3D Acceleration from Intel i915, nouveau</p>
<pre>root@pure15:~# lspci -k -s 01:00
01:00.0 3D controller: NVIDIA Corporation Device 1341 (rev a2)
Subsystem: Device 1991:558a
Kernel modules: nouveau, nvidiafb</pre>
<p>gtkperf<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-gtkperf.png"><img class="alignnone size-full wp-image-180" src="https://puri.sm/wp-content/uploads/2014/08/purism-gtkperf.png" alt="purism-gtkperf" width="523" height="375" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-gtkperf.png 523w, https://puri.sm/wp-content/uploads/2014/08/purism-gtkperf-300x215.png 300w" sizes="(max-width: 523px) 100vw, 523px" /></a></p>
<p>glxgears<br />
<a href="https://puri.sm/wp-content/uploads/2014/08/purism-glxgears.png"><img class="alignnone size-full wp-image-181" src="https://puri.sm/wp-content/uploads/2014/08/purism-glxgears.png" alt="purism-glxgears" width="577" height="411" srcset="https://puri.sm/wp-content/uploads/2014/08/purism-glxgears.png 577w, https://puri.sm/wp-content/uploads/2014/08/purism-glxgears-300x213.png 300w" sizes="(max-width: 577px) 100vw, 577px" /></a></p>
<h3>lspci -v</h3>
<p>Showing kernel drivers/modules:</p>
<pre>todd@pure15:~$ lspci -v

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller
Flags: bus master, fast devsel, latency 0
Capabilities:

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000e000-0000efff
Memory behind bridge: f6000000-f70fffff
Prefetchable memory behind bridge: 00000000e0000000-00000000f1ffffff
Capabilities:
Kernel driver in use: pcieport
Kernel modules: shpchp

00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) (prog-if 00 [VGA controller])
Subsystem: Device 1991:558a
Flags: bus master, fast devsel, latency 0, IRQ 47
Memory at f7400000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
Expansion ROM at [disabled]
Capabilities:
Kernel driver in use: i915
Kernel modules: i915

00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
Flags: bus master, fast devsel, latency 0, IRQ 50
Memory at f7a14000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) (prog-if 30 [XHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
Flags: bus master, medium devsel, latency 0, IRQ 44
Memory at f7a00000 (64-bit, non-prefetchable) [size=64K]
Capabilities:
Kernel driver in use: xhci_hcd

00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at f7a1e000 (64-bit, non-prefetchable) [size=16]
Capabilities:
Kernel driver in use: mei_me
Kernel modules: mei-me

00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) (prog-if 20 [EHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at f7a1c000 (32-bit, non-prefetchable) [size=1K]
Capabilities:
Kernel driver in use: ehci-pci

00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
Subsystem: Device 1991:0269
Flags: bus master, fast devsel, latency 0, IRQ 49
Memory at f7a10000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
Capabilities:
Kernel driver in use: pcieport
Kernel modules: shpchp

00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: f7900000-f79fffff
Prefetchable memory behind bridge: 00000000f2100000-00000000f21fffff
Capabilities:
Kernel driver in use: pcieport
Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
Memory behind bridge: f7800000-f78fffff
Capabilities:
Kernel driver in use: pcieport
Kernel modules: shpchp

00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) (prog-if 20 [EHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at f7a1b000 (32-bit, non-prefetchable) [size=1K]
Capabilities:
Kernel driver in use: ehci-pci

00:1f.0 ISA bridge: Intel Corporation HM86 Express LPC Controller (rev 05)
Subsystem: Intel Corporation HM86 Express LPC Controller
Flags: bus master, medium devsel, latency 0
Capabilities:
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich

00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05) (prog-if 01 [AHCI 1.0])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 46
I/O ports at f0b0 [size=8]
I/O ports at f0a0 [size=4]
I/O ports at f090 [size=8]
I/O ports at f080 [size=4]
I/O ports at f060 [size=32]
Memory at f7a1a000 (32-bit, non-prefetchable) [size=2K]
Capabilities:
Kernel driver in use: ahci
Kernel modules: ahci

00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller
Flags: medium devsel, IRQ 3
Memory at f7a19000 (64-bit, non-prefetchable) [size=256]
I/O ports at f040 [size=32]
Kernel modules: i2c-i801

01:00.0 3D controller: NVIDIA Corporation Device 1341 (rev a2)
Subsystem: Device 1991:558a
Flags: fast devsel, IRQ 16
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at f7000000 [disabled] [size=512K]
Capabilities:
Kernel modules: nouveau, nvidiafb

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
Flags: bus master, fast devsel, latency 0, IRQ 45
I/O ports at d000 [size=256]
Memory at f7900000 (64-bit, non-prefetchable) [size=4K]
Memory at f2100000 (64-bit, prefetchable) [size=16K]
Capabilities:
Kernel driver in use: r8169
Kernel modules: r8169

04:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)
Subsystem: AzureWave Device 2c97
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at f7800000 (64-bit, non-prefetchable) [size=512K]
Expansion ROM at f7880000 [disabled] [size=64K]
Capabilities:
Kernel driver in use: ath9k
Kernel modules: ath9k</pre>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-librem-15-certification-results/">Purism Librem 15 rev1 Prototype Certification Results</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Decides on Trisquel as Base GNU/Linux Distribution</title>
		<link>https://puri.sm/posts/purism-decides-trisquel-as-base-gnulinux-distribution/</link>
		<pubDate>Mon, 18 Aug 2014 18:28:52 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Laptops]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=100</guid>
		<description><![CDATA[<p>UPDATED: Purism is using Debian GNU/Linux main to create PureOS. The rest below is for historic purposes. Purism has decided on Trisquel as its base GNU/Linux distribution, primarily since Trisquel refuses to include nonfree firmware, but Trisquel goes beyond just that, Trisquel also supports a strict philosophy of only including free software as well as [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-decides-trisquel-as-base-gnulinux-distribution/">Purism Decides on Trisquel as Base GNU/Linux Distribution</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><strong>UPDATED:</strong> Purism is using Debian GNU/Linux main to create <a href="https://pureos.net/">PureOS</a>. The rest below is for historic purposes.</p>
<hr class="ttfmake-hr" style="border-style: solid; border-top-width: 1px;" />
<p>Purism has decided on <a title="Trisquel" href="http://trisquel.info/" target="_blank">Trisquel</a> as its base GNU/Linux distribution, primarily since Trisquel refuses to include nonfree firmware, but Trisquel goes beyond just that, Trisquel also supports a strict philosophy of only including free software as well as promoting other freedom ensuring software.</p>
<p>From Trisquel&#8217;s website</p>
<blockquote><p><strong><a title="Why should I use Trisquel instead of one of the better-known distributions?" href="http://trisquel.info/en/faq#n3180" target="_blank">Why should I use Trisquel instead of one of the better-known distributions?</a></strong></p>
<p>There are literally hundreds of GNU/Linux distributions designed to fill every conceivable niche. Only a handful of them are entirely free software; Trisquel is one such distribution. That&#8217;s why Trisquel is <a title="Trisquel FSF endorsement" href="http://www.gnu.org/distros/free-distros.html" target="_blank">endorsed</a> by Richard Stallman and the <a title="FSF" href="http://fsf.org/" target="_blank">Free Software Foundation</a>.</p>
<p><strong><a title="Does Trisquel include proprietary software?" href="http://trisquel.info/en/faq#n1856" target="_blank">Does Trisquel include proprietary software?</a></strong><br />
No, none whatsoever.</p></blockquote>
<p>Purism is very pleased with the decision of Trisquel as its base GNU/Linux distribution.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-decides-trisquel-as-base-gnulinux-distribution/">Purism Decides on Trisquel as Base GNU/Linux Distribution</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Purism Decides on Wireless Qualcomm Atheros 802.11n over 802.11ac</title>
		<link>https://puri.sm/posts/purism-decides-qualcomm-atheros-802-11n/</link>
		<pubDate>Fri, 09 May 2014 17:30:16 +0000</pubDate>
		<dc:creator><![CDATA[Todd Weaver]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Chipsets and components]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Wireless and networking]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=30</guid>
		<description><![CDATA[<p>Purism decided on Qualcomm Atheros chips, primarily since they use free and open source firmware, and have supported the community by writing free software drivers released under the ISC license. Wikipedia shows comparisons: http://en.wikipedia.org/wiki/Comparison_of_open-source_wireless_drivers#Linux_drivers_for_802.11_.22wireless.22 The Linux kernel shows support: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/ath 802.11n supported in ath9k with free software: http://wireless.kernel.org/en/users/Drivers/ath9k 802.11ac supported in ath10k requiring a nonfree [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-decides-qualcomm-atheros-802-11n/">Purism Decides on Wireless Qualcomm Atheros 802.11n over 802.11ac</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Purism decided on Qualcomm Atheros chips, primarily since they use free and open source firmware, and have <a title="Atheros Community Support" href="http://en.wikipedia.org/wiki/Qualcomm_Atheros#Free_and_open-source_software_support" target="_blank">supported the community</a> by writing free software drivers released under the ISC license.</p>
<ul>
<li>Wikipedia shows comparisons: <a title="Comparison of open-source wireless drivers" href="http://en.wikipedia.org/wiki/Comparison_of_open-source_wireless_drivers#Linux_drivers_for_802.11_.22wireless.22" target="_blank">http://en.wikipedia.org/wiki/Comparison_of_open-source_wireless_drivers#Linux_drivers_for_802.11_.22wireless.22</a></li>
<li>The Linux kernel shows support: <a title="Atheros Wireless Network" href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/ath" target="_blank">https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/ath</a></li>
<li>802.11n supported in ath9k with free software: <a title="Atheros ath9k" href="http://wireless.kernel.org/en/users/Drivers/ath9k" target="_blank">http://wireless.kernel.org/en/users/Drivers/ath9k</a></li>
<li>802.11ac supported in ath10k requiring a nonfree firmware blob (YUCK): <a title="Atheros ath10k" href="http://wireless.kernel.org/en/users/Drivers/ath10k" target="_blank">http://wireless.kernel.org/en/users/Drivers/ath10k</a></li>
</ul>
<p>Purism, strictly sticking to its <a title="Purism Philosophy" href="https://puri.sm/about/social-purpose/" target="_blank">philosophy</a> would only include the ath9k supported chipsets, and will work with the ath10k developers to create a free software driver to replace the nonfree firmware blob within the ath10k driver.</p>
<ul>
<li>NGFF (M.2) uses: Atheros QCNFA222 NGFF 802.11a/b/g/n 2.4GHz/5GHz</li>
<li>Half-Height MiniPCIE uses: Atheros AR9845 802.11a/b/g/n 2.4GHz/5GHz</li>
</ul>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/purism-decides-qualcomm-atheros-802-11n/">Purism Decides on Wireless Qualcomm Atheros 802.11n over 802.11ac</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
