官术网_书友最值得收藏!

Working with the community

The best way for me to describe this best practice is to use an anti-pattern as an example.

I once came across a Puppet developer who would start a module completely from scratch, and then copy and paste lines of code from a Forge module into the new module. From then on, that module exists entirely outside the community! It's not a fork even, so to integrate changes that have been made over time from the community becomes a real pain. You would have to cherry-pick those changes to get the functionality into your own, and you will probably still be left with regression problems. Generally, a best practice is to always at the very least fork the Forge module! This means you get the Git history, which often contains the thoughts that have gone into producing that module.

You see, if you were ever a reader of the great book The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary (https://www.amazon.com/Cathedral-Bazaar-Musings-Accidental-Revolutionary/dp/0596001088), then you will understand that the Linux-orientated philosophy of software development through a bazaar, collaborative working style trumps spinning off development into a cathedral, independent working style. Well, that's my take on this developer's working style. He was working cathedral-ly, as opposed to bazaar-ly. Effectively, you are making the decision to pit your cathedral team against the multitude of the bazaar, and to my mind, that's simply not wise project management when it comes to giving you a competitive advantage in the internet age.

Sometimes, modules on the Forge get a bit out of date. If the metadata for the module is out of date, you can always produce that again using the PDK new module command (https://puppet.com/docs/pdk/1.0/pdk_generating_modules.html#create-a-module-with-pdk) and commit the new metadata.

Of course, to be a great Puppet community member, it would be an even better practice to make pull requests for the changes you have made and contribute to the work of the community.

主站蜘蛛池模板: 科尔| 新宾| 曲靖市| 西华县| 新民市| 四平市| 新野县| 刚察县| 轮台县| 富锦市| 辉县市| 平武县| 类乌齐县| 永年县| 乌拉特后旗| 金乡县| 阿拉善左旗| 建始县| 南开区| 舒兰市| 资溪县| 资溪县| 磴口县| 特克斯县| 葫芦岛市| 开原市| 浮山县| 乌鲁木齐县| 裕民县| 贵港市| 贵港市| 朝阳区| 黄陵县| 蓝田县| 揭西县| 寻乌县| 平顺县| 吴川市| 额尔古纳市| 永靖县| 安溪县|