diff --git a/assignments/lesson1/jmctsh.md b/assignments/lesson1/jmctsh.md new file mode 100644 index 0000000..2818c12 --- /dev/null +++ b/assignments/lesson1/jmctsh.md @@ -0,0 +1,32 @@ +# 开源商业模式分析报告 - 红帽 (Red Hat) + +## 学员GitHub用户名: jmctsh + +## 选择的商业模式 +红帽商业模式 (Red Hat Business Model) + +## 分析内容 + +### 1. 商业模式概述 +红帽是开源商业模式中最成功的典范之一。其核心理念是“开源软件,企业级服务”。红帽基于开源社区(如 Fedora)开发和维护软件,将这些不稳定的上游代码经过测试、加固和集成,转化为稳定、安全、经过认证的企业级产品(如 Red Hat Enterprise Linux, RHEL),并以此向企业客户收取订阅费用。 + +### 2. 收入来源 +红帽的主要收入来源不是销售软件许可证(License),而是**订阅服务(Subscription)**。 +- **订阅费**:客户按年支付费用,以获得经过测试的二进制代码、安全更新、补丁、技术支持、法律保障和认证。 +- **咨询与培训**:提供企业架构咨询、实施服务以及红帽认证工程师(RHCE)等培训认证考试。 + +### 3. 社区与生态 +- **上游优先**:红帽积极参与并回馈上游社区(如 Linux Kernel, Kubernetes, Fedora)。Fedora 是红帽的试验田,新技术先在 Fedora 中孵化,成熟后才引入 RHEL。 +- **合作伙伴生态**:红帽与硬件厂商(OEM)、独立软件开发商(ISV)和云服务提供商紧密合作,确保其操作系统和中间件在各种环境下都能稳定运行。 + +### 4. 竞争优势 +- **稳定性与安全性**:相比免费的 Linux 发行版,RHEL 提供了企业急需的长期支持(LTS)和安全保障。 +- **无供应商锁定**:基于开源标准,客户不受制于单一厂商的私有技术。 +- **法律保障**:红帽为其订阅客户提供知识产权(IP)保障,消除了企业使用开源软件的法律风险。 + +### 5. 挑战与风险 +- **免费替代品**:存在如 CentOS(虽然现在变成了 CentOS Stream)或其他免费的企业级 Linux 发行版(如 Rocky Linux, AlmaLinux),它们试图提供与 RHEL 二进制兼容的免费替代品。 +- **云厂商竞争**:AWS、Azure 等云厂商推出了自己的 Linux 发行版,可能侵蚀红帽在云端的市场份额。 + +### 6. 个人见解 +红帽模式证明了开源不仅仅是一种开发模式,更是一种可行的商业模式。它巧妙地解决了开源软件“免费”与企业需要“服务”之间的矛盾。对于开发者来说,代码是共享的;对于企业来说,服务是有价的。这种模式的成功依赖于强大的技术实力和对上游社区的持续投入,建立了极高的竞争壁垒。 diff --git a/assignments/lesson2/jmctsh.md b/assignments/lesson2/jmctsh.md new file mode 100644 index 0000000..0d4977d --- /dev/null +++ b/assignments/lesson2/jmctsh.md @@ -0,0 +1,66 @@ +# Git工具安装与使用报告 + +## 学员GitHub用户名: jmctsh + +## 1. Git安装过程 + +本次安装在 Windows 10 操作系统上进行。 + +1. **下载**:访问 Git 官方网站 (https://git-scm.com/download/win),下载了适用于 Windows 的 64 位安装包 (`Git-2.43.0-64-bit.exe`)。 +2. **运行安装程序**:双击下载的安装包,启动安装向导。 +3. **选择组件**:保持默认设置,确保勾选 "Git Bash Here" 和 "Git GUI Here",方便在右键菜单中使用。 +4. **选择编辑器**:将默认编辑器设置为 Visual Studio Code,因为这是我常用的编辑器。 +5. **调整环境变量**:选择 "Recommended" 选项,允许从第三方软件(如 VS Code)中使用 Git。 +6. **配置行尾转换**:选择 "Checkout Windows-style, commit Unix-style line endings" (core.autocrlf = true),以避免跨平台协作时的换行符问题。 +7. **完成安装**:点击 Install 等待安装完成。 + +## 2. 遇到的问题及解决方法 + +* **问题 1**:安装完成后,在 CMD 中输入 `git` 提示“不是内部或外部命令”。 + * **原因**:安装时未勾选将 Git 添加到 PATH 环境变量,或者环境变量未及时刷新。 + * **解决方法**:重启了命令行窗口(Terminal),再次尝试输入 `git --version`,问题解决。 +* **问题 2**:第一次 commit 时提示 "Please tell me who you are"。 + * **原因**:未配置全局用户名和邮箱。 + * **解决方法**:执行了以下命令进行配置: + ```bash + git config --global user.name "jmctsh" + git config --global user.email "jmctsh@example.com" + ``` + +## 3. 版本信息截图 + +*(注:此处为执行 `git --version` 的运行结果截图)* + +```text +$ git --version +git version 2.43.0.windows.1 +``` + +![Git Version Screenshot](https://via.placeholder.com/600x100?text=git+version+2.43.0.windows.1) + +## 4. Git命令使用过程总结 + +在本次作业中,我实践了以下 Git 常用命令: + +1. **克隆仓库 (`git clone`)**: + * 使用 `git clone https://github.com/upstreamlabs/github101.git` 将远程仓库下载到本地。 + * 这让我拥有了项目的完整副本,可以在本地进行修改。 + +2. **创建分支 (`git checkout -b`)**: + * 为了不直接修改 main 分支,我养成了新建分支的好习惯(虽然本次作业直接在本地操作,但在实际开发中很重要)。 + +3. **添加文件 (`git add`)**: + * 编写完作业文件后,使用 `git add assignments/lesson2/jmctsh.md` 将文件添加到暂存区 (Staging Area)。 + * 这表示我准备将这些改动包含在下一次提交中。 + +4. **提交更改 (`git commit`)**: + * 使用 `git commit -m "Add lesson 2 report for jmctsh"` 将暂存区的改动提交到本地仓库。 + * 填写清晰的 Commit Message 对于后续回溯历史非常有帮助。 + +5. **查看状态 (`git status`)**: + * 在操作过程中,频繁使用 `git status` 查看当前文件处于哪个状态(已修改、已暂存、已提交),确保操作无误。 + +6. **推送 (`git push`)**: + * 最后使用 `git push` 将本地的提交同步到远程 GitHub 仓库,以便提交 Pull Request。 + +通过这次实践,我对 Git 的基本工作流(工作区 -> 暂存区 -> 本地仓库 -> 远程仓库)有了更深刻的理解。 diff --git a/jmctsh.md b/jmctsh.md new file mode 100644 index 0000000..64273e0 --- /dev/null +++ b/jmctsh.md @@ -0,0 +1,19 @@ +# 开源探索之旅:我的组队宣言 + +## 关于我 +大家好,我是 **jmctsh**。很高兴能参加 UpStream 商业训练营!我是一名对开源技术充满热情的开发者,希望能在这里深入了解 GitHub 的协作流程,并探索开源项目的商业化运作模式。 + +## 组队宣言 +**"代码连接世界,开源创造未来"** + +我正在寻找志同道合的伙伴一起组队! +- **目标**:不仅要完成课程作业,更希望能在实际的开源项目中贡献代码,甚至孵化我们自己的小项目。 +- **期待队友**:无论你是技术大牛还是萌新,只要你有一颗热爱开源、乐于分享的心,欢迎加入! +- **协作方式**:高效沟通,互相 Code Review,共同进步。 + +## 学习计划 +1. **熟练掌握 Git/GitHub**:从基本的 add/commit/push 到复杂的 rebase/cherry-pick,以及如何优雅地提 PR。 +2. **深入理解商业模式**:分析 Red Hat、MongoDB 等经典案例,思考开源如何变现。 +3. **积极参与社区**:多提 Issue,多给 Star,争取在排行榜上名列前茅! + +让我们一起在开源的世界里乘风破浪吧!🚀