EP2 从个人兴趣到财务自由:独立开发者也可以这样做开源

🎧 播客音频

22:00:00 点击播放

如果你是一个热爱编程的独立开发者,你是否想过通过自己的开源项目来实现财务独立、甚至自由呢?在本期播客节目中,我们将为你介绍一些个人的成功开源项目,探讨那些最酷的产品和商业故事,其中包括:
* 两个人半年收入 200万刀的开源项目
* 一个人专注一个开源项目十年,总共收入 1300万刀的故事
* 售卖一个小小的主题,就收入近 30万刀
* 躺着赚钱,不提供售后服务的 to b 商业
* “未来你写的每一行开源代码都可能获被动收入” —— 一个全新的开源协同和利益分配体系
* ...

你将听到
02:36 投融资从开源转向到 AI
03:30 哪里火就去做什么,就一定能赚到钱吗?
06:14 core.js 的惨状
06:31 捐赠还是主流的开源项目收入方式
08:34 开源项目的流量广告变现
09:44 基于 utility-first 的 tailwindcss
11:44 tailwindcss 的开源路径和故事
16:44 tailwindcss 作者靠写书获得大量的收入
19:44 tailwindcss 在商业上半年收入 200w 刀
21:11 另外一个 css 项目 semantic css 的故事
22:44 semantic css 和 tailwindcss 的商业对比
25:00 解决方案可能永远都存在机会
25:44 一个主题销售近 30w 刀
29:11 开发者总是喜欢酷的东西,这里面可能就蕴藏着好的生意
31:28 做 to b 生意的 Sidekiq
37:27 Sidekiq 十年收入了 1300w 刀
40:27 关于个人应不应该做 side project
43:27 开源和 web3 进行结合 tea.xyz
58:32 tea 成为共识,主流的话,会极大的促进开源社区
1:01 本期总结
【未经授权,禁止转载】

播客信息

播客名称:硬地骇客

时长:22:00:00

来源:小宇宙播客

0 个评论

要回复文章请先登录注册

Debug messages:

Template: default


Session:

Session type: db

[tlu__Anwsion] Array ( [permission] => [client_info] => [human_valid] => )


Plugins:


Loaded Class:

core_config: /data/aiquanzi/system/core/config.php

core_db: /data/aiquanzi/system/core/db.php

Zend_Db: /data/aiquanzi/system/Zend/Db.php

Zend_Db_Adapter_Abstract: /data/aiquanzi/system/Zend/Db/Adapter/Abstract.php

Zend_Db_Adapter_Mysqli: /data/aiquanzi/system/Zend/Db/Adapter/Mysqli.php

Zend_Db_Profiler: /data/aiquanzi/system/Zend/Db/Profiler.php

Zend_Db_Statement_Interface: /data/aiquanzi/system/Zend/Db/Statement/Interface.php

Zend_Db_Statement: /data/aiquanzi/system/Zend/Db/Statement.php

Zend_Db_Statement_Mysqli: /data/aiquanzi/system/Zend/Db/Statement/Mysqli.php

Zend_Registry: /data/aiquanzi/system/Zend/Registry.php

Zend_Cache: /data/aiquanzi/system/Zend/Cache.php

Zend_Cache_Backend: /data/aiquanzi/system/Zend/Cache/Backend.php

Zend_Cache_Backend_Interface: /data/aiquanzi/system/Zend/Cache/Backend/Interface.php

Zend_Cache_Backend_ExtendedInterface: /data/aiquanzi/system/Zend/Cache/Backend/ExtendedInterface.php

Zend_Db_Table_Abstract: /data/aiquanzi/system/Zend/Db/Table/Abstract.php

core_plugins: /data/aiquanzi/system/core/plugins.php

setting_class: /data/aiquanzi/models/setting.php

Zend_Db_Select: /data/aiquanzi/system/Zend/Db/Select.php

Zend_Db_Expr: /data/aiquanzi/system/Zend/Db/Expr.php

Zend_Session_Abstract: /data/aiquanzi/system/Zend/Session/Abstract.php

Zend_Session: /data/aiquanzi/system/Zend/Session.php

Zend_Session_SaveHandler_Interface: /data/aiquanzi/system/Zend/Session/SaveHandler/Interface.php

