跳到主要内容

6 篇博文 含有标签「开源」

查看所有标签

· 阅读需 2 分钟
Seven Wate

这次 0.2.1 版本是基于博友的发现,简单处理了以下两个问题、并添加适配了文章页 Markdown 渲染 CSS 样式。

点击打开 Git 仓库下载主题

自适应媒体查询无法正确适配屏幕

基于 870px 作为阈值,划分了移动端和桌面端;移动端暂未发现明显问题,未修改 ~

桌面端现在 8K 分辨率以下的无障碍阅读(可能存在未知错误),5K 分辨率及以下完美阅读;同时支持任意百分比缩放不失真。

评论区适配存在部分问题,因为需要调用 Halo 官方的评论组件,所以简单适配了一下。

如果存在问题请告诉我 ~

适配了文章页 Markdown 样式

基于开源的 Github CSS 样式,二次修改得到 Redemption 原生文章样式,根据系统自适应浅色 / 暗色模式。

关于 Redemption

Redemption 比较符合个人审美,核心理念是回归阅读;来日方长期待日后更加精进。

· 阅读需 4 分钟
Seven Wate

最近 Jetbrains 的授权又到期了,之前有些写过相关的文章。但是那时候没有加入到相关的博客订阅,阅读量也不大。现在有一定的阅读量了,便想再次分享给大家如何免费获得个人正版授权。

关于授权模式

Jetbrains 主要面对用户为个人和组织,官方其实对于个人授权还是比较暧昧的,主要收入还是靠组织。

在此可以很明确的告诉各位,如果你所在组织使用 Jetbrains 系列工具做开发,但 Jetbrains 授权并不是组织为你购买支付并授权的,而是通过其他渠道(包括个人购买等等)授权的,都可以理解为非法授权用户。

不过国内版权意识,原谅我多 BB 了。今天最核心的事情还是免费哈哈哈

准备工作

官方提供了很多特惠方式,在此我只阐述门槛最低的一种方式——开源项目。

官方的条件要求是:

  • 了解开源定义。
  • 正在积极开发,例如,在过去 3 个月内定期提交新代码。
  • 不提供开源软件的付费版本,也不提供与开源项目相关的任何商业服务(例如付费支持、咨询等)。
  • 未获得商业公司或组织(NGO、教育、研究或政府组织)的资助。
  • 不为他们的核心项目开发者支付工资。

对于白嫖最重要的事情其实只有在过去 3 个月内定期提交新代码,项目拥有开源协议

我多次的经验发现,可以很明确的告知各位。Jetbrains 并不注重你的开源质量和影响力,只要你满足上述加重字体的条件,放心大胆的申请即可。

你在这可能有疑问了,还要等三个月嘛。你的小脑袋瓜那么聪明,我相信你可以时光逆流嘿嘿。

申请表单

  1. 注册 Jetbrains 官方账户
  2. 符合要求的开源项目
  3. 打开申请网址填写表单
  4. 等待邮件授权激活

如果超过七天未收到授权邮件,可以邮件联系官方,由于时差原因,所以不要着急。(官方不会磨磨唧唧,一般直接就给了)

申请表单

授权书

授权书

官方授权的仪式感满满的 ~

有什么疑问可以下方留言为各位解答 ~

· 阅读需 4 分钟
Seven Wate

一款 Halo 博客主题,前前后后增删改了总计近万行;借鉴 halo-theme-zozo 主题样式,自定义了一些特色。也算圆了自己想独立开发一款博客主题的念想……

Redemption

目前支持如下,将来根据需求开发。并不打算做大做强哈哈,再创辉煌 🙄。以阅读为第一要素,所以并未明显提供较现代化功能按钮,丰富了字体、字号的选择(未提供设置选项)。

  • 深色模式
  • 媒体自适应
  • Markdown 样式设计
  • 导航栏

功能介绍

主要页面

顶部徽标

就是主页面右上角那一组小图标,提供了拓展功能和页面跳转。

沉浸式阅读

博客以阅读为第一要素,故文章页面未提供功能按钮,返回和留言在页面最底部(为了表面符合国内备案要求,留言需要点击才可以显示功能区)。提供了字体和字号的选择(未提供功能按钮,目前仅可在 F12 配置),为符合各个时区的阅读舒适性,深色模式为自适应模式。

页面预览

桌面端

首页

首页

文章

摄影

友链

关于

标签

归档

移动端

首页

文章

摄影

友链

关于

标签

归档

救赎之路

