编程语言与软件工程2019arxiv.org
开发者如何推广开源项目?
How Do Developers Promote Open Source Projects?
入门 · 约 45 分钟读完前置知识:开源社区基本概念、Hacker News 社区文化
导读
这篇论文研究了开源项目开发者如何推广自己的项目,梳理了他们使用的各类推广渠道(如 Hacker News、技术博客、社交媒体等)及其效果。论文结论指出 HN 等社区是开源开发者非常有价值的推广资源。
HN 关注点:是因为许多独立开发者苦于不擅长社交推广,讨论焦点集中在独立开发者推广开源项目的困境与可行渠道。
HN 评论精选
这几条评论里:支持 1 质疑 1 补充 1 亲历 1
支持独立开发者不擅社交推广,需要懂推广的伙伴,技术写作和 HN 很有价值
非常有用的文章,谢谢分享。这对像我这样不擅长社交的独立开发者确实是个难题。我从不提交自己的项目,因为总觉得会打扰别人,而且这里每天都有那么多更值得关注的项目。我更愿意把时间花在写代码上,对 SEO 和推广一头雾水。我认为任何严肃的开源项目都需要一个懂社交、能把消息传给相关人群的团队成员,一个连接这两类人的服务会非常有价值。另外技术写作确实帮助很大——最近有两篇我的文章被别人提交到这里,积极的反馈极大提升了我的自信(虽然把我的跳出率从 44% 搞到了 87%)。我同意论文结论:HN 对开源开发者是极其宝贵的资源,社区也很友好。
byuu查看英文原文
A very useful article, thank you for sharing. This is definitely a hard problem for solo developers who are like me and have significant difficulty with social aspects. I've never submitted any of my projects or writing here, because I have this underlying feeling that I'd be bothering people. It also doesn't help to be on a site filled daily with dozens of really incredible projects that feel so much more deserving of attention. Yet I've often found myself bewildered by concepts such as SEO and promotion, and I much prefer to spend my time coding. I hate to generalize, but I can't imagine I'm particularly unique in this regard. But indeed, it's a serious growth limiter when we are stuck working alone. I feel like any serious open source project really needs someone on the team who groks all the social stuff and can get the word out to the right parties who would be interested. A networking service to connect these two types of people would truly be invaluable, I feel. I was also told that technical writing helps a lot, and indeed, despite being a little guy in a small niche, two of my articles were submitted by others recently, and seeing such a positive response has been a huge boost to my self-esteem and confidence. (It did ruin my bounce rate stats though, went from 44% to 87% in two days :p) But yeah, I'll agree with the arXiv conclusion that HN is an incredibly valuable resource for open source developers, with a very friendly community behind it.
质疑质疑论文只看渠道不看内容;独立开发者项目被无视,FOSS 似乎只属于大公司背书者
我有点担心这篇论文只研究了渠道而没有研究内容本身。我用过其中大部分渠道,除非发布绝对完美的帖子,否则往往遭遇"螃蟹桶"式的反应。似乎只有大公司发布的项目才有容忍度——只要挂着 FANG 的名头,不管发布什么、做了多久、团队多大,都能收获大量人气。而以个人名义发布的独立开发者,只有小众领域的 hack 才能获得关注;我那些长期精心设计、有大量文档、被真实项目使用的工作,最好情况是被无视,最坏情况是被指责"重复造轮子"——哪怕那是我发明的。我从没成功邀请到任何人加入项目:发布太早没人愿意加入,花大力气写文档和贡献指南又被无视。到底什么时候该把自己的代码分享出去?这让人觉得 FOSS 只属于有大公司背书的人。
moron4hire查看英文原文
I'm a little worried that this only studies channels and not the original content itself. I've personally used most of these channels and have found a rather "bucket-of-crabs" sort of reaction, unless I'm very, very careful to release an absolutely perfect post. There generally seems to be only a level of tolerance for projects released by big companies. If you have a FANG coolant behind your name, it doesn't matter what you're releasing, how long you've been working on it, or even how big your team actually is, you'll grab a ton of popularity. But as a solo dev releasing under my own name, the only things I can get attention for are basically hacks in niche topics. The long-standing, well designed work I do, that is used in real projects, with tons of documentation and proven results, at best gets ignored. At worst, I get accused of "re-inventing the wheel", even for things I invented. I've never gotten anyone to join me on a project. There are a lot of self-fulfilling prophecies that "solo-dev work won't be around in a year, so don't bother even starting". Either I release too early and people don't want to join because nothing is finished, or I put a ton of effort into documentation and contribution guidelines and then things just get ignored. Just when is it a good time to go from code I've written on my own to sharing with others? It just really makes it seem like FOSS is only for people who have a big, recognised company backing them. I've even had a project or two copied by recognized companies, with no larger team than one or two people, and watched their half-baked early releases quickly eclipse my own efforts just because they could get people to join the effort and work for free.
亲历做了筛选 HN 开源项目提交的服务,印证多数项目提交后无人问津,推广对独立开发者始终很难
每天有很多开源项目被提交到 HN,但很少有机会被顶上首页获得流量。所以我做了 Porter 这个服务,收集 HN 提交、筛选开源项目相关内容并发摘要邮件给订阅者。从 explore 页面可以看到,每天只有两三个项目获得大量投票,很多项目得票为零。我本希望 Porter 能给独立开发者的项目带来流量,但和那些开源项目一样,我的服务也面临推广难题——我不想到处刷链接 spam。有机增长有,但不够快。开源相关项目和服务的营销始终是难题,尤其对独立开发者。补充:那些增长突出的项目可能确实从 HN 获得了流量,但仅仅提交到 HN 并不保证任何增长。
adieu查看英文原文
There are many open source projects got submitted to HN everyday but not many got the chance to be upvoted to front page and attract traffic. So I built a service called Porter[1] to collect HN submissions, filter out news about open source projects and send digested email to subscribers. There is also a `explore` page[2] at Porter which will show the daily submitted projects. You can find from the page that only two or three projects get a lot of upvotes and many projects got zero upvote at all. I was wondering if many users are using Porter, I might have a chance to bring traffic to those projects developed by solo developers and becoming good channel for promoting and discovering. But just like those open source projects, I have problem promoting my service too. I don't feel like to spam people by submitting the url everywhere. There are organic growth but it's not fast enough for me to put a lot of resource in it. I guess marketing for open source related projects and services is always a hard problem especially for solo developers. EDIT: Those projects that got exceptional growth might have successfully attract traffic from HN. But just submitting your projects to HN does not guarantee any growth. [1] https://porter.io [2] https://porter.io/explore/
补充建议:联系各技术领域的 weekly newsletter 策展人是有效的推广渠道
我不是来推广自己刊物的,但如果你搜索项目相关的任何语言或技术加上"weekly"或"newsletter"(如 "javascript weekly"、"python weekly"),几乎一定能找到渴望推广你项目的 newsletter 策展人(前提是项目足够好或对读者有吸引力)。我在各个开发者细分领域现在有近 50 万这样的订阅者,Twitter 上还有差不多同样数量。
petercooper查看英文原文
I'm not here to promote my own publications, but if you search for basically any language or technology that your project is associated with and follow it with "weekly" or "newsletter" (e.g. "javascript weekly" or "python weekly") you will almost certainly find a newsletter curator hungry to promote your project (if it's any good or would be of interest to their readers). I have almost half a million such subscribers now, plus about the same on Twitter, across various developer niches.
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2019Hacker News 讨论帖249 分 · 74 评
同领域还值得读
Google 的软件工程(2017)
Software Engineering at Google (2017)
介绍了 Google 的软件工程实践,包括其单一代码库(monorepo)、几乎全部开发在主干进行而非分支、代码审查、构建系统 Blaze、协议缓冲区等工具与流程,并讨论了频繁重…
编程语言与软件工程2017 · 1,127 分 · 465 评 · 引用 15入门 · 约 45 分钟编辑精选Peter Naur:编程作为理论构建 (1985)
Peter Naur – Programming as Theory Building (1985)
Peter Naur 1985 年的经典论文《Programming as Theory Building》提出:编程的本质不是写代码或文档,而是在程序员头脑中构建对程序及其运行…
编程语言与软件工程2016 · 629 分 · 74 评入门 · 约 45 分钟编辑精选SciPy 1.0:Python 科学计算的基础算法
SciPy 1.0: fundamental algorithms for scientific computing in Python
这篇发表于 Nature Methods 的论文介绍了 SciPy 1.0——Python 科学计算生态的基石库,涵盖其核心算法模块(优化、积分、插值、线性代数等)、软件架构与社…
编程语言与软件工程2020 · 387 分 · 98 评入门 · 约 45 分钟编辑精选Lisp 的历史(1979)
History of Lisp (1979)
这是 Lisp 发明者 John McCarthy 于 1979 年为 HOPL(编程语言史)会议撰写的回顾文章,讲述 Lisp 的起源、设计动机与早期演进,文中也涉及 if 表…
编程语言与软件工程2018 · 352 分 · 44 评入门 · 约 45 分钟编辑精选使用 NumPy 进行数组编程
Array Programming with NumPy
这篇 Nature 文章介绍 NumPy 的数组编程模型及其在科学计算中的核心作用:以 ndarray 为中心,通过向量化操作让 Python 高效处理多维数组。
编程语言与软件工程2020 · 318 分 · 134 评入门 · 约 40 分钟编辑精选