Zend_Session_SaveHandler_DbTable: /data/aiquanzi/system/Zend/Session/SaveHandler/DbTable.php

Zend_Exception: /data/aiquanzi/system/Zend/Exception.php

Zend_Session_Exception: /data/aiquanzi/system/Zend/Session/Exception.php

Zend_Db_Table_Select: /data/aiquanzi/system/Zend/Db/Table/Select.php

Zend_Db_Table_Rowset_Abstract: /data/aiquanzi/system/Zend/Db/Table/Rowset/Abstract.php

Zend_Db_Table_Rowset: /data/aiquanzi/system/Zend/Db/Table/Rowset.php

Zend_Db_Table_Row_Abstract: /data/aiquanzi/system/Zend/Db/Table/Row/Abstract.php

Zend_Db_Table_Row: /data/aiquanzi/system/Zend/Db/Table/Row.php

Zend_Session_Namespace: /data/aiquanzi/system/Zend/Session/Namespace.php

core_cache: /data/aiquanzi/system/core/cache.php

core_uri: /data/aiquanzi/system/core/uri.php

banip_class: /data/aiquanzi/models/banip.php

Zend_Validate_Interface: /data/aiquanzi/system/Zend/Validate/Interface.php

Zend_Validate: /data/aiquanzi/system/Zend/Validate.php

Zend_Loader: /data/aiquanzi/system/Zend/Loader.php

Zend_Validate_Abstract: /data/aiquanzi/system/Zend/Validate/Abstract.php

core_user: /data/aiquanzi/system/core/user.php

admin_class: /data/aiquanzi/models/admin.php

TPL: /data/aiquanzi/system/class/cls_template.inc.php

Savant3: /data/aiquanzi/system/Savant3.php

account_class: /data/aiquanzi/models/account.php

HTTP: /data/aiquanzi/system/class/cls_http.inc.php

hook_class: /data/aiquanzi/models/hook.php

plugin_class: /data/aiquanzi/models/plugin.php

PLUTPL: /data/aiquanzi/system/class/cls_plugins.inc.php

article_class: /data/aiquanzi/models/article.php

Zend_Filter_Interface: /data/aiquanzi/system/Zend/Filter/Interface.php

Zend_Filter_Digits: /data/aiquanzi/system/Zend/Filter/Digits.php

FORMAT: /data/aiquanzi/system/class/cls_format.inc.php

Services_BBCode: /data/aiquanzi/system/Services/BBCode.php

topic_class: /data/aiquanzi/models/topic.php

people_class: /data/aiquanzi/models/people.php

reputation_class: /data/aiquanzi/models/reputation.php

question_class: /data/aiquanzi/models/question.php

system_class: /data/aiquanzi/models/system.php

Services_Phpanalysis_Phpanalysis: /data/aiquanzi/system/Services/Phpanalysis/Phpanalysis.php

search_fulltext_class: /data/aiquanzi/models/search/fulltext.php

core_pagination: /data/aiquanzi/system/core/pagination.php

posts_class: /data/aiquanzi/models/posts.php

file_down_class: /data/aiquanzi/plugins/wc_file_down/file_down_model.php

sham_views_class: /data/aiquanzi/plugins/wc_sham_views/sham_views_model.php

article_download_class: /data/aiquanzi/plugins/wc_article_download/article_download_model.php

core_lang: /data/aiquanzi/system/core/lang.php


Database

[ Log time: 1756323773.8645 ] [ Expend time: 0.0063579082489014 ] Connect Master DB

[ Log time: 1756323773.8771 ] [ Expend time: 0.0065641403198242 ] SELECT `wecenter_system_setting`.* FROM `wecenter_system_setting`

[ Log time: 1756323773.8851 ] [ Expend time: 0.0013651847839355 ] SELECT `wecenter_nav`.`url` FROM `wecenter_nav` WHERE (is_index=1 AND status='Y') LIMIT 1

[ Log time: 1756323773.8883 ] [ Expend time: 0.0013730525970459 ] SELECT `wecenter_ban_ip`.`id` FROM `wecenter_ban_ip` WHERE (ip='216.73.216.42') LIMIT 1

[ Log time: 1756323773.8902 ] [ Expend time: 0.0013699531555176 ] SELECT `wecenter_nav`.* FROM `wecenter_nav` WHERE (status='Y') ORDER BY `sort` desc

