{"id":3137,"date":"2015-12-06T08:04:22","date_gmt":"2015-12-06T13:04:22","guid":{"rendered":"http:\/\/www.bytebot.net\/blog\/?p=3137"},"modified":"2015-12-06T08:04:22","modified_gmt":"2015-12-06T13:04:22","slug":"learnings-from-swift-becoming-opensource","status":"publish","type":"post","link":"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource","title":{"rendered":"Learnings from Swift becoming opensource"},"content":{"rendered":"<p><a href=\"https:\/\/swift.org\/\">Swift<\/a> is now <a href=\"https:\/\/developer.apple.com\/swift\/blog\/?id=34\">opensource<\/a>, and it&#8217;s interesting to see Craig Federighi <a href=\"http:\/\/arstechnica.com\/apple\/2015\/12\/craig-federighi-talks-open-source-swift-and-whats-coming-in-version-3-0\/\">talk about it<\/a>. This is Apple doing right, considering FaceTime is <a href=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/11\/29\/facetime-long-overdue-to-be-an-open-standard\">long overdue<\/a> to being an open standard. People are nitpicking on Apple\u2019s Open Source <a href=\"https:\/\/developer.apple.com\/opensource\/\">tagline<\/a>, but really, this is akin to nitpicking on Mark Zuckerberg donating 99% of his Facebook stock to his new limited liability corporation charity (key: don\u2019t look a gift horse in the mouth).<\/p>\n<p>Apple has chosen to put <a href=\"https:\/\/github.com\/apple\/swift\/\">Swift<\/a> on Github, and they\u2019ve ensured that it wasn\u2019t just an initial commit, but you\u2019re seeing a lot of history. And it\u2019s the right choice clearly, for engagement \u2013 1,275 watching, 18,884 stars, 2,139 forks, 51 pull requests currently, but most interestingly a lot of accepted code. Even simple things along the lines of \u201cfixing typos\u201d (see <a href=\"https:\/\/github.com\/apple\/swift\/commits\/master\">commits<\/a>, eg.\u00a0<a href=\"https:\/\/github.com\/apple\/swift\/commit\/d029f7e5ae84cf8f6c12907f9ed0ac0a694881aa\">d029f7e5ae84cf8f6c12907f9ed0ac0a694881aa<\/a>, <a href=\"https:\/\/github.com\/apple\/swift\/commit\/e8b06575d26a684f415af95143ec576a6aa5168d\">e8b06575d26a684f415af95143ec576a6aa5168d<\/a>, etc.).\u00a0<\/p>\n<p>Swift has open source <a href=\"https:\/\/github.com\/apple\/swift\/tree\/master\/docs\">documentation<\/a> \u2013 like all good open source projects are supposed to have. They use <a href=\"http:\/\/sphinx-doc.org\/\">Sphinx<\/a>\u00a0and its in the source tree. This is something I\u2019d wish to see from MySQL (docs copyright Oracle, <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.7\/en\/\">online<\/a>, but you can take it offline too via PDF) or MariaDB (friendly licensed <a href=\"https:\/\/mariadb.com\/kb\/en\/\">Knowledge Base<\/a>), but so far only Percona Server has gotten this <a href=\"https:\/\/github.com\/percona\/percona-server\/tree\/5.6\/doc\/source\">right<\/a>.<\/p>\n<p>What else did Swift do right? Focus on user contributions \u2013 the <a href=\"https:\/\/swift.org\/contributing\">Contributing<\/a> page is a breath of fresh air. And don\u2019t forget the <a href=\"https:\/\/swift.org\/community\/#code-of-conduct\">code of conduct<\/a> for participating in the project.<\/p>\n<p>But besides just the documentation and contribution pages, I learned something new from one <a href=\"https:\/\/github.com\/apple\/swift\/commit\/f4c341275b103a6baf7aa8d31c199a05b3d3b0bc\">commit<\/a> in particular \u2013 the existence of <a href=\"https:\/\/www.gnu.org\/software\/coreutils\/manual\/html_node\/nproc-invocation.html\"><tt>nproc<\/tt><\/a>, part of <tt>coreutils<\/tt>. I immediately hopped onto IRC to chat with <a href=\"https:\/\/twitter.com\/nirbhay_c\">Nirbhay<\/a> (our resident\u00a0MariaDB Galera Cluster expert), because in <tt>scripts\/wsrep_sst_xtrabackup.sh<\/tt>, we do this via a <tt>get_proc()<\/tt> function. We should be focusing on modernising\/standardising our codebase, shouldn\u2019t we?<\/p>\n<p>There is a lot we at\u00a0<a href=\"https:\/\/mariadb.com\/\">MariaDB Corporation<\/a> and the\u00a0<a href=\"https:\/\/mariadb.org\/\">MariaDB Foundation<\/a> can learn from Swift being opensource and how Apple deals with the community at large. Here\u2019s hoping we get the best practices from it and implement it in due time.<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BShared%20Post%5D%20Learnings%20from%20Swift%20becoming%20opensource&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2015%2F12%2F06%2Flearnings-from-swift-becoming-opensource&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"293030af41\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-3137\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-3137\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-3137\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Swift is now opensource, and it&#8217;s interesting to see Craig Federighi talk about it. This is Apple doing right, considering FaceTime is long overdue to being an open standard. People are nitpicking on Apple\u2019s Open Source tagline, but really, this is akin to nitpicking on Mark Zuckerberg donating 99% of his Facebook stock to his [&hellip;]<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BShared%20Post%5D%20Learnings%20from%20Swift%20becoming%20opensource&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2015%2F12%2F06%2Flearnings-from-swift-becoming-opensource&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"293030af41\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-3137\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-3137\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-3137\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2015\/12\/06\/learnings-from-swift-becoming-opensource?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_options":[]},"categories":[1064,23,1503],"tags":[147,1052,1775,1774,283,1376,1773],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4vJD-OB","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2731,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2013\/06\/01\/immediate-thoughts-on-business-source-licensing","url_meta":{"origin":3137,"position":0},"title":"Immediate thoughts on Business Source Licensing","date":"1\/6\/2013","format":false,"excerpt":"I just got back from a vacation to see articles about Business Source Licensing. I've divided my thoughts into four parts here: Opensource and its merits, Is unpaid opensource usage bad?, MariaDB's \"Problem\", Business Source Licensing. If you haven't read them yet, here's some mandatory reading: Open source: Its true\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/farm4.staticflickr.com\/3744\/8860331392_29c6cd57ec_n.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2699,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2013\/04\/23\/biggest-mysql-related-news-in-the-last-24-hours","url_meta":{"origin":3137,"position":1},"title":"Biggest MySQL related news in the last 24 hours","date":"23\/4\/2013","format":false,"excerpt":"For me, the biggest news in the last 24 hours so far has been: SkySQL merges with Monty Program, developers of MariaDB. This of course affects me directly and leads to a change in affiliation in a few months. TokuDB goes opensource. I think this is really big news. Beyond\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2814,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2013\/10\/15\/mariadb-now-in-the-aws-marketplace","url_meta":{"origin":3137,"position":2},"title":"MariaDB now in the AWS Marketplace","date":"15\/10\/2013","format":false,"excerpt":"Saw this on @awsmarketplace the other day: #opensource #MariaDB by @SkySQL on @AWSMarketplace http:\/\/t.co\/o3KQ9xe9sr #mysql\u2014 AWS Marketplace (@awsmarketplace) October 8, 2013 Now on the AWS Marketplace, you can get MariaDB 5.5.32 on Ubuntu 12.04, CentOS 6 and Debian Wheezy. These are eligible for the Amazon free tier as well. Would\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2985,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2014\/11\/03\/osquery-is-neat","url_meta":{"origin":3137,"position":3},"title":"osquery is neat","date":"3\/11\/2014","format":false,"excerpt":"Facebook recently made opensource, osquery. It gives you operating system data via SQL queries! Its very neat, and you can test this even on MacOSX (it works on that platform & Linux). It is by far the project with the most advanced functionality, linked here in this post. I noticed\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2739,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2013\/06\/07\/mariadb-in-red-hat-software-collections","url_meta":{"origin":3137,"position":4},"title":"MariaDB in Red Hat Software Collections","date":"7\/6\/2013","format":false,"excerpt":"Towards the end of last year, I was asked to investigate the Red Hat Software Collections by someone that popped by one of my talks. SkySQL has been working heavily with Red Hat, and with Fedora 19 shipping MariaDB as a default, it seems like MariaDB is getting even more\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2106,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2011\/03\/03\/going-to-lisbon-portugal","url_meta":{"origin":3137,"position":5},"title":"Going to Lisbon, Portugal","date":"3\/3\/2011","format":false,"excerpt":"I'm headed to Lisbon, Portugal for the week of March 7-15. Were have a MariaDB Developer Meeting there, hosted by Monty Program. We're still getting people stating that they are coming (which is good), so if you're local to the area, and dig MySQL\/MariaDB\/databases\/opensource, drop by and say hi (March\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/3137"}],"collection":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/comments?post=3137"}],"version-history":[{"count":1,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/3137\/revisions"}],"predecessor-version":[{"id":3138,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/3137\/revisions\/3138"}],"wp:attachment":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/media?parent=3137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/categories?post=3137"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/tags?post=3137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}