PageSourceSearch

https://opensource.hk/category/open-source-news/

html opensource.hk collected 2026-10-01 12:30:04 UTC 94,769 bytes, 724 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en-US">
3<head>
4<meta charset="UTF-8">
5<meta name="viewport" content="width=device-width, initial-scale=1">
6<meta name="theme-color" content="#ffffff">
7<link rel="profile" href="https://gmpg.org/xfn/11">
8
9<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
10<link rel="alternate" href="https://opensource.hk/category/open-source-news/" hreflang="en" />
11<link rel="alternate" href="https://opensource.hk/zh/category/%e9%96%8b%e6%ba%90%e6%96%b0%e7%9f%a5/" hreflang="zh" />
12
13	<!-- This site is optimized with the Yoast SEO plugin v28.6 - https://yoast.com/product/yoast-seo-wordpress/ -->
14	<title>Open Source News Archives - Open Source Hong Kong</title>
15	<link rel="canonical" href="https://opensource.hk/category/open-source-news/" />
16	<link rel="next" href="https://opensource.hk/category/open-source-news/page/2/" />
17	<meta property="og:locale" content="en_US" />
18	<meta property="og:locale:alternate" content="zh_HK" />
19	<meta property="og:type" content="article" />
20	<meta property="og:title" content="Open Source News Archives - Open Source Hong Kong" />
21	<meta property="og:url" content="https://opensource.hk/category/open-source-news/" />
22	<meta property="og:site_name" content="Open Source Hong Kong" />
23	<meta property="og:image" content="https://opensource.hk/wp-content/uploads/2020/08/1040-x-570-oshk-featured-img.jpg" />
24	<meta property="og:image:width" content="1040" />
25	<meta property="og:image:height" content="570" />
26	<meta property="og:image:type" content="image/jpeg" />
27	<meta name="twitter:card" content="summary_large_image" />
28	<meta name="twitter:site" content="@opensourcehk" />
29	
29<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"CollectionPage","@id":"https:\/\/opensource.hk\/category\/open-source-news\/","url":"https:\/\/opensource.hk\/category\/open-source-news\/","name":"Open Source News Archives - Open Source Hong Kong","isPartOf":{"@id":"https:\/\/opensource.hk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.hk\/category\/open-source-news\/#primaryimage"},"image":{"@id":"https:\/\/opensource.hk\/category\/open-source-news\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.hk\/wp-content\/uploads\/2024\/07\/COSCUP-2024-1.jpg","breadcrumb":{"@id":"https:\/\/opensource.hk\/category\/open-source-news\/#breadcrumb"},"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.hk\/category\/open-source-news\/#primaryimage","url":"https:\/\/opensource.hk\/wp-content\/uploads\/2024\/07\/COSCUP-2024-1.jpg","contentUrl":"https:\/\/opensource.hk\/wp-content\/uploads\/2024\/07\/COSCUP-2024-1.jpg","width":1040,"height":570},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.hk\/category\/open-source-news\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.hk\/"},{"@type":"ListItem","position":2,"name":"Open Source News"}]},{"@type":"WebSite","@id":"https:\/\/opensource.hk\/#website","url":"https:\/\/opensource.hk\/","name":"Open Source Hong Kong","description":"Develop, Contribute, Promote, Use","publisher":{"@id":"https:\/\/opensource.hk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.hk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.hk\/#organization","name":"Open Source Hong Kong","url":"https:\/\/opensource.hk\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.hk\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.hk\/wp-content\/uploads\/2015\/09\/cropped-OSHK-square-logo-1.png","contentUrl":"https:\/\/opensource.hk\/wp-content\/uploads\/2015\/09\/cropped-OSHK-square-logo-1.png","width":512,"height":512,"caption":"Open Source Hong Kong"},"image":{"@id":"https:\/\/opensource.hk\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/opensourcehk","https:\/\/x.com\/opensourcehk","https:\/\/www.linkedin.com\/company\/opensourcehk\/","https:\/\/www.youtube.com\/channel\/UCm0wh7teyJywvyL0vPgiOyw"]}]}</script>
29
30	<!-- / Yoast SEO plugin. -->
31
32
33<link rel='dns-prefetch' href='//fonts.googleapis.com' />
34<link href='https://fonts.googleapis.com' rel='preconnect' />
35<link href='https://fonts.gstatic.com' crossorigin='anonymous' rel='preconnect' />
36<link rel="alternate" type="application/rss+xml" title="Open Source Hong Kong &raquo; Feed" href="https://opensource.hk/feed/" />
37<link rel="alternate" type="application/rss+xml" title="Open Source Hong Kong &raquo; Comments Feed" href="https://opensource.hk/comments/feed/" />
38<link rel="alternate" type="application/rss+xml" title="Open Source Hong Kong &raquo; Open Source News Category Feed" href="https://opensource.hk/category/open-source-news/feed/" />
39<style id="wp-img-auto-sizes-contain-inline-css">
40img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
41/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
42</style>
43<style id="wp-emoji-styles-inline-css">
44
45	img.wp-smiley, img.emoji {
46		display: inline !important;
47		border: none !important;
48		box-shadow: none !important;
49		height: 1em !important;
50		width: 1em !important;
51		margin: 0 0.07em !important;
52		vertical-align: -0.1em !important;
53		background: none !important;
54		padding: 0 !important;
55	}
56/*# sourceURL=wp-emoji-styles-inline-css */
57</style>
58<style id="wp-block-library-inline-css">
59:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
59--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
60
61/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
62</style>
63<style id="wp-block-heading-inline-css">
64h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
65/*# sourceURL=https://opensource.hk/wp-includes/blocks/heading/style.min.css */
66</style>
67<style id="wp-block-paragraph-inline-css">
68.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
69/*# sourceURL=https://opensource.hk/wp-includes/blocks/paragraph/style.min.css */
70</style>
71<style id="wp-block-social-links-inline-css">
72.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block}@media not (prefers-reduced-motion){.wp-block-social-link{transition:transform .1s ease}}.wp-block-social-link{height:auto}.wp-block-social-link a{align-items:center;display:flex;line-height:0}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link{background-color:#f0f0f0;color:#444}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-amazon{background-color:#f90;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-behance{background-color:#0757fe;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bluesky{background-color:#0a7aff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-discord{background-color:#5865f2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-etsy{background-color:#f45800;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook{background-color:#0866ff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-flickr{background-color:#0461dd;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-foursquare{background-color:#e65678;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-github{background-color:#24292d;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-google{background-color:#ea4434;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram{background-color:#f00075;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-medium{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-meetup{background-color:#f6405f;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-patreon{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pinterest{background-color:#e60122;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pocket{background-color:#ef4155;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-reddit{background-color:#ff4500;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-skype{background-color:#0478d7;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-spotify{background-color:#1bd760;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-telegram{background-color:#2aabee;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-threads{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tumblr{background-color:#011835;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitch{background-color:#6440a4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vk{background-color:#4680c2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-x{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-yelp{background-color:#d32422;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube{background-color:red;color:#fff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link{background:none}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link svg{height:1.25em;width:1.25em}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-amazon{color:#f90}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bandcamp{color:#1ea0c3}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-behance{color:#0757fe}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bluesky{color:#0a7aff}
72:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-codepen{color:#1e1f26}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-deviantart{color:#02e49b}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-discord{color:#5865f2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dribbble{color:#e94c89}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dropbox{color:#4280ff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-etsy{color:#f45800}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-facebook{color:#0866ff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-fivehundredpx{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-flickr{color:#0461dd}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-foursquare{color:#e65678}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-github{color:#24292d}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-goodreads{color:#382110}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-google{color:#ea4434}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-gravatar{color:#1d4fc4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-instagram{color:#f00075}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-lastfm{color:#e21b24}
72:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-linkedin{color:#0d66c2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-mastodon{color:#3288d4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-medium{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-meetup{color:#f6405f}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-patreon{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pinterest{color:#e60122}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pocket{color:#ef4155}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-reddit{color:#ff4500}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-skype{color:#0478d7}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;color:#fff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-soundcloud{color:#ff5600}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-spotify{color:#1bd760}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-telegram{color:#2aabee}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-threads{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tiktok{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tumblr{color:#011835}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitch{color:#6440a4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitter{color:#1da1f2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vimeo{color:#1eb7ea}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vk{color:#4680c2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-whatsapp{color:#25d366}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-wordpress{color:#3499cd}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-x{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-yelp{color:#d32422}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}:root :where(.wp-block-social-links .wp-social-link a){padding:.25em}:root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a){padding:0}:root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a){padding-left:.6666666667em;padding-right:.6666666667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}
73/*# sourceURL=https://opensource.hk/wp-includes/blocks/social-links/style.min.css */
74</style>
75
76<style id="classic-theme-styles-inline-css">
77/*! This file is auto-generated */
78.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
79/*# sourceURL=/wp-includes/css/classic-themes.min.css */
80</style>
81
82<style id="global-styles-inline-css">
83:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
830) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
83.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
84/*# sourceURL=global-styles-inline-css */
85</style>
86
87<link rel='stylesheet' id='sparkling-bootstrap-css' href='https://opensource.hk/wp-content/themes/sparkling/assets/css/bootstrap.min.css?ver=3.4.1' media='all' />
88<link rel='stylesheet' id='sparkling-icons-css' href='https://opensource.hk/wp-content/themes/sparkling/assets/css/fontawesome/subset/fontawesome-subset.min.css?ver=7.3.1' media='all' />
89<link rel='stylesheet' id='sparkling-fonts-css' href='https://fonts.googleapis.com/css?family=Open+Sans:400italic,400,600,700%7CRoboto+Slab:400,300,700&#038;display=swap' media='all' />
90<link rel='stylesheet' id='sparkling-style-css' href='https://opensource.hk/wp-content/themes/sparkling/style.css?ver=2.6.11' media='all' />
91<link rel='stylesheet' id='academicons-css-css' href='https://opensource.hk/wp-content/themes/sparkling/assets/css/academicons.min.css?ver=1.8.6' media='all' />
92<script id="jquery-core-js" src="https://opensource.hk/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 92
92
93<script id="jquery-migrate-js" src="https://opensource.hk/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
93
94<link rel="https://api.w.org/" href="https://opensource.hk/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://opensource.hk/wp-json/wp/v2/categories/1" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://opensource.hk/xmlrpc.php?rsd" />
95<meta name="generator" content="WordPress 7.1.2" />
96<style type="text/css">a, #infinite-handle span, #secondary .widget .post-content a, .entry-meta a {color:#289dcc}.btn-default, .label-default, .flex-caption h2, .btn.btn-default.read-more,button,
97              .navigation .wp-pagenavi-pagination span.current,.navigation .wp-pagenavi-pagination a:hover,
98              .woocommerce a.button, .woocommerce button.button,
99              .woocommerce input.button, .woocommerce #respond input#submit.alt,
100              .woocommerce a.button, .woocommerce button.button,
101              .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background-color: #289dcc; border-color: #289dcc;}.site-main [class*="navigation"] a, .more-link, .pagination>li>a, .pagination>li>span, .cfa-button { color: #289dcc}.cfa-button {border-color: #289dcc;}.cfa-text { color: #289dcc;}.cfa-button {border-color: #289dcc; color: #289dcc;}.navbar.navbar-default, .navbar-default .navbar-nav .open .dropdown-menu > li > a {background-color: #ffffff;}.navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav.sparkling-mobile-menu > li:hover > a, .navbar-default .navbar-nav.sparkling-mobile-menu > li:hover > .caret, .navbar-default .navbar-nav > li, .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #363636;}@media (max-width: 767px){ .navbar-default .navbar-nav > li:hover > a, .navbar-default .navbar-nav > li:hover > .caret{ color: #363636!important ;} }.navbar-default .navbar-nav > li:hover > a, .navbar-default .navbar-nav > li:focus-within > a, .navbar-nav > li:hover > .caret, .navbar-nav > li:focus-within > .caret, .navbar-default .navbar-nav.sparkling-mobile-menu > li.open > a, .navbar-default .navbar-nav.sparkling-mobile-menu > li.open > .caret, .navbar-default .navbar-nav > li:hover, .navbar-default .navbar-nav > li:focus-within, .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > .caret, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus, .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus, .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {color: #289dcc;}@media (max-width: 767px){ .navbar-default .navbar-nav > li.open > a, .navbar-default .navbar-nav > li.open > .caret { color: #289dcc !important; } }.dropdown-menu {background-color: #ffffff;}.navbar-default .navbar-nav .dropdown-menu > li:hover, .navbar-default .navbar-nav .dropdown-menu > li:focus-within, .dropdown-menu > .active {background-color: #289dcc;}@media (max-width: 767px) {.navbar-default .navbar-nav .dropdown-menu > li:hover, .navbar-default .navbar-nav .dropdown-menu > li:focus, .dropdown-menu > .active {background: transparent;} }.entry-content {font-size:16px}</style>		<style type="text/css">
102				.navbar > .container .navbar-brand {
103			color: #dadada;
104		}
105		</style>
106	<link rel="icon" href="https://opensource.hk/wp-content/uploads/2015/09/cropped-OSHK-square-logo-1-32x32.png" sizes="32x32" />
107<link rel="icon" href="https://opensource.hk/wp-content/uploads/2015/09/cropped-OSHK-square-logo-1-192x192.png" sizes="192x192" />
108<link rel="apple-touch-icon" href="https://opensource.hk/wp-content/uploads/2015/09/cropped-OSHK-square-logo-1-180x180.png" />
109<meta name="msapplication-TileImage" content="https://opensource.hk/wp-content/uploads/2015/09/cropped-OSHK-square-logo-1-270x270.png" />
110<style id="wp-custom-css">
111h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
112    color: #289dcc;
113    font-weight: 700;
114    font-family: 'Roboto Slab', "Microsoft JhengHei", serif;
115}
116
117</style>
118
119</head>
120
121<body class="archive category category-open-source-news category-1 wp-embed-responsive wp-theme-sparkling group-blog">
122	<a class="sr-only sr-only-focusable" href="#content">Skip to main content</a>
123<div id="page" class="hfeed site">
124
125	<header id="masthead" class="site-header" role="banner">
126		<nav class="navbar navbar-default
127		navbar-fixed-top" role="navigation">
128			<div class="container">
129				<div class="row">
130					<div class="site-navigation-inner col-sm-12">
131						<div class="navbar-header">
132
133
134														<div id="logo">
135																																<a href="https://opensource.hk/"><img src="https://opensource.hk/wp-content/uploads/2020/10/cropped-OSHK-Logo-temp.png"  height="50" width="220" alt="Open Source Hong Kong"/></a>
136																																</div><!-- end of #logo -->
137
138							<button type="button" class="btn navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
139								<span class="sr-only">Toggle navigation</span>
140								<span class="icon-bar"></span>
141								<span class="icon-bar"></span>
142								<span class="icon-bar"></span>
143							</button>
144						</div>
145
146
147
148						<div class="collapse navbar-collapse navbar-ex1-collapse"><ul id="menu-%e4%b8%ad%e6%96%87%e9%81%b8%e5%96%ae" class="nav navbar-nav"><li id="menu-item-1251-zh" class="lang-item lang-item-147 lang-item-zh lang-item-first menu-item menu-item-type-custom menu-item-object-custom menu-item-1251-zh"><a href="https://opensource.hk/zh/category/%e9%96%8b%e6%ba%90%e6%96%b0%e7%9f%a5/" lang="zh-HK" hreflang="zh-HK"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAMAAABBPP0LAAAAS1BMVEXqAADjAADZAAD2e3v0dXXzbGzyYWHxWFjyUlLuSkrQAAD5jY76m5zsPz/qNTXnKir56en6w8PmGxvKAAD5z9D6qqvjDw/32dnCAADqlhvuAAAAYElEQVR4AQXBUU6DUBRAwTm8SwqJ+9+m8cva0uBMgBBkkUiqYSWrkpeNxL6/76w5R/L1WZ9jXoONqvs5fWeyrGWux9i3Na5ji3Ftfv/uIZtG+8/78TxA7Skj4qxwcNrBPxiAEpMq30QZAAAAAElFTkSuQmCC" alt="" width="16" height="11" style="width: 16px; height: 11px;" /><span style="margin-left:0.3em;">中文 (香港)</span></a></li>
149<li id="menu-item-1257" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1257 dropdown"><a href="https://opensource.hk/zh/%e9%97%9c%e6%96%bc%e6%9c%ac%e6%9c%83/">關於本會</a><a class="sparkling-dropdown caret" href="#"></a>
150<ul role="menu" class=" dropdown-menu">
151	<li id="menu-item-1256" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1256"><a href="https://opensource.hk/zh/%e5%9f%b7%e8%a1%8c%e5%a7%94%e5%93%a1%e6%9c%83/">執行委員會</a></li>
152	<li id="menu-item-5144" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5144"><a href="https://opensource.hk/zh/%e9%97%9c%e6%96%bc-soosu/">關於 Soosu</a></li>
153	<li id="menu-item-1683" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1683"><a href="https://opensource.hk/zh/%e6%9c%83%e5%93%a1%e5%88%b6%e5%ba%a6/">會員制度</a></li>
154	<li id="menu-item-1745" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1745"><a href="https://opensource.hk/zh/%e8%a1%8c%e7%82%ba%e6%ba%96%e5%89%87/">行為準則</a></li>
155	<li id="menu-item-2844" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2844"><a href="https://opensource.hk/zh/%e5%82%b3%e5%aa%92%e5%a0%b1%e5%b0%8e/">傳媒報導</a></li>
156	<li id="menu-item-1744" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1744"><a href="https://opensource.hk/zh/%e5%93%81%e7%89%8c%e8%a6%8f%e7%af%84/">品牌規範</a></li>
157	<li id="menu-item-1773" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1773"><a href="https://opensource.hk/zh/%e7%94%9a%e9%ba%bc%e6%98%af%e9%96%8b%e6%94%be%e6%ba%90%e7%a2%bc%ef%bc%9f/">甚麼是開放源碼?</a></li>
158</ul>
159</li>
160<li id="menu-item-4496" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4496"><a href="https://opensource.hk/zh/%e6%97%a5%e6%9b%86/">開源活動日誌</a></li>
161<li id="menu-item-1748" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1748 dropdown"><a href="https://opensource.hk/zh/%e6%b4%bb%e5%8b%95/">活動</a><a class="sparkling-dropdown caret" href="#"></a>
162<ul role="menu" class=" dropdown-menu">
163	<li id="menu-item-1693" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1693"><a href="https://opensource.hk/zh/%e6%9c%83%e5%93%a1%e8%81%9a%e6%9c%83/">會員聚會</a></li>
164	<li id="menu-item-1689" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1689"><a href="https://opensource.hk/zh/%e6%94%af%e6%8c%81%e6%b4%bb%e5%8b%95/">支持活動</a></li>
165	<li id="menu-item-2865" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2865"><a href="https://opensource.hk/zh/%e6%b5%b7%e5%a4%96%e4%ba%a4%e6%b5%81/">海外交流</a></li>
166	<li id="menu-item-1686" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1686 dropdown"><a href="https://opensource.hk/zh/%e6%9c%83%e8%ad%b0/">會議</a><a class="sparkling-dropdown caret" href="#"></a>
167	<ul role="menu" class=" dropdown-menu">
168		<li id="menu-item-1790" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1790"><a href="https://pycon.hk/">PyCon 香港</a></li>
169		<li id="menu-item-4605" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-4605"><a href="https://opensource.hk/zh/category/%e6%b4%bb%e5%8b%95/%e9%a6%99%e6%b8%af%e9%96%8b%e6%ba%90%e5%b9%b4%e6%9c%83/">香港開源年會</a></li>
170	</ul>
171</li>
172	<li id="menu-item-1690" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1690"><a href="https://opensource.hk/zh/%e7%89%b9%e5%82%99%e6%b4%bb%e5%8b%95/">特備活動</a></li>
173	<li id="menu-item-1688" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1688 dropdown"><a href="https://opensource.hk/zh/%e9%96%8b%e6%94%be%e6%95%b8%e6%93%9a%e6%b4%bb%e5%8b%95/">開放數據活動</a><a class="sparkling-dropdown caret" href="#"></a>
174	<ul role="menu" class=" dropdown-menu">
175		<li id="menu-item-1323" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1323"><a href="https://opensource.hk/tag/opendata/">開放數據更新</a></li>
176	</ul>
177</li>
178	<li id="menu-item-1692" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1692"><a href="https://opensource.hk/zh/%e5%b7%a5%e4%bd%9c%e5%9d%8a/">工作坊</a></li>
179	<li id="menu-item-1691" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1691"><a href="https://opensource.hk/zh/%e9%bb%91%e5%ae%a2%e6%9d%be/">黑客松</a></li>
180</ul>
181</li>
182<li id="menu-item-1752" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1752 dropdown"><a href="https://opensource.hk/zh/%e5%b0%88%e6%a1%88/">專案</a><a class="sparkling-dropdown caret" href="#"></a>
183<ul role="menu" class=" dropdown-menu">
184	<li id="menu-item-1317" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1317"><a href="https://commonvoice.mozilla.org/zh-HK">Common Voice</a></li>
185	<li id="menu-item-1315" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1315 dropdown"><a href="https://freehkfonts.opensource.hk/">自由香港字型</a><a class="sparkling-dropdown caret" href="#"></a>
186	<ul role="menu" class=" dropdown-menu">
187		<li id="menu-item-1316" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1316"><a href="https://kaidemo.opensource.hk/">網上展示</a></li>
188	</ul>
189</li>
190	<li id="menu-item-1743" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1743"><a href="https://opensource.hk/zh/%e5%89%b5%e6%a5%ad%e5%8a%a0%e9%80%9f%e5%99%a8/">創業加速器</a></li>
191	<li id="menu-item-1327" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-1327"><a href="https://opensource.hk/zh/program-for-youth/">香港開源青年計劃</a></li>
192	<li id="menu-item-1735" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1735"><a href="https://opensource.hk/zh/%e6%b4%bb%e5%8b%95%e7%ae%a1%e7%90%86%e6%96%b9%e6%a1%88/">活動管理方案</a></li>
193</ul>
194</li>
195<li id="menu-item-1751" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1751 dropdown"><a href="https://opensource.hk/zh/%e5%8f%83%e8%88%87/">加入我們</a><a class="sparkling-dropdown caret" href="#"></a>
196<ul role="menu" class=" dropdown-menu">
197	<li id="menu-item-5438" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5438"><a href="https://opensource.hk/zh/call-for-speakers-zh/">徵求講者</a></li>
198	<li id="menu-item-5418" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5418"><a href="https://opensource.hk/zh/call-for-volunteers-zh/">招募志願者</a></li>
199</ul>
200</li>
201<li id="menu-item-5405" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5405"><a href="https://discourse.opensource.hk">論壇</a></li>
202</ul></div>
203
204
205					</div>
206				</div>
207			</div>
208		</nav><!-- .site-navigation -->
209	</header><!-- #masthead -->
210
211	<div id="content" class="site-content">
212
213		<div class="top-section">
214								</div>
215
216		<div class="container main-content-area">
217						<div class="row side-pull-left">
218				<div class="main-content-inner col-sm-12 col-md-8">
219
220	 <div id="primary" class="content-area">
221		 <main id="main" class="site-main" role="main">
222
223			
224				<header class="page-header">
225					<h1 class="page-title">Category: <span>Open Source News</span></h1>				</header><!-- .page-header -->
226
227				
228<article id="post-4926" class="post-4926 post type-post status-publish format-standard has-post-thumbnail hentry category-open-source-news category-overseas">
229	<div class="blog-item-wrap">
230				<a href="https://opensource.hk/open-source-hong-kong-expedition-to-coscup-2024/" title="Open Source Hong Kong Expedition to COSCUP 2024!" >
231				<img width="750" height="410" src="https://opensource.hk/wp-content/uploads/2024/07/COSCUP-2024-1-750x410.jpg" class="single-featured wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://opensource.hk/wp-content/uploads/2024/07/COSCUP-2024-1-750x410.jpg 750w, https://opensource.hk/wp-content/uploads/2024/07/COSCUP-2024-1-300x164.jpg 300w, https://opensource.hk/wp-content/uploads/2024/07/COSCUP-2024-1-1024x561.jpg 1024w, https://opensource.hk/wp-content/uploads/2024/07/COSCUP-2024-1-768x421.jpg 768w, https://opensource.hk/wp-content/uploads/2024/07/COSCUP-2024-1.jpg 1040w" sizes="(max-width: 750px) 100vw, 750px" />			</a>
232		<div class="post-inner-content">
233			<header class="entry-header page-header">
234
235				<h2 class="entry-title"><a href="https://opensource.hk/open-source-hong-kong-expedition-to-coscup-2024/" rel="bookmark">Open Source Hong Kong Expedition to COSCUP 2024!</a></h2>
236
237								<div class="entry-meta">
238					<span class="posted-on"><i class="fa fa-calendar-alt"></i> <a href="https://opensource.hk/open-source-hong-kong-expedition-to-coscup-2024/" rel="bookmark"><time class="entry-date published" datetime="2024-08-03T12:46:47+08:00">August 3, 2024</time><time class="updated" datetime="2024-10-25T09:57:53+08:00">October 25, 2024</time></a></span><span class="byline"> <i class="fa fa-user"></i> <span class="author vcard"><a class="url fn n" href="https://opensource.hk/author/daisyfung/">Daisy Maris Fung</a></span></span>				<span class="comments-link"><i class="fa fa-comments"></i><a href="https://opensource.hk/open-source-hong-kong-expedition-to-coscup-2024/#respond">Leave a comment</a></span>
239				
240				
241				</div><!-- .entry-meta -->
242							</header><!-- .entry-header -->
243
244						<div class="entry-content">
245
246				<p>Join us at the National Taiwan University of Science and Technology (NTUST) in Taipei on August 3-4 for COSCUP 2024! We&#8217;re excited to team up with PyCon HK and our adorable mascot, Soosu. Visit us at TR312 Booth C6 and embrace the spirit of Open Source in Hong Kong. See you there! Open Source Hong [&hellip;]</p>
247					<p><a class="btn btn-default read-more" href="https://opensource.hk/open-source-hong-kong-expedition-to-coscup-2024/" title="Open Source Hong Kong Expedition to COSCUP 2024!">Read More</a></p>
248				
249							</div><!-- .entry-content -->
250					</div>
251	</div>
252</article><!-- #post-## -->
253
254<article id="post-933" class="post-933 post type-post status-publish format-standard has-post-thumbnail hentry category-open-source-news tag-blockchain">
255	<div class="blog-item-wrap">
256				<a href="https://opensource.hk/rise-2018-interledger-js-and-ethereum/" title="RISE 2018: interledger.js and Ethereum" >
257				<img width="547" height="410" src="https://opensource.hk/wp-content/uploads/2018/07/rise2018-sammy.jpg" class="single-featured wp-post-image" alt="" decoding="async" srcset="https://opensource.hk/wp-content/uploads/2018/07/rise2018-sammy.jpg 1024w, https://opensource.hk/wp-content/uploads/2018/07/rise2018-sammy-300x225.jpg 300w, https://opensource.hk/wp-content/uploads/2018/07/rise2018-sammy-768x576.jpg 768w" sizes="(max-width: 547px) 100vw, 547px" />			</a>
258		<div class="post-inner-content">
259			<header class="entry-header page-header">
260
261				<h2 class="entry-title"><a href="https://opensource.hk/rise-2018-interledger-js-and-ethereum/" rel="bookmark">RISE 2018: interledger.js and Ethereum</a></h2>
262
263								<div class="entry-meta">
264					<span class="posted-on"><i class="fa fa-calendar-alt"></i> <a href="https://opensource.hk/rise-2018-interledger-js-and-ethereum/" rel="bookmark"><time class="entry-date published" datetime="2018-07-11T23:12:20+08:00">July 11, 2018</time><time class="updated" datetime="2020-10-31T17:07:57+08:00">October 31, 2020</time></a></span><span class="byline"> <i class="fa fa-user"></i> <span class="author vcard"><a class="url fn n" href="https://opensource.hk/author/sammyfung/">Sammy Fung</a></span></span>
265				
266				</div><!-- .entry-meta -->
267							</header><!-- .entry-header -->
268
269						<div class="entry-content">
270
271				<p>RISE 2018 is Web Summit’s Asia tech event with over 15,000 registrations, it continues to RISE to great heights in Hong Kong. RISE provides hundred free tickets to open source developer community this year who contributes source codes on GitHub platform. interledger.js &#8211; open source javascript interconnecting ledgers Its FullSTK + Binate.io stage should be [&hellip;]</p>
272					<p><a class="btn btn-default read-more" href="https://opensource.hk/rise-2018-interledger-js-and-ethereum/" title="RISE 2018: interledger.js and Ethereum">Read More</a></p>
273				
274							</div><!-- .entry-content -->
275					</div>
276	</div>
277</article><!-- #post-## -->
278
279<article id="post-914" class="post-914 post type-post status-publish format-standard has-post-thumbnail hentry category-open-source-news tag-blender">
280	<div class="blog-item-wrap">
281				<a href="https://opensource.hk/blender-3d-creation/" title="Blender: Free and Open 3D Creation Software" >
282				<img width="750" height="410" src="https://opensource.hk/wp-content/uploads/2018/04/blender-website-front.jpg" class="single-featured wp-post-image" alt="" decoding="async" srcset="https://opensource.hk/wp-content/uploads/2018/04/blender-website-front.jpg 2560w, https://opensource.hk/wp-content/uploads/2018/04/blender-website-front-300x164.jpg 300w, https://opensource.hk/wp-content/uploads/2018/04/blender-website-front-768x419.jpg 768w, https://opensource.hk/wp-content/uploads/2018/04/blender-website-front-1024x559.jpg 1024w" sizes="(max-width: 750px) 100v
282w, 750px" />			</a>
283		<div class="post-inner-content">
284			<header class="entry-header page-header">
285
286				<h2 class="entry-title"><a href="https://opensource.hk/blender-3d-creation/" rel="bookmark">Blender: Free and Open 3D Creation Software</a></h2>
287
288								<div class="entry-meta">
289					<span class="posted-on"><i class="fa fa-calendar-alt"></i> <a href="https://opensource.hk/blender-3d-creation/" rel="bookmark"><time class="entry-date published" datetime="2018-04-11T13:39:18+08:00">April 11, 2018</time><time class="updated" datetime="2020-10-31T17:08:21+08:00">October 31, 2020</time></a></span><span class="byline"> <i class="fa fa-user"></i> <span class="author vcard"><a class="url fn n" href="https://opensource.hk/author/annleung/">Ann Leung</a></span></span>
290				
291				</div><!-- .entry-meta -->
292							</header><!-- .entry-header -->
293
294						<div class="entry-content">
295
296				<p>Blender is one of the Free-Open- Source-Software for 3D Computer Graphics production and multimedia creation listed as an Open-Source- MultiMedia software inventory. It is originally co- founded by Ton Roosendaal in 1988 as an in-house tool and became free and open since 2002 backed by its Dutch based Blender Foundation. Blender is now taken care [&hellip;]</p>
297					<p><a class="btn btn-default read-more" href="https://opensource.hk/blender-3d-creation/" title="Blender: Free and Open 3D Creation Software">Read More</a></p>
298				
299							</div><!-- .entry-content -->
300					</div>
301	</div>
302</article><!-- #post-## -->
303
304<article id="post-793" class="post-793 post type-post status-publish format-standard has-post-thumbnail hentry category-open-source-news tag-raspberrypi">
305	<div class="blog-item-wrap">
306				<a href="https://opensource.hk/raspberry-pi-3-model-b/" title="Raspberry Pi 3 Model B+" >
307				<img width="462" height="322" src="https://opensource.hk/wp-content/uploads/2018/03/RaspberryPi3B.jpg" class="single-featured wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://opensource.hk/wp-content/uploads/2018/03/RaspberryPi3B.jpg 462w, https://opensource.hk/wp-content/uploads/2018/03/RaspberryPi3B-300x209.jpg 300w, https://opensource.hk/wp-content/uploads/2018/03/RaspberryPi3B-392x272.jpg 392w, https://opensource.hk/wp-content/uploads/2018/03/RaspberryPi3B-130x90.jpg 130w" sizes="auto, (max-width: 462px) 100vw, 462px" />			</a>
308		<div class="post-inner-content">
309			<header class="entry-header page-header">
310
311				<h2 class="entry-title"><a href="https://opensource.hk/raspberry-pi-3-model-b/" rel="bookmark">Raspberry Pi 3 Model B+</a></h2>
312
313								<div class="entry-meta">
314					<span class="posted-on"><i class="fa fa-calendar-alt"></i> <a href="https://opensource.hk/raspberry-pi-3-model-b/" rel="bookmark"><time class="entry-date published" datetime="2018-03-26T18:14:45+08:00">March 26, 2018</time><time class="updated" datetime="2020-10-22T20:30:25+08:00">October 22, 2020</time></a></span><span class="byline"> <i class="fa fa-user"></i> <span class="author vcard"><a class="url fn n" href="https://opensource.hk/author/sammyfung/">Sammy Fung</a></span></span>				<span class="comments-link"><i class="fa fa-comments"></i><a href="https://opensource.hk/raspberry-pi-3-model-b/#respond">Leave a comment</a></span>
315				
316				
317				</div><!-- .entry-meta -->
318							</header><!-- .entry-header -->
319
320						<div class="entry-content">
321
322				<p>Raspberry Pi 3 Model B+ is now available. It is featuring a 1.4GHz 64-bit quad-core CPU, dual-band 802.11ac wireless LAN, faster Ethernet, Power-over-Ethernet, and much more. Raspberry Pi 3 Model B+ is improved version of Raspberry Pi 3 Model B which is released 2 years ago. It is first model with 802.11ac Wifi, Gigabit Ethernet, [&hellip;]</p>
323					<p><a class="btn btn-default read-more" href="https://opensource.hk/raspberry-pi-3-model-b/" title="Raspberry Pi 3 Model B+">Read More</a></p>
324				
325							</div><!-- .entry-content -->
326					</div>
327	</div>
328</article><!-- #post-## -->
329
330<article id="post-789" class="post-789 post type-post status-publish format-standard has-post-thumbnail hentry category-open-source-news tag-ssl">
331	<div class="blog-item-wrap">
332				<a href="https://opensource.hk/letsencrypt-now-supports-acmev2-wildcard-certificates/" title="Let&#8217;s Encrypt now supports ACME v2 and wildcard certificates" >
333				<img width="750" height="391" src="https://opensource.hk/wp-content/uploads/2018/03/letsencrypt-website.png" class="single-featured wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://opensource.hk/wp-content/uploads/2018/03/letsencrypt-website.png 2080w, https://opensource.hk/wp-content/uploads/2018/03/letsencrypt-website-300x156.png 300w, https://opensource.hk/wp-content/uploads/2018/03/letsencrypt-website-768x400.png 768w, https://opensource.hk/wp-content/uploads/2018/03/letsencrypt-website-1024x534.png 1024w" sizes="auto, (max-width: 750px) 100v
333w, 750px" />			</a>
334		<div class="post-inner-content">
335			<header class="entry-header page-header">
336
337				<h2 class="entry-title"><a href="https://opensource.hk/letsencrypt-now-supports-acmev2-wildcard-certificates/" rel="bookmark">Let&#8217;s Encrypt now supports ACME v2 and wildcard certificates</a></h2>
338
339								<div class="entry-meta">
340					<span class="posted-on"><i class="fa fa-calendar-alt"></i> <a href="https://opensource.hk/letsencrypt-now-supports-acmev2-wildcard-certificates/" rel="bookmark"><time class="entry-date published" datetime="2018-03-26T17:32:42+08:00">March 26, 2018</time><time class="updated" datetime="2018-04-06T20:32:47+08:00">April 6, 2018</time></a></span><span class="byline"> <i class="fa fa-user"></i> <span class="author vcard"><a class="url fn n" href="https://opensource.hk/author/sammyfung/">Sammy Fung</a></span></span>				<span class="comments-link"><i class="fa fa-comments"></i><a href="https://opensource.hk/letsencrypt-now-supports-acmev2-wildcard-certificates/#respond">Leave a comment</a></span>
341				
342				
343				</div><!-- .entry-meta -->
344							</header><!-- .entry-header -->
345
346						<div class="entry-content">
347
348				<p>Let&#8217;s Encrypt announces this month that ACMEv2 and wildcard certificate support is now supported. ACMEv2 is an updated version of ACME protocol which has gone through the IETF standards process, ACME protocols handles certificate issuance and management. Wildcard certificates allows webmaster to secure all subdomains of a domain with a single certificate, it still recommend [&hellip;]</p>
349					<p><a class="btn btn-default read-more" href="https://opensource.hk/letsencrypt-now-supports-acmev2-wildcard-certificates/" title="Let&#8217;s Encrypt now supports ACME v2 and wildcard certificates">Read More</a></p>
350				
351							</div><!-- .entry-content -->
352					</div>
353	</div>
354</article><!-- #post-## -->
355
356	<nav class="navigation pagination" aria-label="Posts pagination">
357		<h2 class="screen-reader-text">Posts pagination</h2>
358		<div class="nav-links"><span aria-current="page" class="page-numbers current">1</span>
359<a class="page-numbers" href="https://opensource.hk/category/open-source-news/page/2/">2</a>
360<a class="next page-numbers" href="https://opensource.hk/category/open-source-news/page/2/">Older posts <i class="fa fa-chevron-right"></i></a></div>
361	</nav>
362		 </main><!-- #main -->
363	 </div><!-- #primary -->
364
365	</div><!-- close .main-content-inner -->
366<div id="secondary" class="widget-area col-sm-12 col-md-4" role="complementary">
367	<div class="well">
368				<aside id="rss-3" class="widget widget_rss"><h3 class="widget-title"><a class="rsswidget rss-widget-feed" href="https://opensourcehk.substack.com/feed"><img class="rss-widget-icon" style="border:0" width="14" height="14" src="https://opensource.hk/wp-includes/images/rss.png" alt="RSS feed: Latest Newsletter Content" loading="lazy" /></a> <a class="rsswidget rss-widget-title" href="https://opensourcehk.substack.com/">Latest Newsletter Content</a></h3><nav aria-label="Latest Newsletter Content"><ul><li><a class='rsswidget' href='https://opensourcehk.substack.com/p/oshk-july-meetup-dont-panicstart'>OSHK July Meetup: Don’t Panic—Start Your PostgreSQL Journey</a></li><li><a class='rsswidget' href='https://opensourcehk.substack.com/p/join-hkoscon-2026-hong-kongs-premier'>Join HKOSCon 2026: Hong Kong&#039;s Premier Open Source Conference – June 6 | Secure Your Free/ discounted Spot Now! 🚀</a></li><li><a class='rsswidget' href='https://opensourcehk.substack.com/p/dont-sleep-on-april-bloomberg-agentcon'>Don’t Sleep on April – Bloomberg, AgentCon &amp; HKOSCon CFP Deadline</a></li></ul></nav></aside><aside id="custom_html-3" class="widget_text widget widget_custom_html"><h3 class="widget-title">Search</h3><div class="textwidget custom-html-widget">
368<script async src="https://cse.google.com/cse.js?cx=ba74684c0e756bfe9"></script>
368
369<div class="gcse-search"></div></div></aside><aside id="categories-2" class="widget widget_categories"><h3 class="widget-title">Categories</h3><nav aria-label="Categories">
370			<ul>
371					<li class="cat-item cat-item-2"><a href="https://opensource.hk/category/events/">Events</a>
372<ul class='children'>
373	<li class="cat-item cat-item-324"><a href="https://opensource.hk/category/events/meetups/">Meetups</a>
374</li>
375	<li class="cat-item cat-item-328"><a href="https://opensource.hk/category/events/ad-hoc-events/">Ad Hoc Events</a>
376</li>
377	<li class="cat-item cat-item-9"><a href="https://opensource.hk/category/events/supporting-events/">Supporting Events</a>
378</li>
379	<li class="cat-item cat-item-112"><a href="https://opensource.hk/category/events/overseas/">Overseas Activities</a>
380</li>
381	<li class="cat-item cat-item-49"><a href="https://opensource.hk/category/events/workshops/">Workshops</a>
382</li>
383	<li class="cat-item cat-item-111"><a href="https://opensource.hk/category/events/youth/">Program for Youth</a>
384</li>
385	<li class="cat-item cat-item-17"><a href="https://opensource.hk/category/events/hkpug/">Hong Kong Python User Group</a>
386</li>
387	<li class="cat-item cat-item-19"><a href="https://opensource.hk/category/events/hkrug/">Hong Kong R User Group</a>
388</li>
389	<li class="cat-item cat-item-26"><a href="https://opensource.hk/category/events/hkoscon/">Hong Kong Open Source Conference</a>
390</li>
391</ul>
392</li>
393	<li class="cat-item cat-item-369"><a href="https://opensource.hk/category/keynote-invited-speeches/">Keynote &amp; Invited Speeches</a>
394</li>
395	<li class="cat-item cat-item-18"><a href="https://opensource.hk/category/committee-updates/">Committee Updates</a>
396</li>
397	<li class="cat-item cat-item-341"><a href="https://opensource.hk/category/media-coverage/">Media Coverage</a>
398</li>
399	<li class="cat-item cat-item-110"><a href="https://opensource.hk/category/open-data/">Open Data</a>
400</li>
401	<li class="cat-item cat-item-1 current-cat"><a aria-current="page" href="https://opensource.hk/category/open-source-news/">Open Source News</a>
402</li>
403			</ul>
404
405			</nav></aside><aside id="archives-2" class="widget widget_archive"><h3 class="widget-title">Archives</h3>		<label class="screen-reader-text" for="archives-dropdown-2">Archives</label>
406		<select id="archives-dropdown-2" name="archive-dropdown">
407			
408			<option value="">Select Month</option>
409				<option value='https://opensource.hk/2026/10/'> October 2026 </option>
410	<option value='https://opensource.hk/2026/09/'> September 2026 </option>
411	<option value='https://opensource.hk/2026/08/'> August 2026 </option>
412	<option value='https://opensource.hk/2026/07/'> July 2026 </option>
413	<option value='https://opensource.hk/2026/06/'> June 2026 </option>
414	<option value='https://opensource.hk/2026/05/'> May 2026 </option>
415	<option value='https://opensource.hk/2026/04/'> April 2026 </option>
416	<option value='https://opensource.hk/2026/03/'> March 2026 </option>
417	<option value='https://opensource.hk/2026/02/'> February 2026 </option>
418	<option value='https://opensource.hk/2025/12/'> December 2025 </option>
419	<option value='https://opensource.hk/2025/11/'> November 2025 </option>
420	<option value='https://opensource.hk/2025/10/'> October 2025 </option>
421	<option value='https://opensource.hk/2025/06/'> June 2025 </option>
422	<option value='https://opensource.hk/2025/05/'> May 2025 </option>
423	<option value='https://opensource.hk/2025/04/'> April 2025 </option>
424	<option value='https://opensource.hk/2025/03/'> March 2025 </option>
425	<option value='https://opensource.hk/2025/01/'> January 2025 </option>
426	<option value='https://opensource.hk/2024/12/'> December 2024 </option>
427	<option value='https://opensource.hk/2024/11/'> November 2024 </option>
428	<option value='https://opensource.hk/2024/10/'> October 2024 </option>
429	<option value='https://opensource.hk/2024/09/'> September 2024 </option>
430	<option value='https://opensource.hk/2024/08/'> August 2024 </option>
431	<option value='https://opensource.hk/2024/06/'> June 2024 </option>
432	<option value='https://opensource.hk/2024/03/'> March 2024 </option>
433	<option value='https://opensource.hk/2024/02/'> February 2024 </option>
434	<option value='https://opensource.hk/2024/01/'> January 2024 </option>
435	<option value='https://opensource.hk/2023/12/'> December 2023 </option>
436	<option value='https://opensource.hk/2023/10/'> October 2023 </option>
437	<option value='https://opensource.hk/2023/08/'> August 2023 </option>
438	<option value='https://opensource.hk/2023/07/'> July 2023 </option>
439	<option value='https://opensource.hk/2023/06/'> June 2023 </option>
440	<option value='https://opensource.hk/2023/05/'> May 2023 </option>
441	<option value='https://opensource.hk/2023/04/'> April 2023 </option>
442	<option value='https://opensource.hk/2023/03/'> March 2023 </option>
443	<option value='https://opensource.hk/2022/10/'> October 2022 </option>
444	<option value='https://opensource.hk/2022/08/'> August 2022 </option>
445	<option value='https://opensource.hk/2022/07/'> July 2022 </option>
446	<option value='https://opensource.hk/2022/06/'> June 2022 </option>
447	<option value='https://opensource.hk/2022/05/'> May 2022 </option>
448	<option value='https://opensource.hk/2022/04/'> April 2022 </option>
449	<option value='https://opensource.hk/2022/03/'> March 2022 </option>
450	<option value='https://opensource.hk/2022/02/'> February 2022 </option>
451	<option value='https://opensource.hk/2022/01/'> January 2022 </option>
452	<option value='https://opensource.hk/2021/12/'> December 2021 </option>
453	<option value='https://opensource.hk/2021/11/'> November 2021 </option>
454	<option value='https://opensource.hk/2021/10/'> October 2021 </option>
455	<option value='https://opensource.hk/2021/09/'> September 2021 </option>
456	<option value='https://opensource.hk/2021/08/'> August 2021 </option>
457	<option value='https://opensource.hk/2021/07/'> July 2021 </option>
458	<option value='https://opensource.hk/2021/06/'> June 2021 </option>
459	<option value='https://opensource.hk/2021/05/'> May 2021 </option>
460	<option value='https://opensource.hk/2021/03/'> March 2021 </option>
461	<option value='https://opensource.hk/2021/02/'> February 2021 </option>
462	<option value='https://opensource.hk/2021/01/'> January 2021 </option>
463	<option value='https://opensource.hk/2020/12/'> December 2020 </option>
464	<option value='https://opensource.hk/2020/11/'> November 2020 </option>
465	<option value='https://opensource.hk/2020/10/'> October 2020 </option>
466	<option value='https://opensource.hk/2020/09/'> September 2020 </option>
467	<option value='https://opensource.hk/2020/08/'> August 2020 </option>
468	<option value='https://opensource.hk/2020/07/'> July 2020 </option>
469	<option value='https://opensource.hk/2020/06/'> June 2020 </option>
470	<option value='https://opensource.hk/2020/04/'> April 2020 </option>
471	<option value='https://opensource.hk/2020/01/'> January 2020 </option>
472	<option value='https://opensource.hk/2019/10/'> October 2019 </option>
473	<option value='https://opensource.hk/2019/08/'> August 2019 </option>
474	<option value='https://opensource.hk/2019/06/'> June 2019 </option>
475	<option value='https://opensource.hk/2019/05/'>
475 May 2019 </option>
476	<option value='https://opensource.hk/2019/04/'> April 2019 </option>
477	<option value='https://opensource.hk/2019/03/'> March 2019 </option>
478	<option value='https://opensource.hk/2019/02/'> February 2019 </option>
479	<option value='https://opensource.hk/2019/01/'> January 2019 </option>
480	<option value='https://opensource.hk/2018/11/'> November 2018 </option>
481	<option value='https://opensource.hk/2018/10/'> October 2018 </option>
482	<option value='https://opensource.hk/2018/08/'> August 2018 </option>
483	<option value='https://opensource.hk/2018/07/'> July 2018 </option>
484	<option value='https://opensource.hk/2018/06/'> June 2018 </option>
485	<option value='https://opensource.hk/2018/05/'> May 2018 </option>
486	<option value='https://opensource.hk/2018/04/'> April 2018 </option>
487	<option value='https://opensource.hk/2018/03/'> March 2018 </option>
488	<option value='https://opensource.hk/2018/02/'> February 2018 </option>
489	<option value='https://opensource.hk/2018/01/'> January 2018 </option>
490	<option value='https://opensource.hk/2017/12/'> December 2017 </option>
491	<option value='https://opensource.hk/2017/08/'> August 2017 </option>
492	<option value='https://opensource.hk/2017/06/'> June 2017 </option>
493	<option value='https://opensource.hk/2017/05/'> May 2017 </option>
494	<option value='https://opensource.hk/2017/02/'> February 2017 </option>
495	<option value='https://opensource.hk/2017/01/'> January 2017 </option>
496	<option value='https://opensource.hk/2016/10/'> October 2016 </option>
497	<option value='https://opensource.hk/2016/09/'> September 2016 </option>
498	<option value='https://opensource.hk/2016/08/'> August 2016 </option>
499	<option value='https://opensource.hk/2016/06/'> June 2016 </option>
500	<option value='https://opensource.hk/2016/02/'> February 2016 </option>
501	<option value='https://opensource.hk/2015/10/'> October 2015 </option>
502	<option value='https://opensource.hk/2015/09/'> September 2015 </option>
503	<option value='https://opensource.hk/2015/08/'> August 2015 </option>
504	<option value='https://opensource.hk/2015/07/'> July 2015 </option>
505	<option value='https://opensource.hk/2015/06/'> June 2015 </option>
506	<option value='https://opensource.hk/2015/05/'> May 2015 </option>
507	<option value='https://opensource.hk/2015/04/'> April 2015 </option>
508	<option value='https://opensource.hk/2015/03/'> March 2015 </option>
509	<option value='https://opensource.hk/2015/02/'> February 2015 </option>
510	<option value='https://opensource.hk/2015/01/'> January 2015 </option>
511	<option value='https://opensource.hk/2014/12/'> December 2014 </option>
512	<option value='https://opensource.hk/2014/11/'>
512 November 2014 </option>
513	<option value='https://opensource.hk/2014/10/'> October 2014 </option>
514	<option value='https://opensource.hk/2014/09/'> September 2014 </option>
515	<option value='https://opensource.hk/2014/08/'> August 2014 </option>
516	<option value='https://opensource.hk/2014/07/'> July 2014 </option>
517	<option value='https://opensource.hk/2014/06/'> June 2014 </option>
518	<option value='https://opensource.hk/2014/05/'> May 2014 </option>
519	<option value='https://opensource.hk/2014/04/'> April 2014 </option>
520	<option value='https://opensource.hk/2014/03/'> March 2014 </option>
521	<option value='https://opensource.hk/2014/02/'> February 2014 </option>
522	<option value='https://opensource.hk/2014/01/'> January 2014 </option>
523	<option value='https://opensource.hk/2013/12/'> December 2013 </option>
524	<option value='https://opensource.hk/2013/11/'> November 2013 </option>
525	<option value='https://opensource.hk/2013/10/'> October 2013 </option>
526	<option value='https://opensource.hk/2013/09/'> September 2013 </option>
527	<option value='https://opensource.hk/2013/08/'> August 2013 </option>
528	<option value='https://opensource.hk/2013/06/'> June 2013 </option>
529	<option value='https://opensource.hk/2013/05/'> May 2013 </option>
530	<option value='https://opensource.hk/2013/03/'> March 2013 </option>
531	<option value='https://opensource.hk/2013/01/'> January 2013 </option>
532	<option value='https://opensource.hk/2012/11/'> November 2012 </option>
533	<option value='https://opensource.hk/2012/09/'> September 2012 </option>
534	<option value='https://opensource.hk/2012/08/'> August 2012 </option>
535	<option value='https://opensource.hk/2012/07/'> July 2012 </option>
536	<option value='https://opensource.hk/2012/06/'> June 2012 </option>
537	<option value='https://opensource.hk/2012/05/'> May 2012 </option>
538	<option value='https://opensource.hk/2012/04/'> April 2012 </option>
539	<option value='https://opensource.hk/2012/03/'> March 2012 </option>
540	<option value='https://opensource.hk/2012/02/'> February 2012 </option>
541	<option value='https://opensource.hk/2012/01/'> January 2012 </option>
542	<option value='https://opensource.hk/2011/12/'> December 2011 </option>
543	<option value='https://opensource.hk/2011/08/'> August 2011 </option>
544	<option value='https://opensource.hk/2011/04/'> April 2011 </option>
545
546		</select>
547
548			
548<script>
549( ( dropdownId ) => {
550	const dropdown = document.getElementById( dropdownId );
551	function onSelectChange() {
552		setTimeout( () => {
553			if ( 'escape' === dropdown.dataset.lastkey ) {
554				return;
555			}
556			if ( dropdown.value ) {
557				document.location.href = dropdown.value;
558			}
559		}, 250 );
560	}
561	function onKeyUp( event ) {
562		if ( 'Escape' === event.key ) {
563			dropdown.dataset.lastkey = 'escape';
564		} else {
565			delete dropdown.dataset.lastkey;
566		}
567	}
568	function onClick() {
569		delete dropdown.dataset.lastkey;
570	}
571	dropdown.addEventListener( 'keyup', onKeyUp );
572	dropdown.addEventListener( 'click', onClick );
573	dropdown.addEventListener( 'change', onSelectChange );
574})( "archives-dropdown-2" );
575
576//# sourceURL=WP_Widget_Archives%3A%3Awidget
577</script>
577
578</aside><aside id="tag_cloud-2" class="widget widget_tag_cloud"><h3 class="widget-title">Tags</h3><nav aria-label="Tags"><div class="tagcloud"><a href="https://opensource.hk/tag/ansible/" class="tag-cloud-link tag-link-393 tag-link-position-1" style="font-size: 8pt;" aria-label="ansible (1 item)">ansible</a>
579<a href="https://opensource.hk/tag/apache/" class="tag-cloud-link tag-link-5 tag-link-position-2" style="font-size: 8pt;" aria-label="apache (1 item)">apache</a>
580<a href="https://opensource.hk/tag/blender/" class="tag-cloud-link tag-link-113 tag-link-position-3" style="font-size: 9.8129496402878pt;" aria-label="blender (2 items)">blender</a>
581<a href="https://opensource.hk/tag/blockchain/" class="tag-cloud-link tag-link-115 tag-link-position-4" style="font-size: 9.8129496402878pt;" aria-label="blockchain (2 items)">blockchain</a>
582<a href="https://opensource.hk/tag/commonvoice-en/" class="tag-cloud-link tag-link-405 tag-link-position-5" style="font-size: 8pt;" aria-label="commonvoice (1 item)">commonvoice</a>
583<a href="https://opensource.hk/tag/devops/" class="tag-cloud-link tag-link-139 tag-link-position-6" style="font-size: 8pt;" aria-label="devops (1 item)">devops</a>
584<a href="https://opensource.hk/tag/education/" class="tag-cloud-link tag-link-143 tag-link-position-7" style="font-size: 8pt;" aria-label="education (1 item)">education</a>
585<a href="https://opensource.hk/tag/elasticsearch/" class="tag-cloud-link tag-link-3 tag-link-position-8" style="font-size: 9.8129496402878pt;" aria-label="elasticsearch (2 items)">elasticsearch</a>
586<a href="https://opensource.hk/tag/firefox/" class="tag-cloud-link tag-link-374 tag-link-position-9" style="font-size: 13.539568345324pt;" aria-label="firefox (6 items)">firefox</a>
587<a href="https://opensource.hk/tag/freehkfonts/" class="tag-cloud-link tag-link-16 tag-link-position-10" style="font-size: 8pt;" aria-label="freehkfonts (1 item)">freehkfonts</a>
588<a href="https://opensource.hk/tag/gnome-en/" class="tag-cloud-link tag-link-362 tag-link-position-11" style="font-size: 13.539568345324pt;" aria-label="gnome (6 items)">gnome</a>
589<a href="https://opensource.hk/tag/hackathon/" class="tag-cloud-link tag-link-478 tag-link-position-12" style="font-size: 12.028776978417pt;" aria-label="Hackathon (4 items)">Hackathon</a>
590<a href="https://opensource.hk/tag/hacktoberfest/" class="tag-cloud-link tag-link-336 tag-link-position-13" style="font-size: 8pt;" aria-label="Hacktoberfest (1 item)">Hacktoberfest</a>
591<a href="https://opensource.hk/tag/haxe/" class="tag-cloud-link tag-link-140 tag-link-position-14" style="font-size: 8pt;" aria-label="haxe (1 item)">haxe</a>
592<a href="https://opensource.hk/tag/hkoscon/" class="tag-cloud-link tag-link-70 tag-link-position-15" style="font-size: 22pt;" aria-label="HKOSCon (48 items)">HKOSCon</a>
593<a href="https://opensource.hk/tag/ibm/" class="tag-cloud-link tag-link-13 tag-link-position-16" style="font-size: 9.8129496402878pt;" aria-label="ibm (2 items)">ibm</a>
594<a href="https://opensource.hk/tag/input-method/" class="tag-cloud-link tag-link-380 tag-link-position-17" style="font-size: 9.8129496402878pt;" aria-label="input method (2 items)">input method</a>
595<a href="https://opensource.hk/tag/ios/" class="tag-cloud-link tag-link-332 tag-link-position-18" style="font-size: 11.021582733813pt;" aria-label="iOS (3 items)">iOS</a>
596<a href="https://opensource.hk/tag/iot/" class="tag-cloud-link tag-link-378 tag-link-position-19" style="font-size: 9.8129496402878pt;" aria-label="IoT (2 items)">IoT</a>
597<a href="https://opensource.hk/tag/java/" class="tag-cloud-link tag-link-6 tag-link-position-20" style="font-size: 12.028776978417pt;" aria-label="java (4 items)">java</a>
598<a href="https://opensource.hk/tag/javascript/" class="tag-cloud-link tag-link-8 tag-link-position-21" style="font-size: 12.028776978417pt;" aria-label="javascript (4 items)">javascript</a>
599<a href="https://opensource.hk/tag/kafka/" class="tag-cloud-link tag-link-528 tag-link-position-22" style="font-size: 8pt;" aria-label="Kafka (1 item)">Kafka</a>
600<a href="https://opensource.hk/tag/kubernetes/" class="tag-cloud-link tag-link-334 tag-link-position-23" style="font-size: 8pt;" aria-label="kubernetes (1 item)">kubernetes</a>
601<a href="https://opensource.hk/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-24" style="font-size: 8pt;" aria-label="linux (1 item)">linux</a>
602<a href="https://opensource.hk/tag/machinelearning/" class="tag-cloud-link tag-link-114 tag-link-position-25" style="font-size: 8pt;" aria-label="machinelearning (1 item)">machinelearning</a>
603<a href="https://opensource.hk/tag/microsoft/" class="tag-cloud-link tag-link-66 tag-link-position-26" style="font-size: 8pt;" aria-label="microsoft (1 item)">microsoft</a>
604<a href="https://opensource.hk/tag/mobile/" class="tag-cloud-link tag-link-137 tag-link-position-27" style="font-size: 9.8129496402878pt;" aria-label="mobile (2 items)">mobile</a>
605<a href="https://opensource.hk/tag/mopcon/" class="tag-cloud-link tag-link-474 tag-link-position-28" style="font-size: 8pt;" aria-label="MOPCON (1 item)">MOPCON</a>
606<a href="https://opensource.hk/tag/mozilla/" class="tag-cloud-link tag-link-53 tag-link-position-29" style="font-size: 12.834532374101pt;" aria-label="mozilla (5 items)">mozilla</a>
607<a href="https://opensource.hk/tag/mysql/" class="tag-cloud-link tag-link-39 tag-link-position-30" style="font-size: 11.021582733813pt;" aria-label="mysql (3 items)">mysql</a>
608<a href="https://opensource.hk/tag/olpc/" class="tag-cloud-link tag-link-50 tag-link-position-31" style="font-size: 8pt;" aria-label="olpc (1 item)">olpc</a>
609<a href="https://opensource.hk/tag/opendata/" class="tag-cloud-link tag-link-7 tag-link-position-32" style="font-size: 15.453237410072pt;" aria-label="Open Data (10 items)">Open Data</a>
610<a href="https://opensource.hk/tag/openstack/" class="tag-cloud-link tag-link-10 tag-link-position-33" style="font-size: 8pt;" aria-label="openstack (1 item)">openstack</a>
611<a href="https://opensource.hk/tag/pyconapac/" class="tag-cloud-link tag-link-476 tag-link-position-34" style="font-size: 9.8129496402878pt;" aria-label="PyCon APAC (2 items)">PyCon APAC</a>
612<a href="https://opensource.hk/tag/pyconhk/" class="tag-cloud-link tag-link-388 tag-link-position-35" style="font-size: 15.856115107914pt;" aria-label="PyCon HK (11 items)">PyCon HK</a>
613<a href="https://opensource.hk/tag/python/" class="tag-cloud-link tag-link-25 tag-link-position-36" style="font-size: 16.561151079137pt;" aria-label="python (13 items)">python</a>
614<a href="https://opensource.hk/tag/security/" class="tag-cloud-link tag-link-136 tag-link-position-37" style="font-size: 9.8129496402878pt;" aria-label="security (2 items)">security</a>
615<a href="https://opensource.hk/tag/softwarefreedomday/" class="tag-cloud-link tag-link-67 tag-link-position-38" style="font-size: 9.8129496402878pt;" aria-label="softwarefreedomday (2 items)">softwarefreedomday</a>
616<a href="https://opensource.hk/tag/specialevent/" class="tag-cloud-link tag-link-480 tag-link-position-39" style="font-size: 16.561151079137pt;" aria-label="Special Event (13 items)">Special Event</a>
617<a href="https://opensource.hk/tag/student/" class="tag-cloud-link tag-link-33 tag-link-position-40" style="font-size: 11.021582733813pt;" aria-label="student (3 items)">student</a>
618<a href="https://opensource.hk/tag/swift2021/" class="tag-cloud-link tag-link-419 tag-link-position-41" style="font-size: 11.021582733813pt;" aria-label="swift2021 (3 items)">swift2021</a>
619<a href="https://opensource.hk/tag/videolan/" class="tag-cloud-link tag-link-52 tag-link-position-42" style="font-size: 8pt;" aria-label="videolan (1 item)">videolan</a>
620<a href="https://opensource.hk/tag/web-application/" class="tag-cloud-link tag-link-382 tag-link-position-43" style="font-size: 9.8129496402878pt;" aria-label="web application (2 items)">web application</a>
621<a href="https://opensource.hk/tag/wordpress/" class="tag-cloud-link tag-link-4 tag-link-position-44" style="font-size: 9.8129496402878pt;" aria-label="WordPress (2 items)">WordPress</a>
622<a href="https://opensource.hk/tag/workshop/" class="tag-cloud-link tag-link-470 tag-link-position-45" style="font-size: 15.453237410072pt;" aria-label="workshop (10 items)">workshop</a></div>
623</nav></aside><aside id="block-2" class="widget widget_block">
624<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex">
625
626</ul>
627</aside>	</div>
628</div><!-- #secondary -->
629		</div><!-- close .row -->
630	</div><!-- close .container -->
631</div><!-- close .site-content -->
632
633	<div id="footer-area">
634		<div class="container footer-inner">
635			<div class="row">
636				
637	
638	<div class="footer-widget-area">
639				<div class="col-sm-4 footer-widget" role="complementary">
640			<div id="meta-2" class="widget widget_meta"><h3 class="widgettitle">Meta</h3><nav aria-label="Meta">
641		<ul>
642						<li><a rel="nofollow" href="https://opensource.hk/wp-login.php">Log in</a></li>
643			<li><a href="https://opensource.hk/feed/">Entries feed</a></li>
644			<li><a href="https://opensource.hk/comments/feed/">Comments feed</a></li>
645
646			<li><a href="https://wordpress.org/">WordPress.org</a></li>
647		</ul>
648
649		</nav></div>		</div><!-- .widget-area .first -->
650		
651				<div class="col-sm-4 footer-widget" role="complementary">
652			<div id="custom_html-2" class="widget_text widget widget_custom_html"><h3 class="widgettitle">
652Creative Commons</h3><div class="textwidget custom-html-widget"><p xmlns:dct="http://purl.org/dc/terms/" xmlns:cc="http://creativecommons.org/ns#" class="license-text">This work by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://opensource.hk/">Open Source Hong Kong</a> is licensed under <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0">CC BY-SA 4.0<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1" /><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1" /><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/sa.svg?ref=chooser-v1" /></a></p></div></div>		</div><!-- .widget-area .second -->
653		
654				<div class="col-sm-4 footer-widget" role="complementary">
655			<div id="text-5" class="widget widget_text"><h3 class="widgettitle">About Open Source Hong Kong</h3>			<div class="textwidget"><p>Established in 2006, Open Source Hong Kong registered as an organization under Cap. 151 Society Ordinance in Hong Kong, registration number 54617. It is also a Community member of the <a href="https://openinventionnetwork.com/community-directory-alphabetical/" target="_blank" rel="noopener">Open Invention Network</a> and has been an <a href="https://opensource.org/affiliates" target="_blank" rel="noopener">Open Source Initiative</a> Affiliate Member since 2019. To learn more, please read the <a href="https://opensource.hk/about/" rel="noopener">About</a> section. You may also want to check out our <a href="https://opensource.hk/privacy-policy-statement/" rel="noopener">Privacy Policy Statement</a>.</p>
656</div>
657		</div>		</div><!-- .widget-area .third -->
658			</div>
659			</div>
660		</div>
661
662		<footer id="colophon" class="site-footer" role="contentinfo">
663			<div class="site-info container">
664				<div class="row">
665					<nav id="menu-social" class="social-icons"><ul id="menu-social-items" class="social-menu"><li id="menu-item-1712" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1712"><a href="https://linkedin.com/company/opensourcehk"><i class="social_icon"><span>LinkedIn</span></i></a></li>
666<li id="menu-item-1713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1713"><a href="https://www.facebook.com/opensourcehk"><i class="social_icon"><span>Facebook</span></i></a></li>
667<li id="menu-item-1714" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1714"><a href="https://twitter.com/opensourcehk"><i class="social_icon"><span>Twitter</span></i></a></li>
668<li id="menu-item-1715" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1715"><a href="https://www.youtube.com/channel/UCm0wh7teyJywvyL0vPgiOyw"><i class="social_icon"><span>YouTube</span></i></a></li>
669<li id="menu-item-1808" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1808"><a href="https://t.me/opensourcehkdiscuss"><i class="social_icon"><span>Telegram</span></i></a></li>
670<li id="menu-item-1734" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1734"><a href="https://github.com/opensourcehk/"><i class="social_icon"><span>GitHub</span></i></a></li>
671</ul></nav>					<nav role="navigation" class="col-md-6">
672											</nav>
673					<div class="copyright col-md-6">
674												Theme by <a href="https://colorlib.com/" target="_blank" rel="nofollow noopener">Colorlib</a> Powered by <a href="https://wordpress.org/" target="_blank">WordPress</a>					</div>
675				</div>
676			</div><!-- .site-info -->
677			<div class="scroll-to-top"><i class="fa fa-angle-up"></i></div>
677<!-- .scroll-to-top -->
678		</footer><!-- #colophon -->
679	</div>
680</div><!-- #page -->
681
682		
682<script type="text/javascript">
683		  jQuery(document).ready(function ($) {
684			if ($(window).width() >= 767) {
685			  $('.navbar-nav > li.menu-item > a').click(function () {
686				if ($(this).attr('target') !== '_blank') {
687				  window.location = $(this).attr('href')
688				}
689			  })
690			}
691		  })
692		</script>
692
693	
693<script type="speculationrules">
694{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/sparkling/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
695</script>
vendor: 1 bytes, line 695
695
696<script id="pll_cookie_script-js-after">
697(function() {
698				var expirationDate = new Date();
699				expirationDate.setTime( expirationDate.getTime() + 31536000 * 1000 );
700				document.cookie = "pll_language=en; expires=" + expirationDate.toUTCString() + "; path=/; secure; SameSite=Lax";
701			}());
702
703//# sourceURL=pll_cookie_script-js-after
704</script>
vendor: 1 bytes, line 704
704
705<script id="sparkling-bootstrapjs-js" src="https://opensource.hk/wp-content/themes/sparkling/assets/js/vendor/bootstrap.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 705
705
706<script id="sparkling-functions-js" src="https://opensource.hk/wp-content/themes/sparkling/assets/js/functions.js?ver=2.6.11"></script>
vendor: 1 bytes, line 706
706
707<script id="sparkling-skip-link-focus-fix-js" src="https://opensource.hk/wp-content/themes/sparkling/assets/js/skip-link-focus-fix.min.js?ver=2.6.11"></script>
vendor: 1 bytes, line 707
707
708<script id="wp-emoji-settings" type="application/json">
709{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://opensource.hk/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
710</script>
vendor: 1 bytes, line 710
710
711<script type="module">
712/*! This file is auto-generated */
713var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
714//# sourceURL=https://opensource.hk/wp-includes/js/wp-emoji-loader.min.js
715</script>
715
716
717<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"64d359e6e529495da328e47809785f2e","r":1,"spa":2}' crossorigin="anonymous"></script>
717
718</body>
719</html>
720
721<!-- Dynamic page generated in 0.287 seconds. -->
722<!-- Cached page generated by WP-Super-Cache on 2026-10-01 20:30:03 -->
723
724<!-- super cache -->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.