{"id":2121,"date":"2016-01-14T01:17:16","date_gmt":"2016-01-14T01:17:16","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2121"},"modified":"2016-01-14T01:17:16","modified_gmt":"2016-01-14T01:17:16","slug":"contribute-to-open-source-projects","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/","title":{"rendered":"Contributing to Open Source Projects and Code"},"content":{"rendered":"<p style=\"text-align: justify;\">Traditionally, IT ran off the shelf commercial software while datacenters ran proprietary Unix hardware and x86 based Windows servers.\u00a0 But recently, the end user computing environment has been disrupted by the advent of smartphones and tablets with Linux becoming increasingly a dominant force in the data center.\u00a0 Not to mention, that there has been predictions from IDC analysts in August 2015 noting that there is already a shift to open source systems like Couchbase and Couchbase Mobile in the server and mobile market.<\/p>\n<p style=\"text-align: justify;\">Contributing to Open Source code is not as daunting as it seems.\u00a0 First off, the Open Source community is large and diverse with people working together on common problems.\u00a0 <a href=\"https:\/\/stackoverflow.com\/\">Stackoverflow<\/a> is an example of how collective minds are able to solve related issues faster and share in everyday findings.\u00a0 The benefits are that you are able to get direct feedback from a vast community of experts with different skill levels while building out a support system of champions.\u00a0<\/p>\n<h3 style=\"text-align: justify;\">Swift<\/h3>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/january\/contribute-to-open-source-projects\/swift-apple.png\" \/><\/p>\n<p style=\"text-align: justify;\">Even Apple opened up their coding language, <a href=\"https:\/\/swift.org\/\">Swift<\/a>, and so developers outside of Apple will be able to look into Swift and <a href=\"https:\/\/github.com\/apple\/swift\">contribute to its development<\/a> thus bringing it to new platforms like Windows and Android.\u00a0 Another benefit being that it is open source now, is that you can see the product road map and <a href=\"https:\/\/github.com\/apple\/swift-evolution\">evolution of Swift<\/a> too for future feature release dates.<\/p>\n<h3 style=\"text-align: justify;\">Getting Started<\/h3>\n<p style=\"text-align: justify;\">It is not as daunting as it may seem.\u00a0 Many times we may believe that the only major contributions that Open Source project leads are interested in are in feature extensions or major bug fixes.\u00a0 But in reality all it takes is a couple of lines of code and starting small.\u00a0 Working on a domain knowledge that you already know will allow you to quickly dive in and you will also be more motivated in improving the project overall.\u00a0 The other benefit is learning and picking up new domain skills too.\u00a0 There are plenty of available projects on GitHub that you may contribute, such as <a href=\"https:\/\/github.com\/libraryforall\/ebook-catalog-react-native\">Library For All\u2019s eBook reader,<\/a> all the while learning new technology such as React Native.\u00a0<\/p>\n<h3 style=\"text-align: justify;\">Reporting Issues<\/h3>\n<p style=\"text-align: justify;\">How can you start?\u00a0 Well one way is to be part of the collective group contributing to the source code but another way is to look at improving on existing bug report tickets.\u00a0 This is an opportunity to contribute by filling in useful information and setting the bar for quality error reporting.\u00a0 A strategy on how to go about this is to:<\/p>\n<ol>\n<li style=\"text-align: justify;\">Verify the issue is still happening<\/li>\n<li style=\"text-align: justify;\">Outline steps to reproduce the issue<\/li>\n<li style=\"text-align: justify;\">Provide version informations<\/li>\n<li style=\"text-align: justify;\">Add in code snippets, screenshots and error log or texts\u00a0<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">The key here is to help with closing an existing issue and providing clear details will go along way with resolving the open ticket; thus making the overall experience and code better.\u00a0 Once identified, you may also reference specific members on the project team to investigate the issues further.\u00a0 Below you can see the <a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-android\/issues\">outstanding Couchbase Mobile Android issues<\/a> that is being reported my users in the community.\u00a0 <a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-android\/issues\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/january\/contribute-to-open-source-projects\/screen-shot-2016-01-13-at-5.55.45-pm.png\" \/><\/a><\/p>\n<h3 style=\"text-align: justify;\">Developer Documentations<\/h3>\n<p style=\"text-align: justify;\">Developers rely on great documentations to learn and understand technologies.\u00a0 It is the first place developers would visit before diving in and having great documentations is key to developers adopting a technology quickly.\u00a0 This is another area where you may contribute greatly as project docs are not always maintained on pace with the rest of the project.\u00a0 You may help with providing clarity for yourself and other developers by:<\/p>\n<ol>\n<li style=\"text-align: justify;\">Update description of methods<\/li>\n<li style=\"text-align: justify;\">Provide example of method and usage<\/li>\n<li style=\"text-align: justify;\">Add diagrams<\/li>\n<li style=\"text-align: justify;\">Fix typos and update version numbers<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Much like the <a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-android\">Couchbase Mobile Android README.md<\/a> file below, your contributions in the documentations or guides will go a long way in providing success for developers as this will be the primary resource developers interact with day in and day out.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-android\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/january\/contribute-to-open-source-projects\/screen-shot-2016-01-13-at-6.11.13-pm.png\" \/><\/a><\/p>\n<h3 style=\"text-align: justify;\">Resolving Issues<\/h3>\n<div id=\"stcpDiv\" style=\"position: absolute; top: -1999px; left: -1988px;\">\n<p style=\"text-align: justify;\">Here\u2019s where you can combine everything you\u2019ve learned from the four options above into the ultimate open source contribution: the bug patch. Of course, don\u2019t feel pressured to solve every bug you find, but if you have the bandwidth, take a shot at sleuthing out the solution. Even if you don\u2019t find the fix, report your findings on the existing issue, or open a new one with full details on everything you tried.<\/p>\n<p style=\"text-align: justify;\">When you do find the fix, keep in mind that the best patches are as non-disruptive as possible. Specifically, your fix should <strong>introduce as little new code as possible<\/strong>, and any new code should be <strong>written in the same style as the rest of the codebase.<\/strong> Keep your scope small; your pull request should address a single, limited issue with minimal changes overall.<\/p>\n<p style=\"text-align: justify;\">When you\u2019re ready to open your pull request, be sure to cover the following:<\/p>\n<ul>\n<li style=\"text-align: justify;\">Reference the open issue your pull request is solving. If there\u2019s no existing ticket, open one yourself (following the guidelines above).<\/li>\n<li style=\"text-align: justify;\">Provide a clear description of your changes \u2014 what issue you\u2019re solving and how.<\/li>\n<li style=\"text-align: justify;\">Update any corresponding documentation (as described above).<\/li>\n<li style=\"text-align: justify;\">Write a test case for the test suite that covers your fix (as described above).<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">&#8211; See more at: https:\/\/blog.flatironschool.com\/how-to-contribute-to-open-source-code-5-steps-for-beginners\/#sthash.OxOfFtkV.dpuf<\/p>\n<\/div>\n<p style=\"text-align: justify;\">Now that you have reported issues and updated developer documentations, why not take your open source contributions to another level and work on resolving tickets on the outstanding issues?\u00a0 Focusing on introducing as little code changes as possible, you may start on this path by:<\/p>\n<ol>\n<li style=\"text-align: justify;\">Documenting test cases<\/li>\n<li style=\"text-align: justify;\">Detail write up on findings<\/li>\n<li style=\"text-align: justify;\">Reference open issue(s) you are resolving<\/li>\n<li style=\"text-align: justify;\">Update code base accordingly<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Looking at existing issues and trying to resolve them will help not only yourself but other developers who is using the code base.\u00a0 You are making the product better overall and even though if you do not resolve the issue directly in the end, the detailed descriptions added will help someone else solve the ticket.\u00a0 Below you can see how the <a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-android\/issues\/695\">Couchbase Mobile community members<\/a> are helping each other out and resolving the issue together openly.\u00a0<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-android\/issues?q=is%3Aissue+is%3Aclosed\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/january\/contribute-to-open-source-projects\/screen-shot-2016-01-13-at-6.21.40-pm.png\" \/><\/a> \u00a0\u00a0<\/p>\n<h3 style=\"text-align: justify;\">Summary<\/h3>\n<p style=\"text-align: justify;\">As you see there are various ways to be part of the Open Source world and contribute to Open Source technologies like <a href=\"https:\/\/github.com\/couchbase\">Couchbase<\/a> and Couchbase Mobile [<a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-android\">Android<\/a> \/ <a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-ios\">iOS<\/a>].\u00a0 Not only is a great way to collectively work on projects and code with people around the world, but the resolution time is so much faster too.\u00a0 You may also learn more on how to contribute by going over the <a href=\"https:\/\/guides.github.com\/activities\/contributing-to-open-source\/\">GitHub guidelines for how to be involved in Open Source<\/a> and browse for <a href=\"https:\/\/help.github.com\/articles\/where-can-i-find-open-source-projects-to-work-on\/\">available projects<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Traditionally, IT ran off the shelf commercial software while datacenters ran proprietary Unix hardware and x86 based Windows servers.\u00a0 But recently, the end user computing environment has been disrupted by the advent of smartphones and tablets with Linux becoming increasingly [&hellip;]<\/p>\n","protected":false},"author":30,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1810],"tags":[],"ppma_author":[8983],"class_list":["post-2121","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-mobile"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Contributing to Open Source Projects and Code - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contributing to Open Source Projects and Code\" \/>\n<meta property=\"og:description\" content=\"Traditionally, IT ran off the shelf commercial software while datacenters ran proprietary Unix hardware and x86 based Windows servers.\u00a0 But recently, the end user computing environment has been disrupted by the advent of smartphones and tablets with Linux becoming increasingly [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-14T01:17:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"William Hoang, Mobile Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Hoang, Mobile Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/\"},\"author\":{\"name\":\"William Hoang, Mobile Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32\"},\"headline\":\"Contributing to Open Source Projects and Code\",\"datePublished\":\"2016-01-14T01:17:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/\"},\"wordCount\":1095,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Mobile\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/\",\"name\":\"Contributing to Open Source Projects and Code - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-01-14T01:17:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contributing to Open Source Projects and Code\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32\",\"name\":\"William Hoang, Mobile Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/650445f1ea30314c4f3555dd680154f5\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g\",\"caption\":\"William Hoang, Mobile Developer Advocate, Couchbase\"},\"description\":\"William was a Developer Advocate on the Mobile Engineering\/Developer Experience team at Couchbase. His love for coffee and code has transcended him into the world of mobile while appreciating the offline in-person experiences. Prior, William worked on the Developer Relations team over at Twitter, BlackBerry, and Microsoft while also having been a Software Embedded GPS engineer at Research In Motion. William graduated from McGill University in Electrical Software Engineering\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/william-hoang\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Contributing to Open Source Projects and Code - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/","og_locale":"en_US","og_type":"article","og_title":"Contributing to Open Source Projects and Code","og_description":"Traditionally, IT ran off the shelf commercial software while datacenters ran proprietary Unix hardware and x86 based Windows servers.\u00a0 But recently, the end user computing environment has been disrupted by the advent of smartphones and tablets with Linux becoming increasingly [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-01-14T01:17:16+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"William Hoang, Mobile Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"William Hoang, Mobile Developer Advocate, Couchbase","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/"},"author":{"name":"William Hoang, Mobile Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32"},"headline":"Contributing to Open Source Projects and Code","datePublished":"2016-01-14T01:17:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/"},"wordCount":1095,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Mobile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/","url":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/","name":"Contributing to Open Source Projects and Code - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-01-14T01:17:16+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/contribute-to-open-source-projects\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Contributing to Open Source Projects and Code"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32","name":"William Hoang, Mobile Developer Advocate, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/650445f1ea30314c4f3555dd680154f5","url":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","caption":"William Hoang, Mobile Developer Advocate, Couchbase"},"description":"William was a Developer Advocate on the Mobile Engineering\/Developer Experience team at Couchbase. His love for coffee and code has transcended him into the world of mobile while appreciating the offline in-person experiences. Prior, William worked on the Developer Relations team over at Twitter, BlackBerry, and Microsoft while also having been a Software Embedded GPS engineer at Research In Motion. William graduated from McGill University in Electrical Software Engineering","url":"https:\/\/www.couchbase.com\/blog\/author\/william-hoang\/"}]}},"authors":[{"term_id":8983,"user_id":30,"is_guest":0,"slug":"william-hoang","display_name":"William Hoang, Mobile Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","author_category":"","last_name":"Hoang","first_name":"William","job_title":"","user_url":"","description":"William was a Developer Advocate on the Mobile Engineering\/Developer Experience team at Couchbase. His love for coffee and code has transcended him into the world of mobile while appreciating the offline in-person experiences. Prior, William worked on the Developer Relations team over at Twitter, BlackBerry, and Microsoft while also having been a Software Embedded GPS engineer at Research In Motion. William graduated from McGill University in Electrical Software Engineering"}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2121"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2121\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=2121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2121"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}