开源社区与开发者的故事

开源社区与开发者的故事

  • 什么是开源社区
  • 你参加开源社区的主要目的
  • 你是否在开源社区中贡献,或者开源自己的项目?
  • 你认为个人开发者是否应该从开源中获利?如果是,该如何获利?

今天要谈及的主题是开源社区,那么在进入主题之前,先了解一下什么是开源社区?

什么是开源社区

作为开发者,可能对于开源社区的定义没有准确的概念,但是肯定都是知道开源社区是干什么的。比如说:在开源社区你可以自由地分享自己的知识和经验,同时也可以从他人的分享中学习到更多的东西。

百度百科是这么阐述的:开源社区又称开放源代码社区,一般由拥有共同兴趣爱好的人所组成,根据相应的开源软件许可证协议公布软件源代码的网络平台,同时也为网络成员提供一个自由学习交流的空间。由于开放源码软件主要被散布在全世界的编程者所开发,开源社区就成了他们沟通交流的必要途径,因此开源社区在推动开源软件发展的过程中起着巨大的作用。那么你参加开源社区的主要目的是什么呢?

你参加开源社区的主要目的

乍一看,说起开发者参加开源社区的目的,作为开发者的我们可能会有点懵。脑袋飘过一串问号。。。我参加过开源社区吗?我什么时候接触过开源社区了?
其实,作为Java开发者的我来说,虽然自我意识里面没有参加过开源社区,但是日常工作中却确确实实和开源社区保持着紧密的接触。随后可见的开发中常用到的开源框架,现在细细数来都是开源的。
比如现在搭建项目采用的基于 SpringBoot、Shiro、Mybatis 权限管理系统的开源框架若依框架
在这里插入图片描述
以及过去用过的 SpringMVC、Hibernate、Struts 等开源框架,所以说对于我来说,其实参加开源社区的主要目的更像 get,put 的不多。
当然,开源社区除了上面说到的还有很多优秀的开源项目,比如有一次为项目组搭建部署的开源 Elasticsearch 引入 hanlp 分词插件,在开源社区找到了与 Elasticsearch 版本相匹配的开源elasticsearch-analysis-hanlp 插件
在这里插入图片描述
以及为了规范代码开发,提高代码质量,搭建部署开源项目 sonarqube
在这里插入图片描述
同时结合阿里巴巴java代码开发规范提供的开源项目 p3c ,下载开源代码进行规则自定义化后整合到 sonar 检测代码中去,从而使得项目组的开发规范尽可能的向阿里巴巴java代码开发规范靠拢
在这里插入图片描述

当然,还有为了实现项目中在线编辑资源静态文件,比如 html 文件的插件 CodeMirror
在这里插入图片描述
这么看来,在我的工作过程中,确实和开源社区项目紧密相关,并且很多优秀的插件或者说项目框架也都是来自于开源社区,开源社区对于个人在工作中的作用真的很重要,这也就是参加开源社区的主要目的了。

你是否在开源社区中贡献,或者开源自己的项目?

在开源社区中的话,作为开发者来说,曾经解答过一些开源社区中提到的问题,个人也会上传一些自己觉得有必要的小项目供自己或者他人来学习使用,比如
在这里插入图片描述
其中有的开源项目是基于原有开源项目进行的定制化的处理,比如 p3c-master ;还有的是基于开源社区原有开源项目的改造,比如 sa-token ,剩下的就是个人在开发过程中用的比较顺手的开源框架以及基础功能的小项目了。

你认为个人开发者是否应该从开源中获利?如果是,该如何获利?

个人不支持个人开发者从开源中获利。往大方面说的话,开源社区本身就是一个知识共享,经验共享,项目共享的社区,本质上是为了广大的开发者提供一个发挥自己热爱的平台,可以说就是为爱坚守。往小了说,如果开源需要付费才可以使用,那么不管对于个人开发者还是企业来说,可能都不愿意支付这笔费用,因为信息的不对等,使用者并不能保证支付的费用和获取到的开源内容是等价的,会使得大家对开源望而却步,从而使得开源社区失去了最初的初心。

同样的,付费还可能产生风险。比如作为个人开发者,如果说想从开源项目中获利的话,其实不太可能,毕竟一个人的力量是有限的,你并不能保证你的开源项目会没有问题。如果有一个企业使用了你发布的开源项目,你也从企业手中取得了一定的利益,这个时候因为你开源项目本身的未知bug造成企业的损失,这个该如何计算呢?如果说让个人开发者赔偿企业损失的话,对个人开发者不公平,毕竟获利不大;如果说个人开发者不赔偿企业损失的话,那企业觉得付费了没有得到高质量的产品,也会心中不忿。