为什么取 Redemption 呢,源自我最爱的一部电影《肖申克的救赎》。

博客自 2018 年至今第四年、1337 天,说长不长说短不短,心中的执念、情绪的发泄地。

😈

· 阅读需 3 分钟
Seven Wate

统一团队的 Git 工作流,包括分支工作流、Git commit 日志、tag 规范、README 模板、issue 模板,便于后续代码 review,版本发布以及日志自动化生成等等。

分支工作流

Git 分支工作流.png

根据项目实际情况安排分支工作流!

Commit 日志

日志所有内容务必使用 ASCII 字符,不要使用中文或 emoji,要求最大化兼容,便于程序处理。

commit 包括三个部分:HeaderBodyFooter

commit 格式如下:

<type>([scope]): <subject>

[body]

[footer]

示例:

feature(auth): increase length of new API key

the length is increased from 24 to 32 for new API keys

close #12

头部(Header)

标题部分只有一行,包括三个字段:类型、说明、标题。

commit-tag.png

  • 破坏兼容性的改动,影响到依赖本项目的其它系统,请在类型后面加上半角感叹号!」。
  • 标题务必不超过 72 个字符,务必精炼易懂。如无法限制在 72 个字符内,请拆分提交。
  • 描写部分小写字母开头、专有名词首字母大写、缩略语大写、结尾不用句号。

主体(Body)

标题与正文间隔一个空行。

如果内容简单,请按照标题格式。超过一行,按照常规的段落格式。

首字母大写,正确使用标点。可以多行、多段、每行不超过 72 个字符、行尾不出现空格、段落用空行隔开。

示例

feature!(api): limit array length to 256 elements

BREAKING: Array length limit is added to further limit request size. A
small number of existing apps may receive HTTP 413 "Payload too Large"
error.

脚注(Footer)

正文与脚注间隔一个空行。

Tag 规范

语义化版本.png

Issue 模板

Issue.png

README 模板

Issue.png

· 阅读需 4 分钟
Seven Wate

作为宇宙第二 IDE:Jetbrains,业内很多 ITer 肯定都了解一二。不过相对于宇宙第一 VS,Jetbrains 严格的正版授权和高昂的售价,让很多人望而却步。不过也肯定有不少细心的小伙伴发现了,如果你拥有一个开源项目便可以申请 Jetbrains 正版的授权!已经申请成功的我来分享一下过程!

很多使用 Jetbrains 系类产品的小伙伴肯定知道学生和老师是可以通过 .edu 邮箱免费获得授权,不过很多小伙伴毕业了才发现,更是悔恨相见恨晚。但 Jetbrains 提供了很多优惠,其中一项便是开源项目授权。

申请条件

申请条件

申请过程

1.填写项目具体信息

项目具体信息

这里需要注意是:

  • 第一项:是否已经有关于此项目的授权,如果你一年的授权到期了,项目也正常工作,就可以输入上一年的授权 ID 申请继续授权。
  • 第二项:授权数目,根据仓库贡献人数填写。
  • 第三项:填写的邮箱一定是项目拥有者邮箱,而且如果使用的 github 必须公开此邮箱。

2.申请反馈

项目信息提交成功

正确填写申请成功以后,我们便可以静静等待一至两周了。

没错,幸福的事情都是需要等待的!

申请结果

在我申请的过程中出现了一个小插曲,我是 2 月 14 日申请的,直至 2 月 24 日都没有收到反馈结果。我便向 opensource@jetbrains.com 询问了是否收到申请,不久便答复了我。随后授权也一并下来了,很开心。

社区询问是否收到申请

授权证书

授权证书

开源的精神永远是被值得尊敬,心存向往之心的!

估计很多看到这的小伙伴该有疑问了,开源项目?三个月?持续贡献?这容易申请么,别辛辛苦苦三个月 push 再申请失败了。

如果可以,你去我的 github 个人主页查看 Index 仓库。它不过也只是一个简单的不能再简单的静态 H5 网站,但是我也一直在不停的贡献。

记住,梦想是不分大小的,每个拥有梦想的小伙伴也都是值得尊敬的!

不过申请成功的小伙伴谨记,此授权是不可以用在商业项目上的!所以拿到公司用是不可以的,不过通过自己努力得到的正版授权一定别有一番意义!

· 阅读需 7 分钟
Seven Wate

源代码开放的软件并不一定是开源软件,开源软件有着严格统一的的定义,封闭软件(Closed Software)、自由软件(Free software)和开源软件(Open source software)有着显著地区别。

