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: 1756391260.5988 ] [ Expend time: 0.0051610469818115 ] Connect Master DB

[ Log time: 1756391260.6079 ] [ Expend time: 0.0045850276947021 ] SELECT `wecenter_system_setting`.* FROM `wecenter_system_setting`

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

[ Log time: 1756391260.6178 ] [ Expend time: 0.0012950897216797 ] SELECT `wecenter_ban_ip`.`id` FROM `wecenter_ban_ip` WHERE (ip='216.73.216.142') LIMIT 1

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

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

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

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

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

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

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

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

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

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

[ Log time: 1756391260.6638 ] [ Expend time: 0.0013771057128906 ] 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: 1756391260.665 ] [ Expend time: 0.0010089874267578 ] SELECT COUNT(*) AS `n` FROM `wecenter_article_comments` WHERE (is_del = 0 and article_id = 86)

[ Log time: 1756391260.6725 ] [ Expend time: 0.0015568733215332 ] 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: 1756391260.678 ] [ Expend time: 0.0014419555664062 ] SELECT `wecenter_topic`.* FROM `wecenter_topic` WHERE (topic_id = 15) LIMIT 1

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

[ Log time: 1756391260.6824 ] [ Expend time: 0.0013229846954346 ] SELECT topic_id FROM wecenter_topic WHERE parent_id = 15

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

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

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

[ Log time: 1756391260.6881 ] [ Expend time: 0.0013208389282227 ] SELECT topic_id FROM wecenter_topic WHERE parent_id = 16

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

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

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

[ Log time: 1756391260.6944 ] [ Expend time: 0.0020461082458496 ] SELECT topic_id FROM wecenter_topic WHERE parent_id = 17

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

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

[ Log time: 1756391260.699 ] [ Expend time: 0.0016131401062012 ] 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: 1756391260.7003 ] [ Expend time: 0.001133918762207 ] 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: 1756391260.703 ] [ Expend time: 0.0014309883117676 ] SELECT `wecenter_article_download`.* FROM `wecenter_article_download` WHERE (article_id = 86) LIMIT 1

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


Cache

[ Log time: 1756391260.6128 ] Backend: File

[ Log time: 1756391260.6129 ] [ Expend time: 0.000019 ] Get Cache: crond, result type: boolean

[ Log time: 1756391260.6223 ] [ Expend time: 0.000092 ] Get Cache: user_group_99, result type: array

[ Log time: 1756391260.6639 ] [ Expend time: 0.000043 ] Get Cache: db_rows_cache_f0b472e56a875206d489e5c5cf5daa58, result type: boolean

[ Log time: 1756391260.6675 ] [ Expend time: 0.000028 ] Get Cache: question_related_list_ea754878ade966cd3407dad493a478e4_10, result type: boolean

[ Log time: 1756391260.6728 ] [ Expend time: 0.000291 ] Save Cache: question_related_list_ea754878ade966cd3407dad493a478e4_10, result type: boolean

[ Log time: 1756391260.6729 ] [ Expend time: 0.000016 ] Get Cache: update_views_article_b2024b0bb665ad76383c44f7c4534808_86, result type: boolean

[ Log time: 1756391260.6743 ] [ Expend time: 0.001435 ] Save Cache: update_views_article_b2024b0bb665ad76383c44f7c4534808_86, result type: integer

[ Log time: 1756391260.6973 ] [ Expend time: 0.000035 ] Get Cache: posts_list_by_topic_ids_322b144eea612e5c70105517b7f3fd1e, result type: boolean

[ Log time: 1756391260.6991 ] [ Expend time: 0.000042 ] Get Cache: db_rows_cache_951cb0596d39cd4153e2c0c171c2b340, result type: boolean

[ Log time: 1756391260.7004 ] [ Expend time: 0.000029 ] Get Cache: posts_list_by_topic_ids_found_rows_3be0e5d778eb85e66099fd63fd5f4e11, result type: boolean


Escape time: 0.16561412811279, 34 queries, PHP Memory usage: 6789.71875 KB, Server time: 2025-08-28 22:27:40