因此说,个人开发者是否应该从开源中获利,个人并不支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/645239.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【InternLM实战营---第六节课笔记】

一、本期课程内容概述 本节课的主讲老师是【樊奇】。教学内容主要包括以下三个部分: 1.大模型智能体的背景及介绍 2. Lagent&AgentLego框架介绍 3.Lagent&AgentLego框架实战 二、学习收获 智能体出现的背景 智能体的引入旨在克服大模型在应对复杂、动态任…

Unity类银河恶魔城学习记录13-5,6 p146 Delete save file,p147 Encryption of saved data源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili FileDataHandler.cs using System; using System.IO; using UnityEngine; p…

数据科学/分析党的福音—亚马逊云科技Amazon Zero ETL(零ETL)技术介绍

2023年亚马逊云科技全球大会Re:invent上,数据产品VP Swami博士正式推出了Amazon Zero ETL服务,支持业务大数据从Aurora向Redshift的实时导入、分析。 过去在亚马逊云科技上构建数据分析平台,最令人头疼的莫属ETL环节。遇到的挑战包括:▶️提取…

ECharts海量数据渲染解决卡顿

file模块用来写文件 我们首先使用node来生成10万条数据; 借助node的fs模块就行; 如果不会的小伙伴;也不要担心;超级简单// 引入模块 let fs = require(fs); // 数据内容 let fileCont=我是文件内容 /*** 第一个参数是文件名* 第二个参数是文件内容,这个文件的内容必须是字…

2024年 团体程序设计天梯赛个人总结

前言: 这是一个悲伤的故事~ 🏆题目传送门 ⭐L1一阶题⭐L1-097 编程解决一切(5分)⭐L1-098 再进去几个人(5分)⭐L1-099 帮助色盲(10分)⭐L1-100 四项全能(10 分&#xff0…

NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections

NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections(野外的 NERF: 用于无约束照片采集的神经辐射场) Abstract 我们提出了一种基于学习的方法来合成新的视图的复杂场景使用只有非结构化的收集野生照片。我们建立在神经辐射场(neRF)的…

ONLYOFFICE:一站式在线协作办公好选择

🛵前言 随着信息技术的迅猛发展,人们对办公方式的需求也在不断变化。传统的办公软件已经无法满足现代企业的需求,而在线协作办公软件则成为了一个热门选择。 在众多在线协作办公软件中,ONLYOFFICE凭借其强大的功能和灵活的部署方…

如何远程实时监控员工的电脑屏幕?

企业规模的扩大和管理的复杂化,远程实时监控员工的电脑屏幕成为了许多企业管理者的需求。 这种监控不仅可以帮助管理者了解员工的工作状态,提高工作效率,还能在一定程度上保障企业的信息安全。 那么,如何实现远程实时监控员工的电…

Spring三级缓存源码解析

Spring三级缓存 前置知识三级缓存定义SpringBean生命周期 Bean的初始化getSingleton 分析加入一级缓存 CreateBean过程(A)A填充属性BB填充属性A,执行getSingleton(A)B完成初始化 前置知识 三级缓存定义 public class DefaultSingletonBeanRegistry ext…

玩转PyCharm

玩转PyCharm PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补…

对于地理空间数据,PostGIS扩展如何在PostgreSQL中存储和查询地理信息?

文章目录 一、PostGIS扩展简介二、PostGIS存储地理空间数据1. 创建空间数据表2. 插入空间数据 三、PostGIS查询地理空间数据1. 查询指定范围内的地理空间数据2. 计算地理空间数据之间的距离3. 对地理空间数据进行缓冲区分析 四、总结 地理空间数据是指描述地球表面物体位置、形…

BUUCTF——[网鼎杯 2018]Fakebook

BUUCTF——[网鼎杯 2018]Fakebook 1.测试SQl注入的注入点1 2.尝试使用-- -进行闭合,但是不行 3.尝试使用数字型的SQL注入,使用--进行注入后面的SQL语句 4.尝试使用and 11 判断其是否真的存在SQL注入 5.尝试使用and 12进行判断 6.发现这个地方确实存…