开源软件的定义

开源软件促进协会 OSI 对开源软件有明确的定义,OSI 对开源软件的定义一共有十个条款:

1. 自由再发布(Free Redistribution)
2. 源代码(Source Code)
3. 派生作品(Derived Works)
4. 作者源代码的完整性(Integrity of The Author's Source Code)
5. 不能歧视任何个人和团体(No Discrimination Against Persons or Groups)
6. 不能歧视任何领域(No Discrimination Against Fields of Endeavor)
7. 许可证的发布(Distribution of License)
8. 许可证不能针对某个产品(License Must Not Be Specific to a Product)
9. 许可证不能约束其他软件(License Must Not Restrict Other Software)
10. 许可证必须技术中立(License Must Be Technology-Neutral)

通过开源软件定义的十个条款,可以清楚的看到 OSI 所坚持的原则:

  • 坚持开放,鼓励最大化地参与和协作
  • 尊重作者权利,同时保证程序的完整性
  • 尊重独立和中立,避免任何可能影响这种独立性的事物

有了这样一个清晰而又完整的定义,在法律层面保证了开源软件的开放性,独立性和继承性。

开源软件的优点

  • 高质量
  • 零许可证费用
  • 开放和自由
  • 灵活可定制
  • 公开透明
  • 良好的学习平台

开源软件的风险

开源软件主要风险在于管理维护技术支持以及许可证法律纠纷,由于开源软件采用的协作方式,你可能无法追究某一处代码的作者(部分协议要求作者著名)。以及如果出现问题,你可能无法寻找官方的技术支持,更多的支持可能来自于社区,可这种支持不是每次都有好人跳出来帮忙。还有如果你不了解许可证可能会带来的法律风险(部分国家法律不同,如果源代码无许可证,默认著作权属于作者)。

开源许可证简介

开源许可证并不只是保护作者的权利,更多是赋予用户各项权利,许可证规定了使用主体,方式,用途。明确说明了用户可以是个人或者公司等,怎么修改和运行以及是否可以用来进行其他合法用途。

在使用开源软件要做的第一步就是找出开源软件中所涉及的所有许可证。每个开源软件的不同版本可能会使用不同的许可证,同时还有注意许可证的版本,以及有些开源软件会采用双重或多重许可(dual-license)的模式。

在 OSI 的网站上列出的 流行并广泛使用且拥有广泛社区的许可证,分别是:

  • [Apache 许可证 2.0][<https://opensource.org/licenses/Apache-2.0> ]
  • [BSD 许可证 3-Clause][https://opensource.org/licenses/BSD-3-Clause]
  • [BSD 许可证 2-Clause][https://opensource.org/licenses/BSD-2-Clause]
  • [GUN 通用公共许可证(简称 GPL)][https://opensource.org/licenses/gpl-license]
  • [GUN 宽通用公共许可证(简称 LGPL)][https://opensource.org/licenses/lgpl-license]
  • [MIT 许可证][https://opensource.org/licenses/MIT]
  • [Mozilla 公共许可证 2.0(简称 MPL)][https://opensource.org/licenses/MPL-2.0]
  • [通用开发和发布许可证 1.0(简称 CDDL)][https://opensource.org/licenses/CDDL-1.0]
  • [Eclipse 公共许可证 2.0(简称 EPL)][https://opensource.org/licenses/EPL-2.0]

许可证的兼容性

目前经过 ISO 认证的许可证多达 70 多种,被自由软件基金会认可的自由软件许可证也有数十种,而它们的条款又各不相同,有些甚至互相矛盾。这种兼容性问题被称为许可证增值问题(License proliferation)

怎么样才算兼容呢?如果使用许可证 A 的代码和使用许可证 B 的代码能在一个广域作品中结合在一起,那么 A 和 B 就是兼容的,否则就是不兼容的。更近一步,如果结合后的广义作品可以用许可证 A 发布,那么许可证 B 就是许可证 A 兼容的(A-compatible)。反之亦然,但需要注意的是兼容性并不可逆

如何选择许可证

开源许可证.png

开源许可证选择工具

如今开源软件早已经成为了软件领域不可或缺的重要组成部分,要以辨证的观点看待开源软件。它自由,平等,协作的精神实践了信息和知识共享的理念,并且实现了知识产权保护和分享之间的微妙平衡。同时开源带来的自由,免费有可能也是最贵的。


参考: 《开源软件之道》 开源社——开源许可证选择器 Open Source Initiative 阮一峰《如何选择开源许可证》