[ Log time: 1756323773.8951 ] [ Expend time: 0.001600980758667 ] SELECT `wecenter_hook_plugins`.`hook`, `wecenter_hook_plugins`.`plugins` FROM `wecenter_hook_plugins` WHERE (status = 1) ORDER BY `sort` DESC

[ Log time: 1756323773.8985 ] [ Expend time: 0.0022859573364258 ] SELECT `wecenter_plugins`.* FROM `wecenter_plugins` WHERE (state = 1)

[ Log time: 1756323773.9149 ] [ Expend time: 0.0012800693511963 ] SELECT `wecenter_article`.* FROM `wecenter_article` WHERE (id = 86) LIMIT 1

[ Log time: 1756323773.9163 ] [ Expend time: 0.0012660026550293 ] SELECT `wecenter_users`.* FROM `wecenter_users` WHERE (is_del = 0 AND uid = 38) LIMIT 1

[ Log time: 1756323773.9175 ] [ Expend time: 0.0011298656463623 ] SELECT `wecenter_users_attrib`.* FROM `wecenter_users_attrib` WHERE (uid = 38) LIMIT 1

[ Log time: 1756323773.9199 ] [ Expend time: 0.0014040470123291 ] SELECT `wecenter_article_vote`.* FROM `wecenter_article_vote` WHERE (`type` = 'article' AND item_id = 86 AND rating = 1)

[ Log time: 1756323773.9229 ] [ Expend time: 0.0013711452484131 ] SELECT `wecenter_topic_relation`.* FROM `wecenter_topic_relation` WHERE (item_id IN(86) AND `type` = 'article')

[ Log time: 1756323773.9244 ] [ Expend time: 0.001352071762085 ] SELECT `wecenter_topic`.* FROM `wecenter_topic` WHERE (topic_id IN(15,16,17))

[ Log time: 1756323773.9265 ] [ Expend time: 0.0012848377227783 ] SELECT `wecenter_reputation_topic`.* FROM `wecenter_reputation_topic` WHERE (uid IN(38)) ORDER BY `topic_count` DESC

[ Log time: 1756323773.9279 ] [ Expend time: 0.0012459754943848 ] SELECT `wecenter_article_comments`.* FROM `wecenter_article_comments` WHERE (is_del = 0 and article_id = 86) ORDER BY `add_time` ASC LIMIT 100

[ Log time: 1756323773.9289 ] [ Expend time: 0.00088405609130859 ] SELECT COUNT(*) AS `n` FROM `wecenter_article_comments` WHERE (is_del = 0 and article_id = 86)

[ Log time: 1756323773.9359 ] [ Expend time: 0.0014441013336182 ] SELECT *, MATCH(question_content_fulltext) AGAINST('' IN BOOLEAN MODE) AS score FROM wecenter_question WHERE MATCH(question_content_fulltext) AGAINST('' IN BOOLEAN MODE) LIMIT 2000

[ Log time: 1756323773.9424 ] [ Expend time: 0.0011758804321289 ] SELECT `wecenter_topic`.* FROM `wecenter_topic` WHERE (topic_id = 15) LIMIT 1

[ Log time: 1756323773.9437 ] [ Expend time: 0.0012500286102295 ] SELECT item_id FROM wecenter_topic_relation WHERE topic_id IN(15) AND `type` = '10'

[ Log time: 1756323773.945 ] [ Expend time: 0.0012540817260742 ] SELECT topic_id FROM wecenter_topic WHERE parent_id = 15

[ Log time: 1756323773.9464 ] [ Expend time: 0.0012710094451904 ] SELECT `wecenter_topic_merge`.* FROM `wecenter_topic_merge` WHERE (target_id = 15)

[ Log time: 1756323773.9476 ] [ Expend time: 0.0010700225830078 ] SELECT `wecenter_topic`.* FROM `wecenter_topic` WHERE (topic_id = 16) LIMIT 1

[ Log time: 1756323773.9489 ] [ Expend time: 0.0012331008911133 ] SELECT item_id FROM wecenter_topic_relation WHERE topic_id IN(16) AND `type` = '10'

[ Log time: 1756323773.9502 ] [ Expend time: 0.0012412071228027 ] SELECT topic_id FROM wecenter_topic WHERE parent_id = 16

