{"id":26686,"date":"2016-09-14T08:53:20","date_gmt":"2016-09-14T06:53:20","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=26686"},"modified":"2016-09-14T08:53:21","modified_gmt":"2016-09-14T06:53:21","slug":"how-google-uses-and-contributes-to-open-source","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/09\/14\/how-google-uses-and-contributes-to-open-source\/","title":{"rendered":"How Google Uses and Contributes to Open Source"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Here is a good Open Source story &#8211; &#8220;<a href=\"https:\/\/www.linux.com\/news\/how-google-uses-and-contributes-open-source\">How Google Uses and Contributes to Open Source<\/a>&#8220;, which goes into some detail and history of how Google is working with Open Source community.<\/p>\n<p>I&#8217;ve seen this before:<\/p>\n<blockquote><p>\u201cThere are companies and people who just take the software and say, \u201cI didn&#8217;t have to pay for it. I can do anything I want. The license file is a big blob of text. I&#8217;m not going to read that,&#8221; Merlin said.<\/p><\/blockquote>\n<p>And I&#8217;ve this (quite a few times actually):<\/p>\n<blockquote><p>Back in its early days, around 1998, Google was a small company. It was using open source just like any other small company. While Google was abiding by licences, they were not giving back much due to several reasons. \u201cSome of it was just run fast and make sure that we have money next month to pay everyone&#8217;s salary,\u201d said Merlin.<\/p><\/blockquote>\n<p>Having been involved in open sourcing companies&#8217; projects new and old, this is what I firmly believe now is the best strategy:<\/p>\n<blockquote><p><strong>Go open source from the beginning<\/strong><\/p>\n<p>Google changed that by writing a lot of things from the ground up as open source or to be open source ready. That was a good lesson that they learned, and that\u2019s a problem many companies face when they want to open source their stuff but can\u2019t because the code was not designed to be open source from the beginning.<\/p><\/blockquote>\n<p>This, I think, is an interesting approach too (if \u00a0you are too small of a company to have research papers and algorithms, consider blog posts, tips and tweaks, case studies, and the like):<\/p>\n<blockquote><p>Even if Google can\u2019t open source certain code, they found a way to bring that work to the public. \u201cWe wrote papers talking about the magic algorithm that we used. We can&#8217;t give you the code for the reason I just explained, but we&#8217;re giving you the way they work so you can rewrite them,\u201d said Merlin. Google has published hundreds of such papers and people are using it to create projects based on those ideas.<\/p><\/blockquote>\n<p>This bit on Android is mind blowing:<\/p>\n<blockquote><p>Now virtually all of Google\u2019s open source code is on GitHub, except for Android. \u201cThe Android distribution is so big and it gets released in big chunks. So, when it gets released, everyone wants to sync that,\u201d Merlin said. \u201cIt\u2019s so huge that if we put it on GitHub, it would completely kill GitHub. We use our own mirrors for that, to help out.\u201d<\/p><\/blockquote>\n<p>A word of caution for the companies using Open Source software:<\/p>\n<blockquote><p>Companies have to be extremely careful when using open source. Different projects use different licenses, and you need to be in compliance with them.<\/p>\n<p>[&#8230;]<\/p>\n<p>Things become complicated when you have projects that you ship. In the case of open source, you need to list the projects that you use and their licenses. In the case of BSD and MIT, you need to list the name and the copyright of the person you got that project from.<\/p><\/blockquote>\n<p>You&#8217;ll probably need a set of tools to deal with issues like this. \u00a0For PHP-based projects, <a href=\"https:\/\/getcomposer.org\/\">composer<\/a> is indispensable. \u00a0You can run &#8220;<em>composer licenses&#8221;<\/em> command and instantly get information about the project&#8217;s license, as well as licenses for each and every dependency in use (thanks to <a href=\"http:\/\/theprogrammer.co.za\/wp\/2014\/07\/23\/php-composer-check-licenses-packages-using-project\/\">this blog post<\/a>).<\/p>\n<p>There is a good section on Contributor License Agreements (CLAs). \u00a0I am slightly familiar with the subject (I signed a few myself), but my experience is limited, especially from the company perspective. \u00a0I found this part useful, for that distant time when I&#8217;ll need to set it up:<\/p>\n<blockquote><p>Google uses the Apache foundation ICLA, without modifying it or putting anything special in it. CLAs ensure that companies like Google \u201ccan re-license your code under a different open source (license) if we need to. Sometimes we need to merge with other projects and that&#8217;s what the CLA allows us to do,\u201d said Merlin.<\/p><\/blockquote>\n<p>These are just bits and pieces which I found interesting. \u00a0I wish more companies shared their practices and experiences &#8211; in particular those larger businesses, with\u00a0years of history and a wide variety of challenges.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Here is a good Open Source story &#8211; &#8220;How Google Uses and Contributes to Open Source&#8220;, which goes into some detail and history of how Google is working with Open Source community. I&#8217;ve seen this before: \u201cThere are companies and people who just take the software and say, \u201cI didn&#8217;t have to pay for it. &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/09\/14\/how-google-uses-and-contributes-to-open-source\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How Google Uses and Contributes to Open Source<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"How Google Uses and Contributes to Open Source #Google #OpenSource #GPL #law","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,62],"tags":[2068,559,577,3153,2912],"keyring_services":[],"class_list":["post-26686","post","type-post","status-publish","format-standard","hentry","category-general","category-technology","tag-google","tag-gpl","tag-law","tag-licences","tag-open-source"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":27471,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/29\/google-open-source-website\/","url_meta":{"origin":26686,"position":0},"title":"Google Open Source Website","author":"Leonid Mamchenkov","date":"March 29, 2017","format":false,"excerpt":"Google announced its new Open Source website: Today, we\u2019re launching opensource.google.com, a new website for Google Open Source that ties together all of our initiatives with information on how we use, release, and support open source. This new site showcases the breadth and depth of our love for open source.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/03\/google-open-source-500x195.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":10872,"url":"https:\/\/mamchenkov.net\/wordpress\/2007\/10\/30\/the-future-of-sql\/","url_meta":{"origin":26686,"position":1},"title":"The future of SQL","author":"Leonid Mamchenkov","date":"October 30, 2007","format":false,"excerpt":"Slashdot lets us know that Google contributes code to MySQL.\u00c2\u00a0 Among the comments to that post, there is this one, which is while being rather funny holds some truth to it: They need to add a GOOGLE function to allow queries to be searched nicer. SELECT * FROM articles WHERE\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":13386,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/09\/14\/urchin-google-analytics-in-a-box\/","url_meta":{"origin":26686,"position":2},"title":"Urchin &#8211; Google Analytics in a box","author":"Leonid Mamchenkov","date":"September 14, 2010","format":false,"excerpt":"Google Analytics has proven itself over and over again as an extremely valuable tool for pretty much everyone interested in website statistics. \u00a0But as awesome as it is, Google Analytics has a number of limitations. \u00a0These don't come handy when you need to analyze non-public websites, such as intranets or\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2010\/09\/urchin_7-500x351.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":23172,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/12\/18\/why-google-changes-your-titles-in-search-results\/","url_meta":{"origin":26686,"position":3},"title":"Why Google Changes Your Titles in Search Results","author":"Leonid Mamchenkov","date":"December 18, 2014","format":"link","excerpt":"Until now (in fact, even yesterday) \u00a0I was telling people that Google uses the HTML <title> tag of the given page when displaying search results. \u00a0Turns out, this is not always true.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12160,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/02\/18\/how-accurate-is-google-analytics\/","url_meta":{"origin":26686,"position":4},"title":"How accurate is Google Analytics?","author":"Leonid Mamchenkov","date":"February 18, 2010","format":false,"excerpt":"That's the question that I was asked recently by one of the co-workers. \u00a0 It is simple and not so simple at the same time. \u00a0It really depends on what you are looking for, what is the acceptable accuracy, and what is that you are comparing Google Analytics with. For\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24056,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/05\/06\/its-official-google-says-more-searches-now-on-mobile-than-on-desktop\/","url_meta":{"origin":26686,"position":5},"title":"It\u2019s Official: Google Says More Searches Now On Mobile Than On Desktop","author":"Leonid Mamchenkov","date":"May 6, 2015","format":false,"excerpt":"Search Engine Land reports: Last year we heard informal statements from several Google employees that mobile search queries would probably overtake desktop queries some time this year. Google just confirmed this has now happened. The company says that \u201cmore Google searches take place on mobile devices than on computers in\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=26686"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26686\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=26686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=26686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=26686"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=26686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}