[ Log time: 1756323773.9514 ] [ Expend time: 0.0011889934539795 ] SELECT `wecenter_topic_merge`.* FROM `wecenter_topic_merge` WHERE (target_id = 16)

[ Log time: 1756323773.9525 ] [ Expend time: 0.00098705291748047 ] SELECT `wecenter_topic`.* FROM `wecenter_topic` WHERE (topic_id = 17) LIMIT 1

[ Log time: 1756323773.9538 ] [ Expend time: 0.0011968612670898 ] SELECT item_id FROM wecenter_topic_relation WHERE topic_id IN(17) AND `type` = '10'

[ Log time: 1756323773.9674 ] [ Expend time: 0.01364803314209 ] SELECT topic_id FROM wecenter_topic WHERE parent_id = 17

[ Log time: 1756323773.9691 ] [ Expend time: 0.0015008449554443 ] SELECT `wecenter_topic_merge`.* FROM `wecenter_topic_merge` WHERE (target_id = 17)

[ Log time: 1756323773.9706 ] [ Expend time: 0.0014832019805908 ] SELECT `item_id`, `type` FROM wecenter_topic_relation WHERE `topic_id` IN(15,16,17)

[ Log time: 1756323773.9724 ] [ Expend time: 0.0015029907226562 ] SELECT `wecenter_posts_index`.* FROM `wecenter_posts_index` WHERE (((post_id IN (83,84,85,86) AND post_type = 'article')) AND is_recommend = 1 AND is_del = 0) ORDER BY `add_time` DESC LIMIT 10

[ Log time: 1756323773.9735 ] [ Expend time: 0.0010218620300293 ] SELECT COUNT(*) AS `n` FROM `wecenter_posts_index` WHERE (((post_id IN (83,84,85,86) AND post_type = 'article')) AND is_recommend = 1 AND is_del = 0)

[ Log time: 1756323773.9762 ] [ Expend time: 0.0013160705566406 ] SELECT `wecenter_article_download`.* FROM `wecenter_article_download` WHERE (article_id = 86) LIMIT 1

[ Log time: 1756323773.9979 ] [ Expend time: 0.0010910034179688 ] SELECT `wecenter_users`.`avatar_file` FROM `wecenter_users` WHERE (uid=38) LIMIT 1


Cache

[ Log time: 1756323773.8832 ] Backend: File

[ Log time: 1756323773.8832 ] [ Expend time: 0.000021 ] Get Cache: crond, result type: boolean

[ Log time: 1756323773.8927 ] [ Expend time: 0.000097 ] Get Cache: user_group_99, result type: array

[ Log time: 1756323773.9279 ] [ Expend time: 0.000042 ] Get Cache: db_rows_cache_f0b472e56a875206d489e5c5cf5daa58, result type: boolean

[ Log time: 1756323773.9312 ] [ Expend time: 0.000026 ] Get Cache: question_related_list_ea754878ade966cd3407dad493a478e4_10, result type: boolean

[ Log time: 1756323773.9393 ] [ Expend time: 0.003369 ] Save Cache: question_related_list_ea754878ade966cd3407dad493a478e4_10, result type: boolean

[ Log time: 1756323773.9393 ] [ Expend time: 0.000015 ] Get Cache: update_views_article_60a99c169301af27fef93432ff9afa31_86, result type: boolean

[ Log time: 1756323773.9395 ] [ Expend time: 0.000129 ] Save Cache: update_views_article_60a99c169301af27fef93432ff9afa31_86, result type: integer

[ Log time: 1756323773.9708 ] [ Expend time: 0.000038 ] Get Cache: posts_list_by_topic_ids_322b144eea612e5c70105517b7f3fd1e, result type: boolean

[ Log time: 1756323773.9724 ] [ Expend time: 0.000030 ] Get Cache: db_rows_cache_951cb0596d39cd4153e2c0c171c2b340, result type: boolean

[ Log time: 1756323773.9736 ] [ Expend time: 0.000033 ] Get Cache: posts_list_by_topic_ids_found_rows_3be0e5d778eb85e66099fd63fd5f4e11, result type: boolean


Escape time: 0.17546510696411, 34 queries, PHP Memory usage: 6789.1484375 KB, Server time: 2025-08-28 03:42:53