Permalink
Browse files

pushing static assets from old site

  • Loading branch information...
1 parent c68f2f2 commit 63c9610846d5b4670d0a0ccd56e108c8342c7fef @benbalter committed Sep 26, 2012
Showing with 34 additions and 29 deletions.
  1. +1 −1 2012/03/02/php-is-insecure-and-other-enterprise-open-source-fud.json
  2. +1 −1 2012/03/05/wordpress-for-government-and-enterprise.json
  3. +1 −1 2012/04/10/whats-missing-from-cfpbs-awesome-new-source-code-policy.json
  4. +1 −1 2012/04/15/cfpb-accepts-first-citizen-submitted-pull-request-on-behalf-of-federal-government.json
  5. +1 −1 2012/04/23/enterprise-open-source-usage-is-up-but-challenges-remain.json
  6. +1 −1 2012/05/08/wordpress-as-a-collaboration-platform.json
  7. +1 −1 2012/05/10/free-yourself-from-the-tyranny-of-sharepoint.json
  8. BIN Balter-Towards-a-More-Agile-Government.pdf
  9. +8 −8 _includes/contact-links.html
  10. +2 −0 _includes/css/style.css
  11. +1 −0 _includes/js/load-impress.js
  12. 0 _includes/untitled file
  13. +1 −0 assets/js/js.js
  14. BIN favicon.ico
  15. +5 −3 posts/_posts/2012-03-05-wordpress-for-government-and-enterprise.md
  16. +10 −11 posts/_posts/2012-05-08-wordpress-as-a-collaboration-platform.md
  17. BIN resume.pdf
  18. BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o-1024x363.jpg
  19. BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o-150x150.jpg
  20. BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o-300x106.jpg
  21. BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o-940x198.jpg
  22. BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o.jpg
  23. BIN wp-content/uploads/2010/09/4246330043_3d14bc23c3_b-150x150.jpg
  24. BIN wp-content/uploads/2010/09/4246330043_3d14bc23c3_b-300x199.jpg
  25. BIN wp-content/uploads/2010/09/4246330043_3d14bc23c3_b-940x198.jpg
  26. BIN wp-content/uploads/2010/09/4246330043_3d14bc23c3_b.jpg
  27. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6-150x150.jpg
  28. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6-300x192.jpg
  29. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6-500x198.jpg
  30. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6.jpg
  31. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_b-150x150.jpg
  32. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_b-300x191.jpg
  33. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_b-940x198.jpg
  34. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_z-150x150.jpg
  35. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_z-300x191.jpg
  36. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_z-640x198.jpg
  37. BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_z.jpg
  38. BIN wp-content/uploads/2010/09/cropped-4500565196_ce3afa3617_b-150x150.jpg
  39. BIN wp-content/uploads/2010/09/cropped-4500565196_ce3afa3617_b-300x63.jpg
  40. BIN wp-content/uploads/2010/09/cropped-4500565196_ce3afa3617_b.jpg
  41. BIN wp-content/uploads/2010/09/facebook.png
  42. BIN wp-content/uploads/2010/09/fb1-150x150.jpg
  43. BIN wp-content/uploads/2010/09/fb1-272x300.jpg
  44. BIN wp-content/uploads/2010/09/fb1-317x198.jpg
  45. BIN wp-content/uploads/2010/09/fb1.jpg
  46. BIN wp-content/uploads/2010/09/flickr.png
  47. BIN wp-content/uploads/2010/09/linkedin.png
  48. BIN wp-content/uploads/2010/09/suit.jpg
  49. BIN wp-content/uploads/2010/09/twitter.png
  50. BIN wp-content/uploads/2010/09/wp-resume-header-150x150.png
  51. BIN wp-content/uploads/2010/09/wp-resume-header-300x86.png
  52. BIN wp-content/uploads/2010/09/wp-resume-header-500x144.png
  53. BIN wp-content/uploads/2010/09/wp-resume-header.png
  54. BIN wp-content/uploads/2010/09/wp_resume-150x150.png
  55. BIN wp-content/uploads/2010/09/wp_resume-300x223.png
  56. BIN wp-content/uploads/2010/09/wp_resume-669x198.png
  57. BIN wp-content/uploads/2010/09/wp_resume.png
  58. BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b-150x150.jpg
  59. BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b-300x97.jpg
  60. BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b-640x198.jpg
  61. BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b-940x198.jpg
  62. BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b.jpg
  63. BIN wp-content/uploads/2010/11/244921874_44ec1cbfa9-150x150.jpg
  64. BIN wp-content/uploads/2010/11/244921874_44ec1cbfa9-292x300.jpg
  65. BIN wp-content/uploads/2010/11/244921874_44ec1cbfa9-487x198.jpg
  66. BIN wp-content/uploads/2010/11/244921874_44ec1cbfa9.jpg
  67. BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b-150x150.jpg
  68. BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b-300x200.jpg
  69. BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b-300x82.jpg
  70. BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b-940x198.jpg
  71. BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b.jpg
  72. BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-150x150.jpg
  73. BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-300x200.jpg
  74. BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-300x238.jpg
  75. BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-461x198.jpg
  76. BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-640x198.jpg
  77. BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z.jpg
  78. BIN wp-content/uploads/2010/11/4808160019_d93a7332e0_b-150x150.jpg
  79. BIN wp-content/uploads/2010/11/4808160019_d93a7332e0_b-200x300.jpg
  80. BIN wp-content/uploads/2010/11/4808160019_d93a7332e0_b-683x198.jpg
  81. BIN wp-content/uploads/2010/11/4808160161_3f3df96c7c_b-150x150.jpg
  82. BIN wp-content/uploads/2010/11/4808160161_3f3df96c7c_b-300x127.jpg
  83. BIN wp-content/uploads/2010/11/4808160161_3f3df96c7c_b-640x198.jpg
  84. BIN wp-content/uploads/2010/11/4808160161_3f3df96c7c_b-940x198.jpg
  85. BIN wp-content/uploads/2010/11/68153_493302469280_603259280_5451391_4928024_n-150x150.jpg
  86. BIN wp-content/uploads/2010/11/68153_493302469280_603259280_5451391_4928024_n-300x199.jpg
  87. BIN wp-content/uploads/2010/11/68153_493302469280_603259280_5451391_4928024_n-720x198.jpg
  88. BIN wp-content/uploads/2010/11/68153_493302469280_603259280_5451391_4928024_n.jpg
  89. BIN wp-content/uploads/2011/01/1430289931_beb7ff6428_b-150x150.jpg
  90. BIN wp-content/uploads/2011/01/1430289931_beb7ff6428_b-300x225.jpg
  91. BIN wp-content/uploads/2011/01/1430289931_beb7ff6428_b-940x198.jpg
  92. BIN wp-content/uploads/2011/01/1430289931_beb7ff6428_b.jpg
  93. BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-1024x320.jpg
  94. BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-1024x572.jpg
  95. BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-150x150.jpg
  96. BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-300x167.jpg
  97. BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-300x93.jpg
  98. BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-940x198.jpg
  99. BIN wp-content/uploads/2011/01/emphasis-screenshot-150x150.png
  100. BIN wp-content/uploads/2011/01/emphasis-screenshot-215x198.png
  101. BIN wp-content/uploads/2011/01/emphasis-screenshot.png
  102. BIN wp-content/uploads/2011/01/order-150x150.jpg
  103. BIN wp-content/uploads/2011/01/order-300x131.jpg
  104. BIN wp-content/uploads/2011/01/order-920x198.jpg
  105. BIN wp-content/uploads/2011/01/order.jpg
  106. BIN wp-content/uploads/2011/01/policeman-1024x320.jpg
  107. BIN wp-content/uploads/2011/01/policeman-150x150.jpg
  108. BIN wp-content/uploads/2011/01/policeman-300x93.jpg
  109. BIN wp-content/uploads/2011/01/policeman-640x198.jpg
  110. BIN wp-content/uploads/2011/01/policeman-940x198.jpg
  111. BIN wp-content/uploads/2011/01/policeman.jpg
  112. BIN wp-content/uploads/2011/01/wp-emphasis.zip
  113. BIN wp-content/uploads/2011/01/zoolander-150x150.jpg
  114. BIN wp-content/uploads/2011/01/zoolander-300x188.jpg
  115. BIN wp-content/uploads/2011/01/zoolander-400x198.jpg
  116. BIN wp-content/uploads/2011/01/zoolander.jpg
  117. BIN wp-content/uploads/2011/02/IPRC_Seized_2010_11-150x150.gif
  118. BIN wp-content/uploads/2011/02/IPRC_Seized_2010_11-300x225.gif
  119. BIN wp-content/uploads/2011/02/IPRC_Seized_2010_11-940x198.gif
  120. BIN wp-content/uploads/2011/02/IPRC_Seized_2010_11.gif
  121. BIN wp-content/uploads/2011/03/branding-150x150.png
  122. BIN wp-content/uploads/2011/03/branding-300x224.png
  123. BIN wp-content/uploads/2011/03/branding-419x198.png
  124. BIN wp-content/uploads/2011/03/branding.png
  125. BIN wp-content/uploads/2011/04/2146845610_ebd95e5f4e_b-150x150.jpg
  126. BIN wp-content/uploads/2011/04/2146845610_ebd95e5f4e_b-300x200.jpg
  127. BIN wp-content/uploads/2011/04/2146845610_ebd95e5f4e_b-940x198.jpg
  128. BIN wp-content/uploads/2011/04/2146845610_ebd95e5f4e_b.jpg
  129. BIN wp-content/uploads/2011/04/infographic-150x150.png
  130. BIN wp-content/uploads/2011/04/infographic-300x138.png
  131. BIN wp-content/uploads/2011/04/infographic-558x198.png
  132. BIN wp-content/uploads/2011/04/infographic.png
  133. BIN wp-content/uploads/2011/04/wireframe-150x150.png
  134. BIN wp-content/uploads/2011/04/wireframe-300x144.png
  135. BIN wp-content/uploads/2011/04/wireframe-300x149.png
  136. BIN wp-content/uploads/2011/04/wireframe-640x198.png
  137. BIN wp-content/uploads/2011/04/wireframe-920x198.png
  138. BIN wp-content/uploads/2011/04/wireframe.png
  139. BIN wp-content/uploads/2011/04/wireframe1-150x150.png
  140. BIN wp-content/uploads/2011/04/wireframe1-300x144.png
  141. BIN wp-content/uploads/2011/04/wireframe1-640x198.png
  142. BIN wp-content/uploads/2011/04/wireframe1-920x198.png
  143. BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b-1000x288.jpg
  144. BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b-150x150.jpg
  145. BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b-300x225.jpg
  146. BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b-400x300.jpg
  147. BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b.jpg
  148. BIN wp-content/uploads/2011/05/header-150x150.png
  149. BIN wp-content/uploads/2011/05/header-300x86.png
  150. BIN wp-content/uploads/2011/05/header-500x144.png
  151. BIN wp-content/uploads/2011/05/header.png
  152. BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b-1000x288.jpg
  153. BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b-150x150.jpg
  154. BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b-300x200.jpg
  155. BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b-449x300.jpg
  156. BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b.jpg
  157. BIN wp-content/uploads/2011/06/bb_touch.jpg
  158. BIN wp-content/uploads/2011/06/bb_touch1.jpg
  159. BIN wp-content/uploads/2011/07/Diffusionofideas-150x150.png
  160. BIN wp-content/uploads/2011/07/Diffusionofideas-300x209.png
  161. BIN wp-content/uploads/2011/07/Diffusionofideas-429x300.png
  162. BIN wp-content/uploads/2011/07/Diffusionofideas-914x288.png
  163. BIN wp-content/uploads/2011/07/Diffusionofideas.png
  164. BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot-150x150.png
  165. BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot-300x226.png
  166. BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot-397x300.png
  167. BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot-855x288.png
  168. BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot.png
  169. BIN wp-content/uploads/2011/08/wp-document-revisions-150x150.png
  170. BIN wp-content/uploads/2011/08/wp-document-revisions-300x86.png
  171. BIN wp-content/uploads/2011/08/wp-document-revisions-500x144.png
  172. BIN wp-content/uploads/2011/08/wp-document-revisions.png
  173. BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared-1000x288.jpg
  174. BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared-150x150.jpg
  175. BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared-300x119.jpg
  176. BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared-500x199.jpg
  177. BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared.jpg
  178. BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared.pdf
  179. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot-150x150.png
  180. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot-300x126.png
  181. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot-500x211.png
  182. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot-976x288.png
  183. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot.png
  184. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1-150x150.png
  185. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1-300x182.png
  186. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1-493x300.png
  187. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1-977x288.png
  188. BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1.png
  189. BIN wp-content/uploads/2012/03/q-cover-issue01-300x387-150x150.jpg
  190. BIN wp-content/uploads/2012/03/q-cover-issue01-300x387-232x300.jpg
  191. BIN wp-content/uploads/2012/03/q-cover-issue01-300x387-300x288.jpg
  192. BIN wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg
  193. BIN wp-content/uploads/2012/03/we-hate-cms-150x150.png
  194. BIN wp-content/uploads/2012/03/we-hate-cms-300x223.png
  195. BIN wp-content/uploads/2012/03/we-hate-cms-403x300.png
  196. BIN wp-content/uploads/2012/03/we-hate-cms-956x288.png
  197. BIN wp-content/uploads/2012/03/we-hate-cms.png
  198. BIN wp-content/uploads/2012/03/wordpress-in-government-ben-balter-150x150.png
  199. BIN wp-content/uploads/2012/03/wordpress-in-government-ben-balter-278x300.png
  200. BIN wp-content/uploads/2012/03/wordpress-in-government-ben-balter-558x288.png
  201. BIN wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png
  202. BIN wp-content/uploads/2012/04/hacks-hackers-10k-150x150.png
  203. BIN wp-content/uploads/2012/04/hacks-hackers-10k-300x153.png
  204. BIN wp-content/uploads/2012/04/hacks-hackers-10k-500x256.png
  205. BIN wp-content/uploads/2012/04/hacks-hackers-10k-665x288.png
  206. BIN wp-content/uploads/2012/04/hacks-hackers-10k.png
  207. BIN wp-content/uploads/2012/05/cropped-wp-header-150x150.jpg
  208. BIN wp-content/uploads/2012/05/cropped-wp-header-300x86.jpg
  209. BIN wp-content/uploads/2012/05/cropped-wp-header-500x144.jpg
  210. BIN wp-content/uploads/2012/05/cropped-wp-header.jpg
  211. BIN wp-content/uploads/2012/06/government-cio-magazine-june-2012-150x150.png
  212. BIN wp-content/uploads/2012/06/government-cio-magazine-june-2012.png
  213. BIN wp-content/uploads/2012/06/mike-holmes-150x150.jpeg
  214. BIN wp-content/uploads/2012/06/mike-holmes-203x300.jpeg
  215. BIN wp-content/uploads/2012/06/mike-holmes-384x288.jpeg
  216. BIN wp-content/uploads/2012/06/mike-holmes.jpeg
  217. BIN wp-content/uploads/2012/07/dashboard-all-the-things-150x150.jpeg
  218. BIN wp-content/uploads/2012/07/dashboard-all-the-things-300x225.jpeg
  219. BIN wp-content/uploads/2012/07/dashboard-all-the-things-400x288.jpeg
  220. BIN wp-content/uploads/2012/07/dashboard-all-the-things.jpeg
View
2 2012/03/02/php-is-insecure-and-other-enterprise-open-source-fud.json
@@ -1 +1 @@
-{"author":"Benjamin J. Balter","title":"PHP is Insecure (and Other Enterprise Open-Source F.U.D.)\n","excerpt":null,"layout":"post","category":["Technology"],"tags":["code","enterprise","fud","government","microsoft","open source","php","security","security though obscurity","wordpress"],"post_format":[],"url":"/2012/03/02/php-is-insecure-and-other-enterprise-open-source-fud/","date":"2012-03-02 00:00:00 -0500","id":"/2012/03/02/php-is-insecure-and-other-enterprise-open-source-fud","categories":["posts"],"next":"[![WordPress for Government](http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter-150x150.png){.alignleft}][1]\n\nOver the past several years WordPress's market share has enjoyed explosive growth across virtually every industry. Today, it powers [nearly a quarter of new sites][2], and is the CMS of choice for[ more than two thirds of the top-million sites][3] on the web making it the world's most popular publishing platform by a long shot. Yet one group of seemingly ideal users has been slow to take the former blogging platform seriously: .Govs.\n\nDrupal powers twice as many federal .Govs [as every other CMS combined][4]. That's more than six Drupal sites for every one WordPress .Gov alone, not to mention the Joomlas, MovableTypes, and SharePoints of the world. The build-it-yourself software powers the White House, the House of Representatives, half a dozen agencies, and countless data-driven microsites like Recovery.gov and the IT Spending Dashboard, and its public sector use is [equally if not more impressive abroad][5].\n\n## A Problem of Perception\n\n### Typical Enterprise Misconceptions\n\n* WordPress is a blogging platform\n* WordPress doesn't scale well\n* Most plugins are written by hobbyists, not professionals\n* WordPress is less secure\n* WordPress can't handle complex data types or user roles\n* There's no enterprise support\n* There aren't many WordPress developers\n* No \"serious\" people use WordPress\n* The WordPress codebase is immature\n\nWordPress's disproportionately low government adoption is arguably the result of a handful of factors. For one, custom post types, the feature that formally graduated WordPress from a mere blogging platform into a full-fledged content management system, has only been around since June of last year. Yet, even among new sites, [^1] the ratio remains somewhat stagnant, if not shrinking, leaving one to believe that the technology has lapped its own already stellar perception.\n\nWhen you stack the two side by side (or against any other CMS for that matter), WordPress is objectively the prudent choice. On paper, you'd be hard-pressed to make the case for anything else. But, it's not a technical problem. It's a human one. It seems that WordPress's greatest asset – ease of use that has resulted in widespread adoption by a largely non-technical user base – is threatening to become its greatest liability.\n\nAmong those empowered to make purchasing decisions, there seems to be a sense that WordPress is what you use on the weekends to post pictures of your lunch while Drupal is what you use for \"serious\" business, and with good reason. For better or for worse, Drupal has positioned itself as not just a CMS, but rather *the* enterprise solution — an inseparable fifth layer of the increasingly ubiquitous enterprise LAMPD stack.\n\n<table class=\"table\">\n <thead>\n <tr>\n <th></th>\n <th>Drupal</th>\n <th>WordPress</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>API Hooks</td>\n <td markdown=\"1\">[267][7]</td>\n <td markdown=\"1\">[1,506][8] (5x)</td>\n </tr>\n <tr>\n <td>Active Sites</td>\n <td markdown=\"1\">[533,136][9]</td>\n <td markdown=\"1\">[65,052,049][10] (125x)</td> \n </tr>\n <tr>\n <td>Plugins / Modules</td>\n <td markdown=\"1\">[8,536][11]</td>\n <td markdown=\"1\">[16,076][12] (2x)</td> \n </tr>\n <tr>\n <td>Themes</td>\n <td markdown=\"1\">[893][13]</td>\n <td markdown=\"1\">[1,426][14] (1.5x)</td> \n </tr>\n <tr>\n <td>Community[^2]</td>\n <td markdown=\"1\">1.5 Million</td>\n <td markdown=\"1\">20 Million (13x)</td> \n </tr>\n </tbody>\n</table>\n\n## **Beyond Cowboy Coders**\n\nNot surprisingly, the two communities are a reflection of their underlying software's position in the broader market. CodePoet.com, for example, a directory of WordPress consultants curated by Automattic, lists [a mere thirteen firms in North America that seek jobs over $250,000 ][16](often a small price tag for government or corporate sites), while its Drupal counterpart lists roughly 80 firms that specifically target [government][17], [enterprise][18], and [NGO clients][19] daily.\n\nI am not suggesting that freelance developers should bring an end to what makes WordPress WordPress and change out of their shorts and sandals this instant or that they become intimately familiar with the nuances of federal procurement law, nor am I suggesting that small shops seek to bite off more than they can realistically chew anytime soon. I am suggestion, however, that there are small, tangible steps that the community can take to make headway into the government and enterprise space and gradually entrench WordPress as a viable alternative to otherwise subpar software harming innocent public servants.\n\n## 1. `_Deprecate( ‘`Outdated Language`' )`\n\nThe results of the recent WordPress survey suggest that the majority of sites use WordPress *as a CMS*. That's like saying the majority of drivers use their Cadillac *as an automobile*. WordPress *is *a CMS. Yet, no one seems to be saying that. WordPress.org calls the software a \"blog tool\", the WordPress Features codex page [describes the site that the software creates as a \"weblog\" no less than 28 times][20], [^3] and the first search result for \"WordPress CMS,\" [describes \"what aspects of the WordPress… need to be changed in order to turn WordPress into a CMS.\"][22]\n\nEspecially in the buttoned-up context of corporate and government installs, \"blog\" can be a dirty word. Yet, to get the title of any site, the command we all still run is `get_bloginfo()`. Inside `<?php` tags and out, the technology we have created has far outpaced the metaphor we use to describe it.\n\n## 2. Make New Friends\n\nIn a typical procurement, be it a federal agency, mid-sized corporation, or local municipality, the CMS does not come first. In fact, many stakeholders wouldn't know the site's underlying technology if it weren't for the logo on the login screen. A firm with a strong reputation in the industry is sought, and based largely on their recommendation, the technology – be it proprietary, open-source, or purpose-built – is chosen by evaluating each across a handful of metrics.\n\nWe all know the decision points. Performance and scaling, handing of complex data types, managing user roles, etc. All challenges that WordPress doesn't even flinch at, yet the perception among the uninitiated is still widely that between open-source alternatives, WordPress is the least-accomplished in the bunch. Whether its reaching out and inviting nearby firms to your next meetup, giving a WordPress talk at a non-WordPress conference, or just being an exemplar in your local development community, we need to show the tie-wearing few in the conference room that you don't have to be boring, overly complex, or unnecessarily expensive to get the job done right.\n\n## 3. But Wait, There's More…\n\nWordPress consultants are great at selling themselves, but rarely does anyone ever sell WordPress. Ask my why an agency or municipality should adopt Sharepoint, and I have page after page of [focus-group tested material tailored to my industry][23]. Ask my why anyone should use WordPress, and [I'm pretty much left to fend for myself][24]. Somewhat counterintuitive in a world of free software, migrating to WordPress comes with significant costs that firms need to take into account, both real and imagined, costs that the technology's ambassadors must actively overcome. Beyond actual development and training costs, there are perceived risks of an immature codebase, insecure plugins, and a general inability to do the job.\n\nOne of WordPress's greatest strengths is its tight-nit cadre of dedicated enthusiasts. Yet it can often be hard for those on the inside to see things as those outside do. Think about those who have not yet tasted just how sweet the punch is. The name WordPress most often makes its way into a CIO's inbox, for example, only when there's been a security breach, not when there's been a feature release. Where other platforms have stagnated, WordPress's \"can-do\" attitude has forged onward introducing even more one-of-a-kind features, yet all too often they go unnoticed or underappreciated where it matters. Both collectively and individually, for WordPress to gain the respect of \"the man,\" we must seek to broadcast its excellence. Now is not the time for humility.\n\n## 4. Build Serious Features for Serious Users\n\n[WordPress's core philosophy][25] has always been to \"code for the majority\" and with the amount of customization required out-of-the-box to do just about anything, arguably Drupal's philosophy has been \"code for yourself.\" While Automattic does a great job with [the CNN's and TechCrunch's of the world][26], there's a huge opportunity here for developers to fill a void by giving rise to a new generation of core features, plugins, and themes with \"serious\" implementations in mind. Rather than another social media plugin, what's the next big thing? Large-scale data? Geolocation? APIs and interoperability?\n\nNASA's space-race supercharching of the aerospace industry brought consumers everything from Super Soakers to sun glasses, and that same reach for the stars philosophy can put yet-unimagined power in the browsers of everyday WordPress users. Distraction free writing and an *even* more intuitive administrative interface are killer features to be sure, but they are the icing on an already beautiful cake and do little to gain parity with more traditional CMSs let alone take on the CMS space in the \"WordPress Way.\" A good example of this may be [WP Document Revisions][27], a document management and workflow management tool built almost solely using core functionality. By leveraging WordPress's core competencies, the venerable CMS can not only gain a seat at the adult's table, but exponentially improve the experience for its primary user base as well\n\n## Frenemies\n\nIt's important to note, though, it's not a zero-sum game. Drupal doesn't compete with WordPress like McDonalds does with Burger King or Coke with Pepsi. Government support for open-source software is a good thing, regardless of what form it takes. True, an infusion of publicly funded effort into the WordPress code base would invariably advance the software just as government funded research advances hard sciences, but, in the end, everybody wins here.\n\nWordPress and government just make sense. As public institutions both large and small face growing budget concerns and begin to shift many of their services to the web, a platform like WordPress built with engagement, collaboration, and dialogue is the ideal fit, not to mention, incredibly persuasive when compared to expensive, propriety, or purpose-built alternatives.\n\n## **We All Have a Stake**\n\nWhether WordPress is your primary source of income, a hobby, or just the thing that powers your personal site, we all have a stake in WordPress's future. It is paramount that the community stays true to its scrappy roots. After all, there's no sense selling the couch to buy a new TV. Yet, in order to be taken seriously by the public sector as a platform for more than simply sharing photos of kitten and chronicling teenage angst, we must first take ourselves seriously, and take baby steps to bring government adoption in line with the WordPress community's otherwise unparalleled and well-deserved success.\n\n<div style=\"border: 1px solid black; background: #eee; padding: 15px 15px 15px 15px; margin-bottom: 30px; min-height: 150px; \"><a href=\"http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg\"><img class=\"alignleft size-thumbnail wp-image-2330\" title=\"q-cover-issue01-300x387\" src=\"http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" /></a>\n<p style=\"margin-top: 20px;\"><em>This article originally printed in the <a href=\"http://wpcandy.com/announces/quarterly-issue-one-ships\">March, 2012 issue of The WPCandy Quarterly</a>. </em></p>\n<p><strong><a href=\"http://wpcandy.com/quarterly\">Continue Reading →</a></strong><br /><span style=\"font-size:12px\">(subscription required)</span></p>\n</div>\n\n[^1]: **Update (3/7):** As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a *decision lag*. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from *blog+* to *full-fledged CMS* — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, [procurement regulations dictate that such lag times are all but the norm][31]. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today. [32]\n[^2]: Jen Lampton, \"Why WordPress is Better than Drupal, Developers Take Note\" (July, 2010) [33]\n[^3]: **Update (3/8):** The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I've gone through and reworked much of the blog-specific language. [View the original][34]. [35]\n\n [1]: http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png\n [2]: http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/\n [3]: http://trends.builtwith.com/cms\n [4]: http://dotgov.benbalter.com\n [5]: http://groups.drupal.org/node/19885\n [6]: #note-2020-1 \"Update (3/7): As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a decision lag. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from blog+ to full-fledged CMS — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, procurement regulations dictate that such lag times are all but the norm. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today.\"\n [7]: http://api.drupal.org/api/drupal/includes--module.inc/group/hooks/8\n [8]: http://adambrown.info/p/wp_hooks/version/3.2\n [9]: http://drupal.org/project/usage\n [10]: http://en.wordpress.com/stats/\n [11]: http://drupal.org/project/modules\n [12]: http://wordpress.org/extend/plugins/\n [13]: http://drupal.org/project/themes\n [14]: http://wordpress.org/extend/themes/\n [15]: #note-2020-2 \"Jen Lampton, \"Why WordPress is Better than Drupal, Developers Take Note\" (July, 2010)\"\n [16]: http://codepoet.com/browse/regions/north-america/platforms/wordpress/project-size/250000-250000/\n [17]: http://drupal.org/marketplace-preview/all/Government\n [18]: http://drupal.org/marketplace-preview/all/Corporate\n [19]: http://drupal.org/marketplace-preview/all/Non-Governmental-Organizations\n [20]: http://codex.wordpress.org/WordPress_Features\n [21]: #note-2020-3 \"Update (3/8): The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I've gone through and reworked much of the blog-specific language. View the original.\"\n [22]: http://codex.wordpress.org/User:Lastnode/Wordpress_CMS\n [23]: http://sharepoint.microsoft.com/en-us/product/benefits/Pages/default.aspx\n [24]: http://ben.balter.com/2011/09/01/why-wordpress/\n [25]: http://wordpress.org/about/philosophy/\n [26]: http://en.wordpress.com/notable-users/\n [27]: http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/ \"WP Document Revisions — Document Management & Version Control for WordPress\"\n [28]: http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg\n [29]: http://wpcandy.com/announces/quarterly-issue-one-ships\n [30]: http://wpcandy.com/quarterly\n [31]: http://ben.balter.com/2011/11/29/towards-a-more-agile-government/\n \n \n [34]: http://codex.wordpress.org/index.php?title=WordPress_Features&oldid=113531","previous":"<p>Wired Magazine recently took a turn for the meta. In addition to publishing <a href='http://www.wired.com/wiredenterprise/2012/02/github/all/1'>their recent story featuring the popular version control site GitHub</a> on Wired.com as they would normally, they also <a href='https://github.com/WiredEnterprise/Lord-of-the-Files'>published it on GitHub itself under a creative commons license</a>, allowing readers to fork and contribute to the story as they saw fit. In <a href='http://www.wired.com/wiredenterprise/2012/02/github-revisited/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+wired%2Findex+%28Wired%3A+Index+3+%28Top+Stories+2%29%29'>reflecting after the fact</a>, the Wired team said something that stood out to me:</p>\n\n<blockquote>\n<p>At Wired offices, you hear the question over and over again as we work on stories like the one you&#8217;re reading now: &#8220;Are you out of the story? I want to go in.&#8221; We have a version control problem. We publish Wired.com on WordPress. It&#8217;s a decent publishing tool, but when two people change a story at the same time, one of them doesn&#8217;t get her changes onto the final story.</p>\n\n<p>We published our GitHub story on GitHub because it was meta-cool. But we also did it to see if GitHub might actually help us solve our problem.</p>\n</blockquote>\n\n<p>Spoiler alert: it didn&#8217;t. GitHub&#8217;s great for a lot of things, source code chief among them, but it&#8217;s not for the faint of heart. There&#8217;s a great deal of command line, and general geekery involved that raise the barriers to entry just high enough to keep it out of everyday newsrooms and editorial workflows. </p>\n\n<p><strong>The Pitch:</strong>* What if we could re-imagine WordPress&#8217;s ease-of-use and intuitively dumb-simple workflow to introduce a layer of GitHub&#8217;s collaborative fork-and-merge horsepower under the hood? *</p>\n\n<p>Users would have the ability to &#8220;clone&#8221; an existing post, make any changes they want, and then merge those change back into the original before publishing.There are four distinct use cases where this feature may come into play:</p>\n\n<ul>\n<li>Collaborative editing (by resolving two users&#8217; conflicted saves – Wired&#8217;s example)</li>\n\n<li>Saving draft changes of already-published content</li>\n\n<li>Scheduling pending changes to already-published content</li>\n\n<li>Allowing users without edit or publish capabilities to edit and submit changes to content (similar to GitHub&#8217;s pull request system)</li>\n</ul>\n\n<p>I&#8217;d imagine the workflow would go something like this:</p>\n\n<ol>\n<li>User without the ability to edit an existing post has changes to make</li>\n\n<li>User &#8220;forks&#8221; the post, making any change they deem necessary</li>\n\n<li>When done, user attempts to merge changes back into the original</li>\n\n<li>Post goes into standard WordPress &#8220;pending review&#8221; workflow</li>\n\n<li>Editor is presented with diff (using the built-in diff engine), and can automatically accept changes (if there are no conflicts), or manually merge the two if necessary</li>\n\n<li>Post is re-published with updated content, revision logs merged to reflect history</li>\n</ol>\n\n<p>In a nutshell:</p>\n\n<ul>\n<li>\n<p>Extends WordPress&#8217;s existing revision system</p>\n</li>\n\n<li>\n<p>Clone existing posts, edit, and &#8220;republish&#8221;</p>\n</li>\n\n<li>\n<p>Schedule changes to posts, including taxonomies and metadata</p>\n</li>\n\n<li>\n<p>Pending changes diff view, front-end preview of changes</p>\n</li>\n\n<li>\n<p>Using WordPress&#8217;s pending-review system, integrates with existing plugins for notifications, management, etc.</p>\n</li>\n\n<li>\n<p>Ability to store &#8220;commit messages&#8221; with each post revision to explain to others what changes were made and why</p>\n</li>\n\n<li>\n<p>Automatically merges (non-conflicted) changes (based on existing diff engine)</p>\n\n<ol>\n<li>One sided changes – one overwrites the other</li>\n\n<li>Two sided non-conflict changes – automatically merge</li>\n\n<li>Conflicted changes – note conflicts in fork and prepare for re-merge</li>\n</ol>\n</li>\n</ul>\n\n<p>Post forking may make for a killer plugin or piece of core functionality… and imagine if it could integrate with other collaboration tools like <a href='http://editflow.org/'>Edit Flow</a>, or <a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/'>WP Document Revisions</a>? As in Wired&#8217;s example, it has the potential to fundamentally change newsrooms and other editorial workflows. All of a sudden, any content becomes either publicly or privately collaborative. Pretty cool, huh? While it may be a bit ahead of it&#8217;s time from a human standpoint, from a technical standpoint, the technology&#8217;s there — it&#8217;s nothing new — just a matter of building it, and hopefully solving the dreaded &#8220;are you out yet?&#8221; problem.</p>\n\n<p>Thoughts? Would you use this? What else would you like to see it do? <a href='http://ben.balter.com/contact/'>Drop me a line</a>, or let me know in the <a href='#comments'>comments below</a>?</p>\n\n<p><strong>Update (3/5):</strong>The plan right now is to submit this as a <a href='http://ben.balter.com/tag/gsoc/'>Google Summer of Code</a> project, so if all goes well, look for the above-outlined functionality in a WordPress install near you towards the end of the summer. In the mean time, the continued thoughts/feedback is very greatly appreciated.</p>\n\n<p><strong>Update (3/27):</strong>It looks like <a href='http://wpdevel.wordpress.com/2012/03/16/no-gsoc-2012/'>WordPress isn&#8217;t participating in GSoC this year</a>. Filing this idea under &#8220;someday&#8221;.</p>\n\n<p><strong>Update (6/13):</strong>Stay tuned. This may yet become a reality after all. ETA end of summer-ish.</p>\n\n<p>Notes:</p>\n\n<ol>\n<li>Having recently given this a try — using GitHub to curate <a href='http://ben.balter.com/2012/02/27/open-source-alternatives-to-proprietary-enterprise-software/'>a collaboratively edited list of open-source alternatives to proprietary software</a> — I know first-hand how off-putting GitHub can be to non-technical users. : Full disclosure: two plugins, <a href='http://wordpress.org/extend/plugins/revisionary/'>Revisionary</a> and <a href='http://wordpress.org/extend/plugins/duplicate-post/'>Duplicate Post</a> exist, but they don&#8217;t take the idea nearly as far as the above proposes, nor do they do it in &#8220;the WordPress way&#8221;. I&#8217;d hope that even if the idea started as a plugin, it would eventually be incorporated as core functionality. <span>16</span></li>\n</ol>","content":"<p>PHP (and the open-source software it powers) often gets a bad rap in many government and enterprise circles, the brunt of such anecdotal cries as &#8220;it&#8217;s inherently insecure&#8221; or &#8220;X proprietary product is much safer.&#8221; The truth is, much of this unfortunate stereotype is the result of carefully crafted <a href='http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt'>fear, uncertainty, and doubt (FUD)</a>. An established disinformation tactic historically used by big names in software for decades, one of the most notorious instances of FUD being the leaked Microsoft &#8221;<a href='https://en.wikipedia.org/wiki/Halloween_documents'>Halloween Documents</a>&#8221; that outlined the software firm&#8217;s strategy to paint open-source, for example, as more costly or under-supported.</p>\n\n<p>So is PHP secure? In a word: <strong>yes</strong>. In my mind, PHP&#8217;s ill-deserved reputation can be traced to three key causes (beyond mere proprietary propaganda):</p>\n\n<ol>\n<li><strong>It was</strong> - More than a decade ago, there was a legitimate argument to be made for PHP being insecure. It used to be that PHP shipped with a poorly thought out setting toggled on by default (that any coder worth their weight in Mountain Dew would toggle off) called <code>register_globals</code>. The setting allowed poorly written code to be short-circuited by passing certain parameters in the URL. The default was flipped to off in 2000, and removed completely in 2009. End. Of. Story.</li>\n\n<li><strong>It&#8217;s ubiquitous</strong> - Combine the traffic of Facebook, Wikipedia, and the White House, and you&#8217;ll have a good chunk of the Web&#8217;s traffic, not to mention probably a good chunk of the web&#8217;s attacks as a result. Saying that makes PHP insecure would logically render Microsoft Windows, the target of most viruses, equally insecure and unusable. It&#8217;s just a matter of numbers.</li>\n\n<li><strong>It&#8217;s Forgiving</strong> – PHP is a very forgiving programming language, meaning it has a very gentle learning curve and is the first web language of choice for many budding developers. Naturally, inexperienced coders learning to code are going to write inexperienced and thus insecure code. Does that mean it&#8217;s insecure? No. Bad code is bad code in any language. Again, it&#8217;s a numbers game.</li>\n</ol>\n\n<p>It&#8217;s next to impossible to say a given language is &#8220;insecure.&#8221; That&#8217;d be like saying English, as a language, is less trustworthy. It just doesn&#8217;t make sense. In fact, most research supports the idea that the opposite is the case, that <a href='https://www.infoworld.com/d/open-source-software/report-open-source-tops-proprietary-code-in-quality-187169'>open-source produces better quality code than its closed-source counterparts</a>. Think about it <a href='http://www.commlawblog.com/2010/01/articles/unlicensed-operations-and-emer/fcc-changes-stance-on-opensource-security/'>this way</a>:</p>\n\n<blockquote>\n<p>Someone – let&#8217;s call him Bob – wants to secure a room. But in Bob&#8217;s universe, there are no locks. So Bob invents one, and installs it. And realizes he has a huge advantage over would-be intruders. Only Bob knows how the lock works. So no one else knows how to pick it. Bob sets about keeping his lock design a secret.</p>\n\n<p>Alice also needs to secure a room, and she also invents a lock. Unlike Bob, though, Alice publishes her design – not the set-up for a particular key, of course, but the details of the overall mechanism.</p>\n\n<p>Bob thinks Alice is nuts. Why tell people how your lock works? They&#8217;ll just pick it more easily.</p>\n\n<p>Fine, says Alice, good luck keeping your design a secret. It&#8217;s going to get out, no matter what you do. And frankly, Bob, your lock probably isn&#8217;t all that great. Okay, neither is mine. Not yet. But now that it&#8217;s published, people will suggest improvements. Students will do Ph.D. dissertations on making it better. Companies will compete to develop stronger versions. And long after your design has leaked, and instructions for picking it are all over the Internet, my vastly improved lock will be far more secure. Even though everybody will know how it works.</p>\n</blockquote>\n\n<p>Put another way, unlike many of its commercial counterparts for which obfuscation is a security staple, open source relies on inherently sound security practices to ensure that whatever you want to remain private, remains private.</p>\n\n<p>Last, because open-source projects like PHP are almost always monitored 24/7 by the prying eyes of countless developers scattered around the globe, if a vulnerability does arise, <a href='https://twitter.com/#!/nacin/status/9753986051604480'>it&#8217;s often addressed in hours</a>, and you&#8217;re not left waiting days or <a href='http://www.xconomy.com/boston/2008/03/07/delays-in-software-patch-pushed-security-firm-to-disclose-vmware-flaw/'>months as in some commercial products</a> for a patch from on high.</p>\n\n<p>Is there insecure PHP code out there? No doubt. I&#8217;ve seen it. Does that mean all PHP is insecure? Far from it. Next time someone you know says something to the contrary, subtly mention in passing that you&#8217;re really surprised to hear that the company behind their favorite piece of commercial software recently announced they were sunsetting the project, and see how they handle a taste of their own FUD.</p>\n\n<p>Notes:</p>\n\n<ol>\n<li>In simplified terms, if I have the variable $logged_in in my page to store whether a user is logged in or not, and I don&#8217;t first set it to false before checking, a visitor could go to mysite.com?logged_in=true, and the page would erroneously think I was logged in.</li>\n</ol>"}
+{"author":"Benjamin J. Balter","title":"PHP is Insecure (and Other Enterprise Open-Source F.U.D.)\n","excerpt":null,"layout":"post","category":["Technology"],"tags":["code","enterprise","fud","government","microsoft","open source","php","security","security though obscurity","wordpress"],"post_format":[],"url":"/2012/03/02/php-is-insecure-and-other-enterprise-open-source-fud/","date":"2012-03-02 00:00:00 -0500","id":"/2012/03/02/php-is-insecure-and-other-enterprise-open-source-fud","categories":["posts"],"next":"[![WordPress for Government](http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter-150x150.png){.alignleft}][1]\n\nOver the past several years WordPress's market share has enjoyed explosive growth across virtually every industry. Today, it powers [nearly a quarter of new sites][2], and is the CMS of choice for[ more than two thirds of the top-million sites][3] on the web making it the world's most popular publishing platform by a long shot. Yet one group of seemingly ideal users has been slow to take the former blogging platform seriously: .Govs.\n\nDrupal powers twice as many federal .Govs [as every other CMS combined][4]. That's more than six Drupal sites for every one WordPress .Gov alone, not to mention the Joomlas, MovableTypes, and SharePoints of the world. The build-it-yourself software powers the White House, the House of Representatives, half a dozen agencies, and countless data-driven microsites like Recovery.gov and the IT Spending Dashboard, and its public sector use is [equally if not more impressive abroad][5].\n\n## A Problem of Perception\n\n<div style=\"float:right; width: 300px; margin-left: 20px; text-align: left;\" markdown=\"1\" class=\"well\">\n### Typical Enterprise Misconceptions\n\n* WordPress is a blogging platform\n* WordPress doesn't scale well\n* Most plugins are written by hobbyists, not professionals\n* WordPress is less secure\n* WordPress can't handle complex data types or user roles\n* There's no enterprise support\n* There aren't many WordPress developers\n* No \"serious\" people use WordPress\n* The WordPress codebase is immature\n</div>\n\nWordPress's disproportionately low government adoption is arguably the result of a handful of factors. For one, custom post types, the feature that formally graduated WordPress from a mere blogging platform into a full-fledged content management system, has only been around since June of last year. Yet, even among new sites, [^1] the ratio remains somewhat stagnant, if not shrinking, leaving one to believe that the technology has lapped its own already stellar perception.\n\nWhen you stack the two side by side (or against any other CMS for that matter), WordPress is objectively the prudent choice. On paper, you'd be hard-pressed to make the case for anything else. But, it's not a technical problem. It's a human one. It seems that WordPress's greatest asset – ease of use that has resulted in widespread adoption by a largely non-technical user base – is threatening to become its greatest liability.\n\nAmong those empowered to make purchasing decisions, there seems to be a sense that WordPress is what you use on the weekends to post pictures of your lunch while Drupal is what you use for \"serious\" business, and with good reason. For better or for worse, Drupal has positioned itself as not just a CMS, but rather *the* enterprise solution — an inseparable fifth layer of the increasingly ubiquitous enterprise LAMPD stack.\n\n<table class=\"table\">\n <thead>\n <tr>\n <th></th>\n <th>Drupal</th>\n <th>WordPress</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>API Hooks</td>\n <td markdown=\"1\">[267][7]</td>\n <td markdown=\"1\">[1,506][8] (5x)</td>\n </tr>\n <tr>\n <td>Active Sites</td>\n <td markdown=\"1\">[533,136][9]</td>\n <td markdown=\"1\">[65,052,049][10] (125x)</td> \n </tr>\n <tr>\n <td>Plugins / Modules</td>\n <td markdown=\"1\">[8,536][11]</td>\n <td markdown=\"1\">[16,076][12] (2x)</td> \n </tr>\n <tr>\n <td>Themes</td>\n <td markdown=\"1\">[893][13]</td>\n <td markdown=\"1\">[1,426][14] (1.5x)</td> \n </tr>\n <tr>\n <td>Community[^2]</td>\n <td markdown=\"1\">1.5 Million</td>\n <td markdown=\"1\">20 Million (13x)</td> \n </tr>\n </tbody>\n</table>\n\n## **Beyond Cowboy Coders**\n\nNot surprisingly, the two communities are a reflection of their underlying software's position in the broader market. CodePoet.com, for example, a directory of WordPress consultants curated by Automattic, lists [a mere thirteen firms in North America that seek jobs over $250,000 ][16](often a small price tag for government or corporate sites), while its Drupal counterpart lists roughly 80 firms that specifically target [government][17], [enterprise][18], and [NGO clients][19] daily.\n\nI am not suggesting that freelance developers should bring an end to what makes WordPress WordPress and change out of their shorts and sandals this instant or that they become intimately familiar with the nuances of federal procurement law, nor am I suggesting that small shops seek to bite off more than they can realistically chew anytime soon. I am suggestion, however, that there are small, tangible steps that the community can take to make headway into the government and enterprise space and gradually entrench WordPress as a viable alternative to otherwise subpar software harming innocent public servants.\n\n## 1. `_Deprecate( ‘`Outdated Language`' )`\n\nThe results of the recent WordPress survey suggest that the majority of sites use WordPress *as a CMS*. That's like saying the majority of drivers use their Cadillac *as an automobile*. WordPress *is *a CMS. Yet, no one seems to be saying that. WordPress.org calls the software a \"blog tool\", the WordPress Features codex page [describes the site that the software creates as a \"weblog\" no less than 28 times][20], [^3] and the first search result for \"WordPress CMS,\" [describes \"what aspects of the WordPress… need to be changed in order to turn WordPress into a CMS.\"][22]\n\nEspecially in the buttoned-up context of corporate and government installs, \"blog\" can be a dirty word. Yet, to get the title of any site, the command we all still run is `get_bloginfo()`. Inside `<?php` tags and out, the technology we have created has far outpaced the metaphor we use to describe it.\n\n## 2. Make New Friends\n\nIn a typical procurement, be it a federal agency, mid-sized corporation, or local municipality, the CMS does not come first. In fact, many stakeholders wouldn't know the site's underlying technology if it weren't for the logo on the login screen. A firm with a strong reputation in the industry is sought, and based largely on their recommendation, the technology – be it proprietary, open-source, or purpose-built – is chosen by evaluating each across a handful of metrics.\n\nWe all know the decision points. Performance and scaling, handing of complex data types, managing user roles, etc. All challenges that WordPress doesn't even flinch at, yet the perception among the uninitiated is still widely that between open-source alternatives, WordPress is the least-accomplished in the bunch. Whether its reaching out and inviting nearby firms to your next meetup, giving a WordPress talk at a non-WordPress conference, or just being an exemplar in your local development community, we need to show the tie-wearing few in the conference room that you don't have to be boring, overly complex, or unnecessarily expensive to get the job done right.\n\n## 3. But Wait, There's More…\n\nWordPress consultants are great at selling themselves, but rarely does anyone ever sell WordPress. Ask my why an agency or municipality should adopt Sharepoint, and I have page after page of [focus-group tested material tailored to my industry][23]. Ask my why anyone should use WordPress, and [I'm pretty much left to fend for myself][24]. Somewhat counterintuitive in a world of free software, migrating to WordPress comes with significant costs that firms need to take into account, both real and imagined, costs that the technology's ambassadors must actively overcome. Beyond actual development and training costs, there are perceived risks of an immature codebase, insecure plugins, and a general inability to do the job.\n\nOne of WordPress's greatest strengths is its tight-nit cadre of dedicated enthusiasts. Yet it can often be hard for those on the inside to see things as those outside do. Think about those who have not yet tasted just how sweet the punch is. The name WordPress most often makes its way into a CIO's inbox, for example, only when there's been a security breach, not when there's been a feature release. Where other platforms have stagnated, WordPress's \"can-do\" attitude has forged onward introducing even more one-of-a-kind features, yet all too often they go unnoticed or underappreciated where it matters. Both collectively and individually, for WordPress to gain the respect of \"the man,\" we must seek to broadcast its excellence. Now is not the time for humility.\n\n## 4. Build Serious Features for Serious Users\n\n[WordPress's core philosophy][25] has always been to \"code for the majority\" and with the amount of customization required out-of-the-box to do just about anything, arguably Drupal's philosophy has been \"code for yourself.\" While Automattic does a great job with [the CNN's and TechCrunch's of the world][26], there's a huge opportunity here for developers to fill a void by giving rise to a new generation of core features, plugins, and themes with \"serious\" implementations in mind. Rather than another social media plugin, what's the next big thing? Large-scale data? Geolocation? APIs and interoperability?\n\nNASA's space-race supercharching of the aerospace industry brought consumers everything from Super Soakers to sun glasses, and that same reach for the stars philosophy can put yet-unimagined power in the browsers of everyday WordPress users. Distraction free writing and an *even* more intuitive administrative interface are killer features to be sure, but they are the icing on an already beautiful cake and do little to gain parity with more traditional CMSs let alone take on the CMS space in the \"WordPress Way.\" A good example of this may be [WP Document Revisions][27], a document management and workflow management tool built almost solely using core functionality. By leveraging WordPress's core competencies, the venerable CMS can not only gain a seat at the adult's table, but exponentially improve the experience for its primary user base as well\n\n## Frenemies\n\nIt's important to note, though, it's not a zero-sum game. Drupal doesn't compete with WordPress like McDonalds does with Burger King or Coke with Pepsi. Government support for open-source software is a good thing, regardless of what form it takes. True, an infusion of publicly funded effort into the WordPress code base would invariably advance the software just as government funded research advances hard sciences, but, in the end, everybody wins here.\n\nWordPress and government just make sense. As public institutions both large and small face growing budget concerns and begin to shift many of their services to the web, a platform like WordPress built with engagement, collaboration, and dialogue is the ideal fit, not to mention, incredibly persuasive when compared to expensive, propriety, or purpose-built alternatives.\n\n## **We All Have a Stake**\n\nWhether WordPress is your primary source of income, a hobby, or just the thing that powers your personal site, we all have a stake in WordPress's future. It is paramount that the community stays true to its scrappy roots. After all, there's no sense selling the couch to buy a new TV. Yet, in order to be taken seriously by the public sector as a platform for more than simply sharing photos of kitten and chronicling teenage angst, we must first take ourselves seriously, and take baby steps to bring government adoption in line with the WordPress community's otherwise unparalleled and well-deserved success.\n\n<div style=\"border: 1px solid black; background: #eee; padding: 15px 15px 15px 15px; margin-bottom: 30px; min-height: 150px; \"><a href=\"http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg\"><img class=\"alignleft size-thumbnail wp-image-2330\" title=\"q-cover-issue01-300x387\" src=\"http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" /></a>\n<p style=\"margin-top: 20px;\"><em>This article originally printed in the <a href=\"http://wpcandy.com/announces/quarterly-issue-one-ships\">March, 2012 issue of The WPCandy Quarterly</a>. </em></p>\n<p><strong><a href=\"http://wpcandy.com/quarterly\">Continue Reading →</a></strong><br /><span style=\"font-size:12px\">(subscription required)</span></p>\n</div>\n\n[^1]: **Update (3/7):** As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a *decision lag*. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from *blog+* to *full-fledged CMS* — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, [procurement regulations dictate that such lag times are all but the norm][31]. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today.\n[^2]: Jen Lampton, \"Why WordPress is Better than Drupal, Developers Take Note\" (July, 2010)\n[^3]: **Update (3/8):** The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I've gone through and reworked much of the blog-specific language. [View the original][34].\n\n [1]: http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png\n [2]: http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/\n [3]: http://trends.builtwith.com/cms\n [4]: http://dotgov.benbalter.com\n [5]: http://groups.drupal.org/node/19885\n [6]: #note-2020-1 \"Update (3/7): As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a decision lag. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from blog+ to full-fledged CMS — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, procurement regulations dictate that such lag times are all but the norm. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today.\"\n [7]: http://api.drupal.org/api/drupal/includes--module.inc/group/hooks/8\n [8]: http://adambrown.info/p/wp_hooks/version/3.2\n [9]: http://drupal.org/project/usage\n [10]: http://en.wordpress.com/stats/\n [11]: http://drupal.org/project/modules\n [12]: http://wordpress.org/extend/plugins/\n [13]: http://drupal.org/project/themes\n [14]: http://wordpress.org/extend/themes/\n [15]: #note-2020-2 \"Jen Lampton, \"Why WordPress is Better than Drupal, Developers Take Note\" (July, 2010)\"\n [16]: http://codepoet.com/browse/regions/north-america/platforms/wordpress/project-size/250000-250000/\n [17]: http://drupal.org/marketplace-preview/all/Government\n [18]: http://drupal.org/marketplace-preview/all/Corporate\n [19]: http://drupal.org/marketplace-preview/all/Non-Governmental-Organizations\n [20]: http://codex.wordpress.org/WordPress_Features\n [21]: #note-2020-3 \"Update (3/8): The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I've gone through and reworked much of the blog-specific language. View the original.\"\n [22]: http://codex.wordpress.org/User:Lastnode/Wordpress_CMS\n [23]: http://sharepoint.microsoft.com/en-us/product/benefits/Pages/default.aspx\n [24]: http://ben.balter.com/2011/09/01/why-wordpress/\n [25]: http://wordpress.org/about/philosophy/\n [26]: http://en.wordpress.com/notable-users/\n [27]: http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/ \"WP Document Revisions — Document Management & Version Control for WordPress\"\n [28]: http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg\n [29]: http://wpcandy.com/announces/quarterly-issue-one-ships\n [30]: http://wpcandy.com/quarterly\n [31]: http://ben.balter.com/2011/11/29/towards-a-more-agile-government/\n \n \n [34]: http://codex.wordpress.org/index.php?title=WordPress_Features&oldid=113531","previous":"<p>Wired Magazine recently took a turn for the meta. In addition to publishing <a href='http://www.wired.com/wiredenterprise/2012/02/github/all/1'>their recent story featuring the popular version control site GitHub</a> on Wired.com as they would normally, they also <a href='https://github.com/WiredEnterprise/Lord-of-the-Files'>published it on GitHub itself under a creative commons license</a>, allowing readers to fork and contribute to the story as they saw fit. In <a href='http://www.wired.com/wiredenterprise/2012/02/github-revisited/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+wired%2Findex+%28Wired%3A+Index+3+%28Top+Stories+2%29%29'>reflecting after the fact</a>, the Wired team said something that stood out to me:</p>\n\n<blockquote>\n<p>At Wired offices, you hear the question over and over again as we work on stories like the one you&#8217;re reading now: &#8220;Are you out of the story? I want to go in.&#8221; We have a version control problem. We publish Wired.com on WordPress. It&#8217;s a decent publishing tool, but when two people change a story at the same time, one of them doesn&#8217;t get her changes onto the final story.</p>\n\n<p>We published our GitHub story on GitHub because it was meta-cool. But we also did it to see if GitHub might actually help us solve our problem.</p>\n</blockquote>\n\n<p>Spoiler alert: it didn&#8217;t. GitHub&#8217;s great for a lot of things, source code chief among them, but it&#8217;s not for the faint of heart. There&#8217;s a great deal of command line, and general geekery involved that raise the barriers to entry just high enough to keep it out of everyday newsrooms and editorial workflows. </p>\n\n<p><strong>The Pitch:</strong>* What if we could re-imagine WordPress&#8217;s ease-of-use and intuitively dumb-simple workflow to introduce a layer of GitHub&#8217;s collaborative fork-and-merge horsepower under the hood? *</p>\n\n<p>Users would have the ability to &#8220;clone&#8221; an existing post, make any changes they want, and then merge those change back into the original before publishing.There are four distinct use cases where this feature may come into play:</p>\n\n<ul>\n<li>Collaborative editing (by resolving two users&#8217; conflicted saves – Wired&#8217;s example)</li>\n\n<li>Saving draft changes of already-published content</li>\n\n<li>Scheduling pending changes to already-published content</li>\n\n<li>Allowing users without edit or publish capabilities to edit and submit changes to content (similar to GitHub&#8217;s pull request system)</li>\n</ul>\n\n<p>I&#8217;d imagine the workflow would go something like this:</p>\n\n<ol>\n<li>User without the ability to edit an existing post has changes to make</li>\n\n<li>User &#8220;forks&#8221; the post, making any change they deem necessary</li>\n\n<li>When done, user attempts to merge changes back into the original</li>\n\n<li>Post goes into standard WordPress &#8220;pending review&#8221; workflow</li>\n\n<li>Editor is presented with diff (using the built-in diff engine), and can automatically accept changes (if there are no conflicts), or manually merge the two if necessary</li>\n\n<li>Post is re-published with updated content, revision logs merged to reflect history</li>\n</ol>\n\n<p>In a nutshell:</p>\n\n<ul>\n<li>\n<p>Extends WordPress&#8217;s existing revision system</p>\n</li>\n\n<li>\n<p>Clone existing posts, edit, and &#8220;republish&#8221;</p>\n</li>\n\n<li>\n<p>Schedule changes to posts, including taxonomies and metadata</p>\n</li>\n\n<li>\n<p>Pending changes diff view, front-end preview of changes</p>\n</li>\n\n<li>\n<p>Using WordPress&#8217;s pending-review system, integrates with existing plugins for notifications, management, etc.</p>\n</li>\n\n<li>\n<p>Ability to store &#8220;commit messages&#8221; with each post revision to explain to others what changes were made and why</p>\n</li>\n\n<li>\n<p>Automatically merges (non-conflicted) changes (based on existing diff engine)</p>\n\n<ol>\n<li>One sided changes – one overwrites the other</li>\n\n<li>Two sided non-conflict changes – automatically merge</li>\n\n<li>Conflicted changes – note conflicts in fork and prepare for re-merge</li>\n</ol>\n</li>\n</ul>\n\n<p>Post forking may make for a killer plugin or piece of core functionality… and imagine if it could integrate with other collaboration tools like <a href='http://editflow.org/'>Edit Flow</a>, or <a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/'>WP Document Revisions</a>? As in Wired&#8217;s example, it has the potential to fundamentally change newsrooms and other editorial workflows. All of a sudden, any content becomes either publicly or privately collaborative. Pretty cool, huh? While it may be a bit ahead of it&#8217;s time from a human standpoint, from a technical standpoint, the technology&#8217;s there — it&#8217;s nothing new — just a matter of building it, and hopefully solving the dreaded &#8220;are you out yet?&#8221; problem.</p>\n\n<p>Thoughts? Would you use this? What else would you like to see it do? <a href='http://ben.balter.com/contact/'>Drop me a line</a>, or let me know in the <a href='#comments'>comments below</a>?</p>\n\n<p><strong>Update (3/5):</strong>The plan right now is to submit this as a <a href='http://ben.balter.com/tag/gsoc/'>Google Summer of Code</a> project, so if all goes well, look for the above-outlined functionality in a WordPress install near you towards the end of the summer. In the mean time, the continued thoughts/feedback is very greatly appreciated.</p>\n\n<p><strong>Update (3/27):</strong>It looks like <a href='http://wpdevel.wordpress.com/2012/03/16/no-gsoc-2012/'>WordPress isn&#8217;t participating in GSoC this year</a>. Filing this idea under &#8220;someday&#8221;.</p>\n\n<p><strong>Update (6/13):</strong>Stay tuned. This may yet become a reality after all. ETA end of summer-ish.</p>\n\n<p>Notes:</p>\n\n<ol>\n<li>Having recently given this a try — using GitHub to curate <a href='http://ben.balter.com/2012/02/27/open-source-alternatives-to-proprietary-enterprise-software/'>a collaboratively edited list of open-source alternatives to proprietary software</a> — I know first-hand how off-putting GitHub can be to non-technical users. : Full disclosure: two plugins, <a href='http://wordpress.org/extend/plugins/revisionary/'>Revisionary</a> and <a href='http://wordpress.org/extend/plugins/duplicate-post/'>Duplicate Post</a> exist, but they don&#8217;t take the idea nearly as far as the above proposes, nor do they do it in &#8220;the WordPress way&#8221;. I&#8217;d hope that even if the idea started as a plugin, it would eventually be incorporated as core functionality. <span>16</span></li>\n</ol>","content":"<p>PHP (and the open-source software it powers) often gets a bad rap in many government and enterprise circles, the brunt of such anecdotal cries as &#8220;it&#8217;s inherently insecure&#8221; or &#8220;X proprietary product is much safer.&#8221; The truth is, much of this unfortunate stereotype is the result of carefully crafted <a href='http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt'>fear, uncertainty, and doubt (FUD)</a>. An established disinformation tactic historically used by big names in software for decades, one of the most notorious instances of FUD being the leaked Microsoft &#8221;<a href='https://en.wikipedia.org/wiki/Halloween_documents'>Halloween Documents</a>&#8221; that outlined the software firm&#8217;s strategy to paint open-source, for example, as more costly or under-supported.</p>\n\n<p>So is PHP secure? In a word: <strong>yes</strong>. In my mind, PHP&#8217;s ill-deserved reputation can be traced to three key causes (beyond mere proprietary propaganda):</p>\n\n<ol>\n<li><strong>It was</strong> - More than a decade ago, there was a legitimate argument to be made for PHP being insecure. It used to be that PHP shipped with a poorly thought out setting toggled on by default (that any coder worth their weight in Mountain Dew would toggle off) called <code>register_globals</code>. The setting allowed poorly written code to be short-circuited by passing certain parameters in the URL. The default was flipped to off in 2000, and removed completely in 2009. End. Of. Story.</li>\n\n<li><strong>It&#8217;s ubiquitous</strong> - Combine the traffic of Facebook, Wikipedia, and the White House, and you&#8217;ll have a good chunk of the Web&#8217;s traffic, not to mention probably a good chunk of the web&#8217;s attacks as a result. Saying that makes PHP insecure would logically render Microsoft Windows, the target of most viruses, equally insecure and unusable. It&#8217;s just a matter of numbers.</li>\n\n<li><strong>It&#8217;s Forgiving</strong> – PHP is a very forgiving programming language, meaning it has a very gentle learning curve and is the first web language of choice for many budding developers. Naturally, inexperienced coders learning to code are going to write inexperienced and thus insecure code. Does that mean it&#8217;s insecure? No. Bad code is bad code in any language. Again, it&#8217;s a numbers game.</li>\n</ol>\n\n<p>It&#8217;s next to impossible to say a given language is &#8220;insecure.&#8221; That&#8217;d be like saying English, as a language, is less trustworthy. It just doesn&#8217;t make sense. In fact, most research supports the idea that the opposite is the case, that <a href='https://www.infoworld.com/d/open-source-software/report-open-source-tops-proprietary-code-in-quality-187169'>open-source produces better quality code than its closed-source counterparts</a>. Think about it <a href='http://www.commlawblog.com/2010/01/articles/unlicensed-operations-and-emer/fcc-changes-stance-on-opensource-security/'>this way</a>:</p>\n\n<blockquote>\n<p>Someone – let&#8217;s call him Bob – wants to secure a room. But in Bob&#8217;s universe, there are no locks. So Bob invents one, and installs it. And realizes he has a huge advantage over would-be intruders. Only Bob knows how the lock works. So no one else knows how to pick it. Bob sets about keeping his lock design a secret.</p>\n\n<p>Alice also needs to secure a room, and she also invents a lock. Unlike Bob, though, Alice publishes her design – not the set-up for a particular key, of course, but the details of the overall mechanism.</p>\n\n<p>Bob thinks Alice is nuts. Why tell people how your lock works? They&#8217;ll just pick it more easily.</p>\n\n<p>Fine, says Alice, good luck keeping your design a secret. It&#8217;s going to get out, no matter what you do. And frankly, Bob, your lock probably isn&#8217;t all that great. Okay, neither is mine. Not yet. But now that it&#8217;s published, people will suggest improvements. Students will do Ph.D. dissertations on making it better. Companies will compete to develop stronger versions. And long after your design has leaked, and instructions for picking it are all over the Internet, my vastly improved lock will be far more secure. Even though everybody will know how it works.</p>\n</blockquote>\n\n<p>Put another way, unlike many of its commercial counterparts for which obfuscation is a security staple, open source relies on inherently sound security practices to ensure that whatever you want to remain private, remains private.</p>\n\n<p>Last, because open-source projects like PHP are almost always monitored 24/7 by the prying eyes of countless developers scattered around the globe, if a vulnerability does arise, <a href='https://twitter.com/#!/nacin/status/9753986051604480'>it&#8217;s often addressed in hours</a>, and you&#8217;re not left waiting days or <a href='http://www.xconomy.com/boston/2008/03/07/delays-in-software-patch-pushed-security-firm-to-disclose-vmware-flaw/'>months as in some commercial products</a> for a patch from on high.</p>\n\n<p>Is there insecure PHP code out there? No doubt. I&#8217;ve seen it. Does that mean all PHP is insecure? Far from it. Next time someone you know says something to the contrary, subtly mention in passing that you&#8217;re really surprised to hear that the company behind their favorite piece of commercial software recently announced they were sunsetting the project, and see how they handle a taste of their own FUD.</p>\n\n<p>Notes:</p>\n\n<ol>\n<li>In simplified terms, if I have the variable $logged_in in my page to store whether a user is logged in or not, and I don&#8217;t first set it to false before checking, a visitor could go to mysite.com?logged_in=true, and the page would erroneously think I was logged in.</li>\n</ol>"}
View
2 2012/03/05/wordpress-for-government-and-enterprise.json
@@ -1 +1 @@
-{"author":"Benjamin J. Balter","title":"WordPress for Government - A Problem of Perception","excerpt":"Among potential government & enterprise users, WordPress has a perception problem especially when compared to Drupal & other \"serious\" CMSs.","layout":"post","category":["Technology"],"tags":[".govs","contracting","drupal","enterprise","federal","gov 2.0","government","IT","open government","open source","procurement","sharepoint","wordpress"],"post_format":[],"url":"/2012/03/05/wordpress-for-government-and-enterprise/","date":"2012-03-05 00:00:00 -0500","id":"/2012/03/05/wordpress-for-government-and-enterprise","categories":["posts"],"next":"![CFPB Logo][1]{.alignright}\n\nMost often, when we talk about open source in government, it's talked about in one of two ways: either it's [the pitfalls of the federal IT procurement model][2] that can't seem to comprehend a world in which open-source is an option, much less potentially a superior choice ([\"acquisition as a roadblock][3]\"), or it's reiterating the same open-source talking points that haven't seemed to give open source much parity with the wall of organizational inertia proprietary software seems to have gained over the years (\"[open source as an alternative][4]\").\n\nThe [Consumer Financial Protection Bureau][5] (CFPB), however, is in a unique position. As the newest kid on the block, it's one of the few government agencies to have been born in a digital era, and more importantly, without the bureaucratic baggage that all too often stymies innovation. They have a chance to \"do it right\" from the start… and they're doing just that.\n\n**An Agency Born of the Internet Generation**\n\nYesterday, CFPB [announced a bureau-wide preference for open source][6] in its shiny new [Source Code Policy][6], by my [crude research][7], a first for any government agency. There are two watershed shifts here: first, that the agency not only should, but *must* evaluate open source software on equal footing to its proprietary counterparts, a comparison which I believe will [increasingly fall in open source's favor][8], and second, that unless there's an overriding security or similar concern *not to*, public code must be public. There's nothing new here. All it says is that we should use the best software for the job (a no-brainier), and that that software, the public's property, should belong to the public.\n\nSo why is this news? Plenty of government entities have [released][9] [source][10] [code][11], or [encouraged the][12][ use of open][13]-[source software][14]. But no one has come out and [plainly stated that they were an \"open-source agency\"][15], that open source is the new default, and that absent an affirmative step by some nay-sayer, that the public will have access to their code.That's huge. It's flipping the burden, and it's the way things should be from the start.\n\n**But Where's the Beef?**\n\nThat said, there's one thing the source code policy is noticeably silent on: *the ecosystem*. Posting code is great and it's great that they've done the legal legwork so other agencies can follow suit, but that's just the 1.0. The true power of open source comes not from simply publishing code, but from being a member of a broader coding community. Can a CFPB employee contribute a patch to an existing open source project on CFPB time? [^1] What about contributing to a CFPB project once he or she's left? What happens to my rights when I fork a [CFPB project on GitHub][17] and send the agency a pull request? [^2] Can the agency even accept my code legally? [^3] There's a lot of legal ambiguity there, and it's just the kind of legal ambiguity a well-intentioned government attorney can seize upon to gum up the very gears that are driving this incredible move.\n\nWe've seen the same progression in the open data world. The 1.0 is posting 10 XML files at a gigabyte each — an arms-length relationship with developers — arguably open data simply for open data's sake. The secret sauce lies in the relationship, in publishing APIs and web services rather than static data, to build an ecosystem around the agency's work.\n\n**An Innovation Ecosystem**\n\nImagine if government agencies served as the catalyst for a [joint public-private effort to drive tomorrow's innovation][20]. We saw this during the space race, and see it today in terms of government-funded research, but by-and-large, open-source coders have yet to be included. Sure we've seen the \"let's have some open-source developers build this for us for free\" type challenges, but that's about it. There's no ecosystem, no community, no push-pull or give-and-take, and I'm worried that as CFPB's efforts federate across government, this nuance may not federate along with it.\n\nThe agency's already got [it's first public-generated code contribution][21], and can expect at least one more on [their gist of the policy][22] (Ed. note: does CFPB not *own* a Blue Book?!), but the possibility of such a relationship with the citizenry doesn't seem contemplated by the policy, let alone included as integrally as it should.\n\nI'd love to see the next iteration of the policy have a third section, \"III. Membership in the Open-Source Community\" on not just publishing code they've developed in house — don't get me wrong, that's huge — but actually *contributing *meaningful code to the broader ecosystem, and working directly with the open-source community to foster an active partnership that delivers the best citizen services possible. It's a dialog, not a code dump. There needs to be a conversation there.\n\n**Procure, Publish, Participate.**\n\nIt's the realization that when you use open-source software, you're not a customer. You're a member of a community. You're invited to a pot-luck dinner. There's not the same sense of entitlement you have with proprietary software. It's not that they owe you a given feature. There's no financial transaction there. It's that that feature hasn't been developed yet, but can be, the same way every other feature has evolved, through community contributions. There's an entirely different philosophy driving the relationship.\n\nFor open source in government to work, it's got to move beyond procuring community contributed open-source projects on the one hand, and releasing open-source code developed in house distinctly on the other. It's about feeling a sense of belonging. It's about the agency taking on a sense of ownership in the broader project. It's about participation. [^4]\n\nI think CFPB gets it in a big way, and the fact that this is memorialized in writing is a major step in the right direction. They've got the basic mechanics down — procure open–source projects, publish open-source code — but the missing secret sauce that would really drive the policy home? Participate in the open-source community as a matter of policy.\n\n+1 CFPB, +1. *Welcome to the community.*\n\nNotes:\n\n[^1]: In simple terms, the core of open-source projects (as distinct from community-contributed plugins or modules) are primarily fueled by \"patches\" (small code change sets) in response to bugs or feature requests, that get committed to the project's codebase and released in subsequent versions. [24]\n[^2]: If the project is licensed as government work, are my code contributions now government work? Are the government employee lines of code under a broader license, while mine are under a more restrictive license like GPL or apache? [25]\n[^3]: Is this considered a donation for Federal ethics purposes thus requiring disclosure? [26]\n[^4]: This can manifest itself in lots of different ways, but most tangibly: going to local meetups and conferences (or hosting them); contributing to the project's core by introducing new features, documentation, or posting to support forums; abstracting business logic from the start to be more broadly applicable to other developers; outreach and evangelism; and fostering relationships with key stakeholders within the community [27]\n\n [1]: http://www.treasury.gov/press-center/news/PublishingImages/CFPB.jpg \"CFPB Logo\"\n [2]: http://ben.balter.com/2011/11/29/towards-a-more-agile-government/\n [3]: http://radar.oreilly.com/2011/09/open-source-government-it-goscon.html\n [4]: http://benbalter.github.com/open-source-alternatives/\n [5]: http://cfpb.gov\n [6]: http://www.consumerfinance.gov/developers/sourcecodepolicy/\n [7]: http://www.google.com/search?sugexp=chrome,mod=4&sourceid=chrome&ie=UTF-8&q=source+code+policy+site%3A.gov\n [8]: http://www.amazon.com/The-Wealth-Networks-Production-ebook/dp/B0015GWX0S\n [9]: http://www.fcc.gov/blog/contributing-code-back-fcc-govs-open-source-feedback-loop\n [10]: http://www.whitehouse.gov/blog/2011/02/11/whitehousegov-releases-second-set-open-source-code\n [11]: http://open.nasa.gov\n [12]: https://update.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit\n [13]: http://www.finance.gov.au/e-government/infrastructure/docs/AGuidetoOpenSourceSoftware.pdf\n [14]: http://www.tekno.dk/pdf/projekter/p03_opensource_paper_english.pdf\n [15]: https://twitter.com/#!/victorzapanta/status/189390759181557760\n [16]: #note-2020-1 \"In simple terms, the core of open-source projects (as distinct from community-contributed plugins or modules) are primarily fueled by \"patches\" (small code change sets) in response to bugs or feature requests, that get committed to the project's codebase and released in subsequent versions.\"\n [17]: http://github.com/cfpb\n [18]: #note-2020-2 \"If the project is licensed as government work, are my code contributions now government work? Are the government employee lines of code under a broader license, while mine are under a more restrictive license like GPL or apache?\"\n [19]: #note-2020-3 \"Is this considered a donation for Federal ethics purposes thus requiring disclosure?\"\n [20]: http://ben.balter.com/2012/03/05/wordpress-for-government-and-enterprise/#p[NssBlW]\n [21]: https://github.com/cfpb/transit_subsidy/pull/1\n [22]: https://gist.github.com/2343578\n [23]: #note-2020-4 \"This can manifest itself in lots of different ways, but most tangibly: going to local meetups and conferences (or hosting them); contributing to the project's core by introducing new features, documentation, or posting to support forums; abstracting business logic from the start to be more broadly applicable to other developers; outreach and evangelism; and fostering relationships with key stakeholders within the community\"","previous":"<p>PHP (and the open-source software it powers) often gets a bad rap in many government and enterprise circles, the brunt of such anecdotal cries as &#8220;it&#8217;s inherently insecure&#8221; or &#8220;X proprietary product is much safer.&#8221; The truth is, much of this unfortunate stereotype is the result of carefully crafted <a href='http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt'>fear, uncertainty, and doubt (FUD)</a>. An established disinformation tactic historically used by big names in software for decades, one of the most notorious instances of FUD being the leaked Microsoft &#8221;<a href='https://en.wikipedia.org/wiki/Halloween_documents'>Halloween Documents</a>&#8221; that outlined the software firm&#8217;s strategy to paint open-source, for example, as more costly or under-supported.</p>\n\n<p>So is PHP secure? In a word: <strong>yes</strong>. In my mind, PHP&#8217;s ill-deserved reputation can be traced to three key causes (beyond mere proprietary propaganda):</p>\n\n<ol>\n<li><strong>It was</strong> - More than a decade ago, there was a legitimate argument to be made for PHP being insecure. It used to be that PHP shipped with a poorly thought out setting toggled on by default (that any coder worth their weight in Mountain Dew would toggle off) called <code>register_globals</code>. The setting allowed poorly written code to be short-circuited by passing certain parameters in the URL. The default was flipped to off in 2000, and removed completely in 2009. End. Of. Story.</li>\n\n<li><strong>It&#8217;s ubiquitous</strong> - Combine the traffic of Facebook, Wikipedia, and the White House, and you&#8217;ll have a good chunk of the Web&#8217;s traffic, not to mention probably a good chunk of the web&#8217;s attacks as a result. Saying that makes PHP insecure would logically render Microsoft Windows, the target of most viruses, equally insecure and unusable. It&#8217;s just a matter of numbers.</li>\n\n<li><strong>It&#8217;s Forgiving</strong> – PHP is a very forgiving programming language, meaning it has a very gentle learning curve and is the first web language of choice for many budding developers. Naturally, inexperienced coders learning to code are going to write inexperienced and thus insecure code. Does that mean it&#8217;s insecure? No. Bad code is bad code in any language. Again, it&#8217;s a numbers game.</li>\n</ol>\n\n<p>It&#8217;s next to impossible to say a given language is &#8220;insecure.&#8221; That&#8217;d be like saying English, as a language, is less trustworthy. It just doesn&#8217;t make sense. In fact, most research supports the idea that the opposite is the case, that <a href='https://www.infoworld.com/d/open-source-software/report-open-source-tops-proprietary-code-in-quality-187169'>open-source produces better quality code than its closed-source counterparts</a>. Think about it <a href='http://www.commlawblog.com/2010/01/articles/unlicensed-operations-and-emer/fcc-changes-stance-on-opensource-security/'>this way</a>:</p>\n\n<blockquote>\n<p>Someone – let&#8217;s call him Bob – wants to secure a room. But in Bob&#8217;s universe, there are no locks. So Bob invents one, and installs it. And realizes he has a huge advantage over would-be intruders. Only Bob knows how the lock works. So no one else knows how to pick it. Bob sets about keeping his lock design a secret.</p>\n\n<p>Alice also needs to secure a room, and she also invents a lock. Unlike Bob, though, Alice publishes her design – not the set-up for a particular key, of course, but the details of the overall mechanism.</p>\n\n<p>Bob thinks Alice is nuts. Why tell people how your lock works? They&#8217;ll just pick it more easily.</p>\n\n<p>Fine, says Alice, good luck keeping your design a secret. It&#8217;s going to get out, no matter what you do. And frankly, Bob, your lock probably isn&#8217;t all that great. Okay, neither is mine. Not yet. But now that it&#8217;s published, people will suggest improvements. Students will do Ph.D. dissertations on making it better. Companies will compete to develop stronger versions. And long after your design has leaked, and instructions for picking it are all over the Internet, my vastly improved lock will be far more secure. Even though everybody will know how it works.</p>\n</blockquote>\n\n<p>Put another way, unlike many of its commercial counterparts for which obfuscation is a security staple, open source relies on inherently sound security practices to ensure that whatever you want to remain private, remains private.</p>\n\n<p>Last, because open-source projects like PHP are almost always monitored 24/7 by the prying eyes of countless developers scattered around the globe, if a vulnerability does arise, <a href='https://twitter.com/#!/nacin/status/9753986051604480'>it&#8217;s often addressed in hours</a>, and you&#8217;re not left waiting days or <a href='http://www.xconomy.com/boston/2008/03/07/delays-in-software-patch-pushed-security-firm-to-disclose-vmware-flaw/'>months as in some commercial products</a> for a patch from on high.</p>\n\n<p>Is there insecure PHP code out there? No doubt. I&#8217;ve seen it. Does that mean all PHP is insecure? Far from it. Next time someone you know says something to the contrary, subtly mention in passing that you&#8217;re really surprised to hear that the company behind their favorite piece of commercial software recently announced they were sunsetting the project, and see how they handle a taste of their own FUD.</p>\n\n<p>Notes:</p>\n\n<ol>\n<li>In simplified terms, if I have the variable $logged_in in my page to store whether a user is logged in or not, and I don&#8217;t first set it to false before checking, a visitor could go to mysite.com?logged_in=true, and the page would erroneously think I was logged in.</li>\n</ol>","content":"<p><a href='http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png'><img alt='WordPress for Government' class='alignleft' src='http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter-150x150.png' /></a></p>\n\n<p>Over the past several years WordPress&#8217;s market share has enjoyed explosive growth across virtually every industry. Today, it powers <a href='http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/'>nearly a quarter of new sites</a>, and is the CMS of choice for<a href='http://trends.builtwith.com/cms'>more than two thirds of the top-million sites</a> on the web making it the world&#8217;s most popular publishing platform by a long shot. Yet one group of seemingly ideal users has been slow to take the former blogging platform seriously: .Govs.</p>\n\n<p>Drupal powers twice as many federal .Govs <a href='http://dotgov.benbalter.com'>as every other CMS combined</a>. That&#8217;s more than six Drupal sites for every one WordPress .Gov alone, not to mention the Joomlas, MovableTypes, and SharePoints of the world. The build-it-yourself software powers the White House, the House of Representatives, half a dozen agencies, and countless data-driven microsites like Recovery.gov and the IT Spending Dashboard, and its public sector use is <a href='http://groups.drupal.org/node/19885'>equally if not more impressive abroad</a>.</p>\n\n<h2 id='a_problem_of_perception'>A Problem of Perception</h2>\n\n<h3 id='typical_enterprise_misconceptions'>Typical Enterprise Misconceptions</h3>\n\n<ul>\n<li>WordPress is a blogging platform</li>\n\n<li>WordPress doesn&#8217;t scale well</li>\n\n<li>Most plugins are written by hobbyists, not professionals</li>\n\n<li>WordPress is less secure</li>\n\n<li>WordPress can&#8217;t handle complex data types or user roles</li>\n\n<li>There&#8217;s no enterprise support</li>\n\n<li>There aren&#8217;t many WordPress developers</li>\n\n<li>No &#8220;serious&#8221; people use WordPress</li>\n\n<li>The WordPress codebase is immature</li>\n</ul>\n\n<p>WordPress&#8217;s disproportionately low government adoption is arguably the result of a handful of factors. For one, custom post types, the feature that formally graduated WordPress from a mere blogging platform into a full-fledged content management system, has only been around since June of last year. Yet, even among new sites, <sup id='fnref:2'><a href='#fn:2' rel='footnote'>2</a></sup> the ratio remains somewhat stagnant, if not shrinking, leaving one to believe that the technology has lapped its own already stellar perception.</p>\n\n<p>When you stack the two side by side (or against any other CMS for that matter), WordPress is objectively the prudent choice. On paper, you&#8217;d be hard-pressed to make the case for anything else. But, it&#8217;s not a technical problem. It&#8217;s a human one. It seems that WordPress&#8217;s greatest asset – ease of use that has resulted in widespread adoption by a largely non-technical user base – is threatening to become its greatest liability.</p>\n\n<p>Among those empowered to make purchasing decisions, there seems to be a sense that WordPress is what you use on the weekends to post pictures of your lunch while Drupal is what you use for &#8220;serious&#8221; business, and with good reason. For better or for worse, Drupal has positioned itself as not just a CMS, but rather <em>the</em> enterprise solution — an inseparable fifth layer of the increasingly ubiquitous enterprise LAMPD stack.</p>\n<table class='table'>\n <thead>\n <tr>\n <th />\n <th>Drupal</th>\n <th>WordPress</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>API Hooks</td>\n <td><a href='http://api.drupal.org/api/drupal/includes--module.inc/group/hooks/8'>267</a></td>\n <td><a href='http://adambrown.info/p/wp_hooks/version/3.2'>1,506</a>(5x)</td>\n </tr>\n <tr>\n <td>Active Sites</td>\n <td><a href='http://drupal.org/project/usage'>533,136</a></td>\n <td><a href='http://en.wordpress.com/stats/'>65,052,049</a>(125x)</td> \n </tr>\n <tr>\n <td>Plugins / Modules</td>\n <td><a href='http://drupal.org/project/modules'>8,536</a></td>\n <td><a href='http://wordpress.org/extend/plugins/'>16,076</a>(2x)</td> \n </tr>\n <tr>\n <td>Themes</td>\n <td><a href='http://drupal.org/project/themes'>893</a></td>\n <td><a href='http://wordpress.org/extend/themes/'>1,426</a>(1.5x)</td> \n </tr>\n <tr>\n <td>Community<sup id='fnref:1'><a href='#fn:1' rel='footnote'>1</a></sup></td>\n <td>1.5 Million</td>\n <td>20 Million (13x)</td> \n </tr>\n </tbody>\n</table>\n<h2 id='beyond_cowboy_coders'><strong>Beyond Cowboy Coders</strong></h2>\n\n<p>Not surprisingly, the two communities are a reflection of their underlying software&#8217;s position in the broader market. CodePoet.com, for example, a directory of WordPress consultants curated by Automattic, lists <a href='http://codepoet.com/browse/regions/north-america/platforms/wordpress/project-size/250000-250000/'>a mere thirteen firms in North America that seek jobs over $250,000</a>(often a small price tag for government or corporate sites), while its Drupal counterpart lists roughly 80 firms that specifically target <a href='http://drupal.org/marketplace-preview/all/Government'>government</a>, <a href='http://drupal.org/marketplace-preview/all/Corporate'>enterprise</a>, and <a href='http://drupal.org/marketplace-preview/all/Non-Governmental-Organizations'>NGO clients</a> daily.</p>\n\n<p>I am not suggesting that freelance developers should bring an end to what makes WordPress WordPress and change out of their shorts and sandals this instant or that they become intimately familiar with the nuances of federal procurement law, nor am I suggesting that small shops seek to bite off more than they can realistically chew anytime soon. I am suggestion, however, that there are small, tangible steps that the community can take to make headway into the government and enterprise space and gradually entrench WordPress as a viable alternative to otherwise subpar software harming innocent public servants.</p>\n\n<h2 id='1_outdated_language'>1. <code>_Deprecate( ‘</code>Outdated Language<code>&#39; )</code></h2>\n\n<p>The results of the recent WordPress survey suggest that the majority of sites use WordPress <em>as a CMS</em>. That&#8217;s like saying the majority of drivers use their Cadillac <em>as an automobile</em>. WordPress <em>is</em>a CMS. Yet, no one seems to be saying that. WordPress.org calls the software a &#8220;blog tool&#8221;, the WordPress Features codex page <a href='http://codex.wordpress.org/WordPress_Features'>describes the site that the software creates as a &#8220;weblog&#8221; no less than 28 times</a>, <sup id='fnref:3'><a href='#fn:3' rel='footnote'>3</a></sup> and the first search result for &#8220;WordPress CMS,&#8221; <a href='http://codex.wordpress.org/User:Lastnode/Wordpress_CMS'>describes &#8220;what aspects of the WordPress… need to be changed in order to turn WordPress into a CMS.&#8221;</a></p>\n\n<p>Especially in the buttoned-up context of corporate and government installs, &#8220;blog&#8221; can be a dirty word. Yet, to get the title of any site, the command we all still run is <code>get_bloginfo()</code>. Inside <code>&lt;?php</code> tags and out, the technology we have created has far outpaced the metaphor we use to describe it.</p>\n\n<h2 id='2_make_new_friends'>2. Make New Friends</h2>\n\n<p>In a typical procurement, be it a federal agency, mid-sized corporation, or local municipality, the CMS does not come first. In fact, many stakeholders wouldn&#8217;t know the site&#8217;s underlying technology if it weren&#8217;t for the logo on the login screen. A firm with a strong reputation in the industry is sought, and based largely on their recommendation, the technology – be it proprietary, open-source, or purpose-built – is chosen by evaluating each across a handful of metrics.</p>\n\n<p>We all know the decision points. Performance and scaling, handing of complex data types, managing user roles, etc. All challenges that WordPress doesn&#8217;t even flinch at, yet the perception among the uninitiated is still widely that between open-source alternatives, WordPress is the least-accomplished in the bunch. Whether its reaching out and inviting nearby firms to your next meetup, giving a WordPress talk at a non-WordPress conference, or just being an exemplar in your local development community, we need to show the tie-wearing few in the conference room that you don&#8217;t have to be boring, overly complex, or unnecessarily expensive to get the job done right.</p>\n\n<h2 id='3_but_wait_theres_more'>3. But Wait, There&#8217;s More…</h2>\n\n<p>WordPress consultants are great at selling themselves, but rarely does anyone ever sell WordPress. Ask my why an agency or municipality should adopt Sharepoint, and I have page after page of <a href='http://sharepoint.microsoft.com/en-us/product/benefits/Pages/default.aspx'>focus-group tested material tailored to my industry</a>. Ask my why anyone should use WordPress, and <a href='http://ben.balter.com/2011/09/01/why-wordpress/'>I&#8217;m pretty much left to fend for myself</a>. Somewhat counterintuitive in a world of free software, migrating to WordPress comes with significant costs that firms need to take into account, both real and imagined, costs that the technology&#8217;s ambassadors must actively overcome. Beyond actual development and training costs, there are perceived risks of an immature codebase, insecure plugins, and a general inability to do the job.</p>\n\n<p>One of WordPress&#8217;s greatest strengths is its tight-nit cadre of dedicated enthusiasts. Yet it can often be hard for those on the inside to see things as those outside do. Think about those who have not yet tasted just how sweet the punch is. The name WordPress most often makes its way into a CIO&#8217;s inbox, for example, only when there&#8217;s been a security breach, not when there&#8217;s been a feature release. Where other platforms have stagnated, WordPress&#8217;s &#8220;can-do&#8221; attitude has forged onward introducing even more one-of-a-kind features, yet all too often they go unnoticed or underappreciated where it matters. Both collectively and individually, for WordPress to gain the respect of &#8220;the man,&#8221; we must seek to broadcast its excellence. Now is not the time for humility.</p>\n\n<h2 id='4_build_serious_features_for_serious_users'>4. Build Serious Features for Serious Users</h2>\n\n<p><a href='http://wordpress.org/about/philosophy/'>WordPress&#8217;s core philosophy</a> has always been to &#8220;code for the majority&#8221; and with the amount of customization required out-of-the-box to do just about anything, arguably Drupal&#8217;s philosophy has been &#8220;code for yourself.&#8221; While Automattic does a great job with <a href='http://en.wordpress.com/notable-users/'>the CNN&#8217;s and TechCrunch&#8217;s of the world</a>, there&#8217;s a huge opportunity here for developers to fill a void by giving rise to a new generation of core features, plugins, and themes with &#8220;serious&#8221; implementations in mind. Rather than another social media plugin, what&#8217;s the next big thing? Large-scale data? Geolocation? APIs and interoperability?</p>\n\n<p>NASA&#8217;s space-race supercharching of the aerospace industry brought consumers everything from Super Soakers to sun glasses, and that same reach for the stars philosophy can put yet-unimagined power in the browsers of everyday WordPress users. Distraction free writing and an <em>even</em> more intuitive administrative interface are killer features to be sure, but they are the icing on an already beautiful cake and do little to gain parity with more traditional CMSs let alone take on the CMS space in the &#8220;WordPress Way.&#8221; A good example of this may be <a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/' title='WP Document Revisions — Document Management &amp; Version Control for WordPress'>WP Document Revisions</a>, a document management and workflow management tool built almost solely using core functionality. By leveraging WordPress&#8217;s core competencies, the venerable CMS can not only gain a seat at the adult&#8217;s table, but exponentially improve the experience for its primary user base as well</p>\n\n<h2 id='frenemies'>Frenemies</h2>\n\n<p>It&#8217;s important to note, though, it&#8217;s not a zero-sum game. Drupal doesn&#8217;t compete with WordPress like McDonalds does with Burger King or Coke with Pepsi. Government support for open-source software is a good thing, regardless of what form it takes. True, an infusion of publicly funded effort into the WordPress code base would invariably advance the software just as government funded research advances hard sciences, but, in the end, everybody wins here.</p>\n\n<p>WordPress and government just make sense. As public institutions both large and small face growing budget concerns and begin to shift many of their services to the web, a platform like WordPress built with engagement, collaboration, and dialogue is the ideal fit, not to mention, incredibly persuasive when compared to expensive, propriety, or purpose-built alternatives.</p>\n\n<h2 id='we_all_have_a_stake'><strong>We All Have a Stake</strong></h2>\n\n<p>Whether WordPress is your primary source of income, a hobby, or just the thing that powers your personal site, we all have a stake in WordPress&#8217;s future. It is paramount that the community stays true to its scrappy roots. After all, there&#8217;s no sense selling the couch to buy a new TV. Yet, in order to be taken seriously by the public sector as a platform for more than simply sharing photos of kitten and chronicling teenage angst, we must first take ourselves seriously, and take baby steps to bring government adoption in line with the WordPress community&#8217;s otherwise unparalleled and well-deserved success.</p>\n<div style='border: 1px solid black; background: #eee; padding: 15px 15px 15px 15px; margin-bottom: 30px; min-height: 150px; '><a href='http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg'><img alt='' class='alignleft size-thumbnail wp-image-2330' height='150' src='http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387-150x150.jpg' title='q-cover-issue01-300x387' width='150' /></a>\n<p style='margin-top: 20px;'><em>This article originally printed in the <a href='http://wpcandy.com/announces/quarterly-issue-one-ships'>March, 2012 issue of The WPCandy Quarterly</a>. </em></p>\n<p><strong><a href='http://wpcandy.com/quarterly'>Continue Reading →</a></strong><br /><span style='font-size:12px'>(subscription required)</span></p>\n</div><div class='footnotes'><hr /><ol><li id='fn:1'>\n<p>Jen Lampton, &#8220;Why WordPress is Better than Drupal, Developers Take Note&#8221; (July, 2010) <span>33</span></p>\n<a href='#fnref:1' rev='footnote'>&#8617;</a></li><li id='fn:2'>\n<p><strong>Update (3/7):</strong> As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a <em>decision lag</em>. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from <em>blog+</em> to <em>full-fledged CMS</em> — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, <a href='http://ben.balter.com/2011/11/29/towards-a-more-agile-government/'>procurement regulations dictate that such lag times are all but the norm</a>. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today. <span>32</span></p>\n<a href='#fnref:2' rev='footnote'>&#8617;</a></li><li id='fn:3'>\n<p><strong>Update (3/8):</strong> The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I&#8217;ve gone through and reworked much of the blog-specific language. <a href='http://codex.wordpress.org/index.php?title=WordPress_Features&amp;oldid=113531'>View the original</a>. <span>35</span></p>\n<a href='#fnref:3' rev='footnote'>&#8617;</a></li></ol></div>"}
+{"author":"Benjamin J. Balter","title":"WordPress for Government - A Problem of Perception","excerpt":"Among potential government & enterprise users, WordPress has a perception problem especially when compared to Drupal & other \"serious\" CMSs.","layout":"post","category":["Technology"],"tags":[".govs","contracting","drupal","enterprise","federal","gov 2.0","government","IT","open government","open source","procurement","sharepoint","wordpress"],"post_format":[],"url":"/2012/03/05/wordpress-for-government-and-enterprise/","date":"2012-03-05 00:00:00 -0500","id":"/2012/03/05/wordpress-for-government-and-enterprise","categories":["posts"],"next":"![CFPB Logo][1]{.alignright}\n\nMost often, when we talk about open source in government, it's talked about in one of two ways: either it's [the pitfalls of the federal IT procurement model][2] that can't seem to comprehend a world in which open-source is an option, much less potentially a superior choice ([\"acquisition as a roadblock][3]\"), or it's reiterating the same open-source talking points that haven't seemed to give open source much parity with the wall of organizational inertia proprietary software seems to have gained over the years (\"[open source as an alternative][4]\").\n\nThe [Consumer Financial Protection Bureau][5] (CFPB), however, is in a unique position. As the newest kid on the block, it's one of the few government agencies to have been born in a digital era, and more importantly, without the bureaucratic baggage that all too often stymies innovation. They have a chance to \"do it right\" from the start… and they're doing just that.\n\n**An Agency Born of the Internet Generation**\n\nYesterday, CFPB [announced a bureau-wide preference for open source][6] in its shiny new [Source Code Policy][6], by my [crude research][7], a first for any government agency. There are two watershed shifts here: first, that the agency not only should, but *must* evaluate open source software on equal footing to its proprietary counterparts, a comparison which I believe will [increasingly fall in open source's favor][8], and second, that unless there's an overriding security or similar concern *not to*, public code must be public. There's nothing new here. All it says is that we should use the best software for the job (a no-brainier), and that that software, the public's property, should belong to the public.\n\nSo why is this news? Plenty of government entities have [released][9] [source][10] [code][11], or [encouraged the][12][ use of open][13]-[source software][14]. But no one has come out and [plainly stated that they were an \"open-source agency\"][15], that open source is the new default, and that absent an affirmative step by some nay-sayer, that the public will have access to their code.That's huge. It's flipping the burden, and it's the way things should be from the start.\n\n**But Where's the Beef?**\n\nThat said, there's one thing the source code policy is noticeably silent on: *the ecosystem*. Posting code is great and it's great that they've done the legal legwork so other agencies can follow suit, but that's just the 1.0. The true power of open source comes not from simply publishing code, but from being a member of a broader coding community. Can a CFPB employee contribute a patch to an existing open source project on CFPB time? [^1] What about contributing to a CFPB project once he or she's left? What happens to my rights when I fork a [CFPB project on GitHub][17] and send the agency a pull request? [^2] Can the agency even accept my code legally? [^3] There's a lot of legal ambiguity there, and it's just the kind of legal ambiguity a well-intentioned government attorney can seize upon to gum up the very gears that are driving this incredible move.\n\nWe've seen the same progression in the open data world. The 1.0 is posting 10 XML files at a gigabyte each — an arms-length relationship with developers — arguably open data simply for open data's sake. The secret sauce lies in the relationship, in publishing APIs and web services rather than static data, to build an ecosystem around the agency's work.\n\n**An Innovation Ecosystem**\n\nImagine if government agencies served as the catalyst for a [joint public-private effort to drive tomorrow's innovation][20]. We saw this during the space race, and see it today in terms of government-funded research, but by-and-large, open-source coders have yet to be included. Sure we've seen the \"let's have some open-source developers build this for us for free\" type challenges, but that's about it. There's no ecosystem, no community, no push-pull or give-and-take, and I'm worried that as CFPB's efforts federate across government, this nuance may not federate along with it.\n\nThe agency's already got [it's first public-generated code contribution][21], and can expect at least one more on [their gist of the policy][22] (Ed. note: does CFPB not *own* a Blue Book?!), but the possibility of such a relationship with the citizenry doesn't seem contemplated by the policy, let alone included as integrally as it should.\n\nI'd love to see the next iteration of the policy have a third section, \"III. Membership in the Open-Source Community\" on not just publishing code they've developed in house — don't get me wrong, that's huge — but actually *contributing *meaningful code to the broader ecosystem, and working directly with the open-source community to foster an active partnership that delivers the best citizen services possible. It's a dialog, not a code dump. There needs to be a conversation there.\n\n**Procure, Publish, Participate.**\n\nIt's the realization that when you use open-source software, you're not a customer. You're a member of a community. You're invited to a pot-luck dinner. There's not the same sense of entitlement you have with proprietary software. It's not that they owe you a given feature. There's no financial transaction there. It's that that feature hasn't been developed yet, but can be, the same way every other feature has evolved, through community contributions. There's an entirely different philosophy driving the relationship.\n\nFor open source in government to work, it's got to move beyond procuring community contributed open-source projects on the one hand, and releasing open-source code developed in house distinctly on the other. It's about feeling a sense of belonging. It's about the agency taking on a sense of ownership in the broader project. It's about participation. [^4]\n\nI think CFPB gets it in a big way, and the fact that this is memorialized in writing is a major step in the right direction. They've got the basic mechanics down — procure open–source projects, publish open-source code — but the missing secret sauce that would really drive the policy home? Participate in the open-source community as a matter of policy.\n\n+1 CFPB, +1. *Welcome to the community.*\n\n[^1]: In simple terms, the core of open-source projects (as distinct from community-contributed plugins or modules) are primarily fueled by \"patches\" (small code change sets) in response to bugs or feature requests, that get committed to the project's codebase and released in subsequent versions. [24]\n[^2]: If the project is licensed as government work, are my code contributions now government work? Are the government employee lines of code under a broader license, while mine are under a more restrictive license like GPL or apache? [25]\n[^3]: Is this considered a donation for Federal ethics purposes thus requiring disclosure? [26]\n[^4]: This can manifest itself in lots of different ways, but most tangibly: going to local meetups and conferences (or hosting them); contributing to the project's core by introducing new features, documentation, or posting to support forums; abstracting business logic from the start to be more broadly applicable to other developers; outreach and evangelism; and fostering relationships with key stakeholders within the community [27]\n\n [1]: http://www.treasury.gov/press-center/news/PublishingImages/CFPB.jpg \"CFPB Logo\"\n [2]: http://ben.balter.com/2011/11/29/towards-a-more-agile-government/\n [3]: http://radar.oreilly.com/2011/09/open-source-government-it-goscon.html\n [4]: http://benbalter.github.com/open-source-alternatives/\n [5]: http://cfpb.gov\n [6]: http://www.consumerfinance.gov/developers/sourcecodepolicy/\n [7]: http://www.google.com/search?sugexp=chrome,mod=4&sourceid=chrome&ie=UTF-8&q=source+code+policy+site%3A.gov\n [8]: http://www.amazon.com/The-Wealth-Networks-Production-ebook/dp/B0015GWX0S\n [9]: http://www.fcc.gov/blog/contributing-code-back-fcc-govs-open-source-feedback-loop\n [10]: http://www.whitehouse.gov/blog/2011/02/11/whitehousegov-releases-second-set-open-source-code\n [11]: http://open.nasa.gov\n [12]: https://update.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit\n [13]: http://www.finance.gov.au/e-government/infrastructure/docs/AGuidetoOpenSourceSoftware.pdf\n [14]: http://www.tekno.dk/pdf/projekter/p03_opensource_paper_english.pdf\n [15]: https://twitter.com/#!/victorzapanta/status/189390759181557760\n [16]: #note-2020-1 \"In simple terms, the core of open-source projects (as distinct from community-contributed plugins or modules) are primarily fueled by \"patches\" (small code change sets) in response to bugs or feature requests, that get committed to the project's codebase and released in subsequent versions.\"\n [17]: http://github.com/cfpb\n [18]: #note-2020-2 \"If the project is licensed as government work, are my code contributions now government work? Are the government employee lines of code under a broader license, while mine are under a more restrictive license like GPL or apache?\"\n [19]: #note-2020-3 \"Is this considered a donation for Federal ethics purposes thus requiring disclosure?\"\n [20]: http://ben.balter.com/2012/03/05/wordpress-for-government-and-enterprise/#p[NssBlW]\n [21]: https://github.com/cfpb/transit_subsidy/pull/1\n [22]: https://gist.github.com/2343578\n [23]: #note-2020-4 \"This can manifest itself in lots of different ways, but most tangibly: going to local meetups and conferences (or hosting them); contributing to the project's core by introducing new features, documentation, or posting to support forums; abstracting business logic from the start to be more broadly applicable to other developers; outreach and evangelism; and fostering relationships with key stakeholders within the community\"","previous":"<p>PHP (and the open-source software it powers) often gets a bad rap in many government and enterprise circles, the brunt of such anecdotal cries as &#8220;it&#8217;s inherently insecure&#8221; or &#8220;X proprietary product is much safer.&#8221; The truth is, much of this unfortunate stereotype is the result of carefully crafted <a href='http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt'>fear, uncertainty, and doubt (FUD)</a>. An established disinformation tactic historically used by big names in software for decades, one of the most notorious instances of FUD being the leaked Microsoft &#8221;<a href='https://en.wikipedia.org/wiki/Halloween_documents'>Halloween Documents</a>&#8221; that outlined the software firm&#8217;s strategy to paint open-source, for example, as more costly or under-supported.</p>\n\n<p>So is PHP secure? In a word: <strong>yes</strong>. In my mind, PHP&#8217;s ill-deserved reputation can be traced to three key causes (beyond mere proprietary propaganda):</p>\n\n<ol>\n<li><strong>It was</strong> - More than a decade ago, there was a legitimate argument to be made for PHP being insecure. It used to be that PHP shipped with a poorly thought out setting toggled on by default (that any coder worth their weight in Mountain Dew would toggle off) called <code>register_globals</code>. The setting allowed poorly written code to be short-circuited by passing certain parameters in the URL. The default was flipped to off in 2000, and removed completely in 2009. End. Of. Story.</li>\n\n<li><strong>It&#8217;s ubiquitous</strong> - Combine the traffic of Facebook, Wikipedia, and the White House, and you&#8217;ll have a good chunk of the Web&#8217;s traffic, not to mention probably a good chunk of the web&#8217;s attacks as a result. Saying that makes PHP insecure would logically render Microsoft Windows, the target of most viruses, equally insecure and unusable. It&#8217;s just a matter of numbers.</li>\n\n<li><strong>It&#8217;s Forgiving</strong> – PHP is a very forgiving programming language, meaning it has a very gentle learning curve and is the first web language of choice for many budding developers. Naturally, inexperienced coders learning to code are going to write inexperienced and thus insecure code. Does that mean it&#8217;s insecure? No. Bad code is bad code in any language. Again, it&#8217;s a numbers game.</li>\n</ol>\n\n<p>It&#8217;s next to impossible to say a given language is &#8220;insecure.&#8221; That&#8217;d be like saying English, as a language, is less trustworthy. It just doesn&#8217;t make sense. In fact, most research supports the idea that the opposite is the case, that <a href='https://www.infoworld.com/d/open-source-software/report-open-source-tops-proprietary-code-in-quality-187169'>open-source produces better quality code than its closed-source counterparts</a>. Think about it <a href='http://www.commlawblog.com/2010/01/articles/unlicensed-operations-and-emer/fcc-changes-stance-on-opensource-security/'>this way</a>:</p>\n\n<blockquote>\n<p>Someone – let&#8217;s call him Bob – wants to secure a room. But in Bob&#8217;s universe, there are no locks. So Bob invents one, and installs it. And realizes he has a huge advantage over would-be intruders. Only Bob knows how the lock works. So no one else knows how to pick it. Bob sets about keeping his lock design a secret.</p>\n\n<p>Alice also needs to secure a room, and she also invents a lock. Unlike Bob, though, Alice publishes her design – not the set-up for a particular key, of course, but the details of the overall mechanism.</p>\n\n<p>Bob thinks Alice is nuts. Why tell people how your lock works? They&#8217;ll just pick it more easily.</p>\n\n<p>Fine, says Alice, good luck keeping your design a secret. It&#8217;s going to get out, no matter what you do. And frankly, Bob, your lock probably isn&#8217;t all that great. Okay, neither is mine. Not yet. But now that it&#8217;s published, people will suggest improvements. Students will do Ph.D. dissertations on making it better. Companies will compete to develop stronger versions. And long after your design has leaked, and instructions for picking it are all over the Internet, my vastly improved lock will be far more secure. Even though everybody will know how it works.</p>\n</blockquote>\n\n<p>Put another way, unlike many of its commercial counterparts for which obfuscation is a security staple, open source relies on inherently sound security practices to ensure that whatever you want to remain private, remains private.</p>\n\n<p>Last, because open-source projects like PHP are almost always monitored 24/7 by the prying eyes of countless developers scattered around the globe, if a vulnerability does arise, <a href='https://twitter.com/#!/nacin/status/9753986051604480'>it&#8217;s often addressed in hours</a>, and you&#8217;re not left waiting days or <a href='http://www.xconomy.com/boston/2008/03/07/delays-in-software-patch-pushed-security-firm-to-disclose-vmware-flaw/'>months as in some commercial products</a> for a patch from on high.</p>\n\n<p>Is there insecure PHP code out there? No doubt. I&#8217;ve seen it. Does that mean all PHP is insecure? Far from it. Next time someone you know says something to the contrary, subtly mention in passing that you&#8217;re really surprised to hear that the company behind their favorite piece of commercial software recently announced they were sunsetting the project, and see how they handle a taste of their own FUD.</p>\n\n<p>Notes:</p>\n\n<ol>\n<li>In simplified terms, if I have the variable $logged_in in my page to store whether a user is logged in or not, and I don&#8217;t first set it to false before checking, a visitor could go to mysite.com?logged_in=true, and the page would erroneously think I was logged in.</li>\n</ol>","content":"<p><a href='http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png'><img alt='WordPress for Government' class='alignleft' src='http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter-150x150.png' /></a></p>\n\n<p>Over the past several years WordPress&#8217;s market share has enjoyed explosive growth across virtually every industry. Today, it powers <a href='http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/'>nearly a quarter of new sites</a>, and is the CMS of choice for<a href='http://trends.builtwith.com/cms'>more than two thirds of the top-million sites</a> on the web making it the world&#8217;s most popular publishing platform by a long shot. Yet one group of seemingly ideal users has been slow to take the former blogging platform seriously: .Govs.</p>\n\n<p>Drupal powers twice as many federal .Govs <a href='http://dotgov.benbalter.com'>as every other CMS combined</a>. That&#8217;s more than six Drupal sites for every one WordPress .Gov alone, not to mention the Joomlas, MovableTypes, and SharePoints of the world. The build-it-yourself software powers the White House, the House of Representatives, half a dozen agencies, and countless data-driven microsites like Recovery.gov and the IT Spending Dashboard, and its public sector use is <a href='http://groups.drupal.org/node/19885'>equally if not more impressive abroad</a>.</p>\n\n<h2 id='a_problem_of_perception'>A Problem of Perception</h2>\n<div class='well' style='float:right; width: 300px; margin-left: 20px; text-align: left;'>\n<h3>Typical Enterprise Misconceptions</h3>\n\n<ul>\n<li>WordPress is a blogging platform</li>\n\n<li>WordPress doesn&#8217;t scale well</li>\n\n<li>Most plugins are written by hobbyists, not professionals</li>\n\n<li>WordPress is less secure</li>\n\n<li>WordPress can&#8217;t handle complex data types or user roles</li>\n\n<li>There&#8217;s no enterprise support</li>\n\n<li>There aren&#8217;t many WordPress developers</li>\n\n<li>No &#8220;serious&#8221; people use WordPress</li>\n\n<li>The WordPress codebase is immature</li>\n</ul>\n</div>\n<p>WordPress&#8217;s disproportionately low government adoption is arguably the result of a handful of factors. For one, custom post types, the feature that formally graduated WordPress from a mere blogging platform into a full-fledged content management system, has only been around since June of last year. Yet, even among new sites, <sup id='fnref:2'><a href='#fn:2' rel='footnote'>2</a></sup> the ratio remains somewhat stagnant, if not shrinking, leaving one to believe that the technology has lapped its own already stellar perception.</p>\n\n<p>When you stack the two side by side (or against any other CMS for that matter), WordPress is objectively the prudent choice. On paper, you&#8217;d be hard-pressed to make the case for anything else. But, it&#8217;s not a technical problem. It&#8217;s a human one. It seems that WordPress&#8217;s greatest asset – ease of use that has resulted in widespread adoption by a largely non-technical user base – is threatening to become its greatest liability.</p>\n\n<p>Among those empowered to make purchasing decisions, there seems to be a sense that WordPress is what you use on the weekends to post pictures of your lunch while Drupal is what you use for &#8220;serious&#8221; business, and with good reason. For better or for worse, Drupal has positioned itself as not just a CMS, but rather <em>the</em> enterprise solution — an inseparable fifth layer of the increasingly ubiquitous enterprise LAMPD stack.</p>\n<table class='table'>\n <thead>\n <tr>\n <th />\n <th>Drupal</th>\n <th>WordPress</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>API Hooks</td>\n <td><a href='http://api.drupal.org/api/drupal/includes--module.inc/group/hooks/8'>267</a></td>\n <td><a href='http://adambrown.info/p/wp_hooks/version/3.2'>1,506</a>(5x)</td>\n </tr>\n <tr>\n <td>Active Sites</td>\n <td><a href='http://drupal.org/project/usage'>533,136</a></td>\n <td><a href='http://en.wordpress.com/stats/'>65,052,049</a>(125x)</td> \n </tr>\n <tr>\n <td>Plugins / Modules</td>\n <td><a href='http://drupal.org/project/modules'>8,536</a></td>\n <td><a href='http://wordpress.org/extend/plugins/'>16,076</a>(2x)</td> \n </tr>\n <tr>\n <td>Themes</td>\n <td><a href='http://drupal.org/project/themes'>893</a></td>\n <td><a href='http://wordpress.org/extend/themes/'>1,426</a>(1.5x)</td> \n </tr>\n <tr>\n <td>Community<sup id='fnref:1'><a href='#fn:1' rel='footnote'>1</a></sup></td>\n <td>1.5 Million</td>\n <td>20 Million (13x)</td> \n </tr>\n </tbody>\n</table>\n<h2 id='beyond_cowboy_coders'><strong>Beyond Cowboy Coders</strong></h2>\n\n<p>Not surprisingly, the two communities are a reflection of their underlying software&#8217;s position in the broader market. CodePoet.com, for example, a directory of WordPress consultants curated by Automattic, lists <a href='http://codepoet.com/browse/regions/north-america/platforms/wordpress/project-size/250000-250000/'>a mere thirteen firms in North America that seek jobs over $250,000</a>(often a small price tag for government or corporate sites), while its Drupal counterpart lists roughly 80 firms that specifically target <a href='http://drupal.org/marketplace-preview/all/Government'>government</a>, <a href='http://drupal.org/marketplace-preview/all/Corporate'>enterprise</a>, and <a href='http://drupal.org/marketplace-preview/all/Non-Governmental-Organizations'>NGO clients</a> daily.</p>\n\n<p>I am not suggesting that freelance developers should bring an end to what makes WordPress WordPress and change out of their shorts and sandals this instant or that they become intimately familiar with the nuances of federal procurement law, nor am I suggesting that small shops seek to bite off more than they can realistically chew anytime soon. I am suggestion, however, that there are small, tangible steps that the community can take to make headway into the government and enterprise space and gradually entrench WordPress as a viable alternative to otherwise subpar software harming innocent public servants.</p>\n\n<h2 id='1_outdated_language'>1. <code>_Deprecate( ‘</code>Outdated Language<code>&#39; )</code></h2>\n\n<p>The results of the recent WordPress survey suggest that the majority of sites use WordPress <em>as a CMS</em>. That&#8217;s like saying the majority of drivers use their Cadillac <em>as an automobile</em>. WordPress <em>is</em>a CMS. Yet, no one seems to be saying that. WordPress.org calls the software a &#8220;blog tool&#8221;, the WordPress Features codex page <a href='http://codex.wordpress.org/WordPress_Features'>describes the site that the software creates as a &#8220;weblog&#8221; no less than 28 times</a>, <sup id='fnref:3'><a href='#fn:3' rel='footnote'>3</a></sup> and the first search result for &#8220;WordPress CMS,&#8221; <a href='http://codex.wordpress.org/User:Lastnode/Wordpress_CMS'>describes &#8220;what aspects of the WordPress… need to be changed in order to turn WordPress into a CMS.&#8221;</a></p>\n\n<p>Especially in the buttoned-up context of corporate and government installs, &#8220;blog&#8221; can be a dirty word. Yet, to get the title of any site, the command we all still run is <code>get_bloginfo()</code>. Inside <code>&lt;?php</code> tags and out, the technology we have created has far outpaced the metaphor we use to describe it.</p>\n\n<h2 id='2_make_new_friends'>2. Make New Friends</h2>\n\n<p>In a typical procurement, be it a federal agency, mid-sized corporation, or local municipality, the CMS does not come first. In fact, many stakeholders wouldn&#8217;t know the site&#8217;s underlying technology if it weren&#8217;t for the logo on the login screen. A firm with a strong reputation in the industry is sought, and based largely on their recommendation, the technology – be it proprietary, open-source, or purpose-built – is chosen by evaluating each across a handful of metrics.</p>\n\n<p>We all know the decision points. Performance and scaling, handing of complex data types, managing user roles, etc. All challenges that WordPress doesn&#8217;t even flinch at, yet the perception among the uninitiated is still widely that between open-source alternatives, WordPress is the least-accomplished in the bunch. Whether its reaching out and inviting nearby firms to your next meetup, giving a WordPress talk at a non-WordPress conference, or just being an exemplar in your local development community, we need to show the tie-wearing few in the conference room that you don&#8217;t have to be boring, overly complex, or unnecessarily expensive to get the job done right.</p>\n\n<h2 id='3_but_wait_theres_more'>3. But Wait, There&#8217;s More…</h2>\n\n<p>WordPress consultants are great at selling themselves, but rarely does anyone ever sell WordPress. Ask my why an agency or municipality should adopt Sharepoint, and I have page after page of <a href='http://sharepoint.microsoft.com/en-us/product/benefits/Pages/default.aspx'>focus-group tested material tailored to my industry</a>. Ask my why anyone should use WordPress, and <a href='http://ben.balter.com/2011/09/01/why-wordpress/'>I&#8217;m pretty much left to fend for myself</a>. Somewhat counterintuitive in a world of free software, migrating to WordPress comes with significant costs that firms need to take into account, both real and imagined, costs that the technology&#8217;s ambassadors must actively overcome. Beyond actual development and training costs, there are perceived risks of an immature codebase, insecure plugins, and a general inability to do the job.</p>\n\n<p>One of WordPress&#8217;s greatest strengths is its tight-nit cadre of dedicated enthusiasts. Yet it can often be hard for those on the inside to see things as those outside do. Think about those who have not yet tasted just how sweet the punch is. The name WordPress most often makes its way into a CIO&#8217;s inbox, for example, only when there&#8217;s been a security breach, not when there&#8217;s been a feature release. Where other platforms have stagnated, WordPress&#8217;s &#8220;can-do&#8221; attitude has forged onward introducing even more one-of-a-kind features, yet all too often they go unnoticed or underappreciated where it matters. Both collectively and individually, for WordPress to gain the respect of &#8220;the man,&#8221; we must seek to broadcast its excellence. Now is not the time for humility.</p>\n\n<h2 id='4_build_serious_features_for_serious_users'>4. Build Serious Features for Serious Users</h2>\n\n<p><a href='http://wordpress.org/about/philosophy/'>WordPress&#8217;s core philosophy</a> has always been to &#8220;code for the majority&#8221; and with the amount of customization required out-of-the-box to do just about anything, arguably Drupal&#8217;s philosophy has been &#8220;code for yourself.&#8221; While Automattic does a great job with <a href='http://en.wordpress.com/notable-users/'>the CNN&#8217;s and TechCrunch&#8217;s of the world</a>, there&#8217;s a huge opportunity here for developers to fill a void by giving rise to a new generation of core features, plugins, and themes with &#8220;serious&#8221; implementations in mind. Rather than another social media plugin, what&#8217;s the next big thing? Large-scale data? Geolocation? APIs and interoperability?</p>\n\n<p>NASA&#8217;s space-race supercharching of the aerospace industry brought consumers everything from Super Soakers to sun glasses, and that same reach for the stars philosophy can put yet-unimagined power in the browsers of everyday WordPress users. Distraction free writing and an <em>even</em> more intuitive administrative interface are killer features to be sure, but they are the icing on an already beautiful cake and do little to gain parity with more traditional CMSs let alone take on the CMS space in the &#8220;WordPress Way.&#8221; A good example of this may be <a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/' title='WP Document Revisions — Document Management &amp; Version Control for WordPress'>WP Document Revisions</a>, a document management and workflow management tool built almost solely using core functionality. By leveraging WordPress&#8217;s core competencies, the venerable CMS can not only gain a seat at the adult&#8217;s table, but exponentially improve the experience for its primary user base as well</p>\n\n<h2 id='frenemies'>Frenemies</h2>\n\n<p>It&#8217;s important to note, though, it&#8217;s not a zero-sum game. Drupal doesn&#8217;t compete with WordPress like McDonalds does with Burger King or Coke with Pepsi. Government support for open-source software is a good thing, regardless of what form it takes. True, an infusion of publicly funded effort into the WordPress code base would invariably advance the software just as government funded research advances hard sciences, but, in the end, everybody wins here.</p>\n\n<p>WordPress and government just make sense. As public institutions both large and small face growing budget concerns and begin to shift many of their services to the web, a platform like WordPress built with engagement, collaboration, and dialogue is the ideal fit, not to mention, incredibly persuasive when compared to expensive, propriety, or purpose-built alternatives.</p>\n\n<h2 id='we_all_have_a_stake'><strong>We All Have a Stake</strong></h2>\n\n<p>Whether WordPress is your primary source of income, a hobby, or just the thing that powers your personal site, we all have a stake in WordPress&#8217;s future. It is paramount that the community stays true to its scrappy roots. After all, there&#8217;s no sense selling the couch to buy a new TV. Yet, in order to be taken seriously by the public sector as a platform for more than simply sharing photos of kitten and chronicling teenage angst, we must first take ourselves seriously, and take baby steps to bring government adoption in line with the WordPress community&#8217;s otherwise unparalleled and well-deserved success.</p>\n<div style='border: 1px solid black; background: #eee; padding: 15px 15px 15px 15px; margin-bottom: 30px; min-height: 150px; '><a href='http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg'><img alt='' class='alignleft size-thumbnail wp-image-2330' height='150' src='http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387-150x150.jpg' title='q-cover-issue01-300x387' width='150' /></a>\n<p style='margin-top: 20px;'><em>This article originally printed in the <a href='http://wpcandy.com/announces/quarterly-issue-one-ships'>March, 2012 issue of The WPCandy Quarterly</a>. </em></p>\n<p><strong><a href='http://wpcandy.com/quarterly'>Continue Reading →</a></strong><br /><span style='font-size:12px'>(subscription required)</span></p>\n</div><div class='footnotes'><hr /><ol><li id='fn:1'>\n<p>Jen Lampton, &#8220;Why WordPress is Better than Drupal, Developers Take Note&#8221; (July, 2010)</p>\n<a href='#fnref:1' rev='footnote'>&#8617;</a></li><li id='fn:2'>\n<p><strong>Update (3/7):</strong> As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a <em>decision lag</em>. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from <em>blog+</em> to <em>full-fledged CMS</em> — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, <a href='http://ben.balter.com/2011/11/29/towards-a-more-agile-government/'>procurement regulations dictate that such lag times are all but the norm</a>. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today.</p>\n<a href='#fnref:2' rev='footnote'>&#8617;</a></li><li id='fn:3'>\n<p><strong>Update (3/8):</strong> The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I&#8217;ve gone through and reworked much of the blog-specific language. <a href='http://codex.wordpress.org/index.php?title=WordPress_Features&amp;oldid=113531'>View the original</a>.</p>\n<a href='#fnref:3' rev='footnote'>&#8617;</a></li></ol></div>"}
View
2 2012/04/10/whats-missing-from-cfpbs-awesome-new-source-code-policy.json
@@ -1 +1 @@
-{"author":"Benjamin J. Balter","title":"What's Missing from CFPB's Awesome New Source Code Policy","excerpt":null,"layout":"post","category":["Law","Technology"],"tags":[".govs","cfpb","code","contracting","copyright","enterprise","fcc","federal","github","gov 2.0","government","IT","open government","open source","procurement","source code policy"],"post_format":[],"url":"/2012/04/10/whats-missing-from-cfpbs-awesome-new-source-code-policy/","date":"2012-04-10 00:00:00 -0400","id":"/2012/04/10/whats-missing-from-cfpbs-awesome-new-source-code-policy","categories":["posts"],"next":"\"Fix typo.\" Not quite \"one small step for man,\" but a significant first nonetheless. These simple words, typed by an open-source developer operating under the pseudonym \"iceeey,\" may represent the first collaborative effort between the federal government and the broader open-source community, and surely represents a tangible win for the open-government movement as a whole.\n\nThe Consumer Financial Protection Bureau (CFPB) is in a unique position. As the youngest federal agency, they have the opportunity to reimagine many day-to-day business processes for an internet era, and to share that innovation across government. One such process is the means by which federal employees apply for and receive subsidies to offset the cost of public transportation to and from work. Having created an application that alleviated the need to shuttle time-consuming, paper-based forms from building to building within their own agency, the Bureau sought to package up the solution, and publicly release the source code for other federal agencies to use and expand upon. The logic was simple: solve the problem once, solve it everywhere.\n\nBut the code was not simply made available for government employees to access. The code was placed on [GitHub][1] – a popular source code sharing service – for anyone to download and explore, and within days of CFPB publishing its [recently announced Source Code Policy][2], someone did just that.GitHub user \"iceeey\" [submitted a proposed change][3] – known in developer parlance as \"forking the project\" and submitting a \"pull request\" — correcting a misspelling on the form initially presented to new employees (\"roundtrip\" was accidentally spelled \"rountrip\").\n\nAdmittedly a minor change (\"one small step for grammar?\"), but notable for the underlying first that it represents: the opportunity to create efficiencies across government by partnering with the broader community of civically engaged developers.\n\nOpen-source software (software for which the underlying source code is made publicly available) as a vehicle for a more open and more efficient government is nothing new. Behind the scenes, countless agencies rely on open-source software for various business functions, and many have even chosen to publicly publish the source code underlying the applications that they themselves have built in-house to tackle unique challenges. But this seemingly innocuous missing \"d\" and its subsequently submitted fix represents the first time a federal agency has directly collaborated with open-source developers to better its own day-to-day tools.\n\nIceeey has [already submitted his second pull request][4] (\"more typos\" he joked with an emoticon smiley), and I hope more agencies and more open-source developers will follow suit. Such collaborations empower agencies to do more with less; put better, more robust tools in the hands of federal employees as they carry out agency mission; and undoubtedly represent a giant-leap forward for a more open and more efficient government.\n\n [1]: http://github.com/\n [2]: http://www.consumerfinance.gov/blog/the-cfpbs-source-code-policy-open-and-shared/\n [3]: https://github.com/cfpb/transit_subsidy/pull/1\n [4]: https://github.com/cfpb/transit_subsidy/pull/2","previous":"<p><a href='http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png'><img alt='WordPress for Government' class='alignleft' src='http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter-150x150.png' /></a></p>\n\n<p>Over the past several years WordPress&#8217;s market share has enjoyed explosive growth across virtually every industry. Today, it powers <a href='http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/'>nearly a quarter of new sites</a>, and is the CMS of choice for<a href='http://trends.builtwith.com/cms'>more than two thirds of the top-million sites</a> on the web making it the world&#8217;s most popular publishing platform by a long shot. Yet one group of seemingly ideal users has been slow to take the former blogging platform seriously: .Govs.</p>\n\n<p>Drupal powers twice as many federal .Govs <a href='http://dotgov.benbalter.com'>as every other CMS combined</a>. That&#8217;s more than six Drupal sites for every one WordPress .Gov alone, not to mention the Joomlas, MovableTypes, and SharePoints of the world. The build-it-yourself software powers the White House, the House of Representatives, half a dozen agencies, and countless data-driven microsites like Recovery.gov and the IT Spending Dashboard, and its public sector use is <a href='http://groups.drupal.org/node/19885'>equally if not more impressive abroad</a>.</p>\n\n<h2 id='a_problem_of_perception'>A Problem of Perception</h2>\n\n<h3 id='typical_enterprise_misconceptions'>Typical Enterprise Misconceptions</h3>\n\n<ul>\n<li>WordPress is a blogging platform</li>\n\n<li>WordPress doesn&#8217;t scale well</li>\n\n<li>Most plugins are written by hobbyists, not professionals</li>\n\n<li>WordPress is less secure</li>\n\n<li>WordPress can&#8217;t handle complex data types or user roles</li>\n\n<li>There&#8217;s no enterprise support</li>\n\n<li>There aren&#8217;t many WordPress developers</li>\n\n<li>No &#8220;serious&#8221; people use WordPress</li>\n\n<li>The WordPress codebase is immature</li>\n</ul>\n\n<p>WordPress&#8217;s disproportionately low government adoption is arguably the result of a handful of factors. For one, custom post types, the feature that formally graduated WordPress from a mere blogging platform into a full-fledged content management system, has only been around since June of last year. Yet, even among new sites, <sup id='fnref:2'><a href='#fn:2' rel='footnote'>2</a></sup> the ratio remains somewhat stagnant, if not shrinking, leaving one to believe that the technology has lapped its own already stellar perception.</p>\n\n<p>When you stack the two side by side (or against any other CMS for that matter), WordPress is objectively the prudent choice. On paper, you&#8217;d be hard-pressed to make the case for anything else. But, it&#8217;s not a technical problem. It&#8217;s a human one. It seems that WordPress&#8217;s greatest asset – ease of use that has resulted in widespread adoption by a largely non-technical user base – is threatening to become its greatest liability.</p>\n\n<p>Among those empowered to make purchasing decisions, there seems to be a sense that WordPress is what you use on the weekends to post pictures of your lunch while Drupal is what you use for &#8220;serious&#8221; business, and with good reason. For better or for worse, Drupal has positioned itself as not just a CMS, but rather <em>the</em> enterprise solution — an inseparable fifth layer of the increasingly ubiquitous enterprise LAMPD stack.</p>\n<table class='table'>\n <thead>\n <tr>\n <th />\n <th>Drupal</th>\n <th>WordPress</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>API Hooks</td>\n <td><a href='http://api.drupal.org/api/drupal/includes--module.inc/group/hooks/8'>267</a></td>\n <td><a href='http://adambrown.info/p/wp_hooks/version/3.2'>1,506</a>(5x)</td>\n </tr>\n <tr>\n <td>Active Sites</td>\n <td><a href='http://drupal.org/project/usage'>533,136</a></td>\n <td><a href='http://en.wordpress.com/stats/'>65,052,049</a>(125x)</td> \n </tr>\n <tr>\n <td>Plugins / Modules</td>\n <td><a href='http://drupal.org/project/modules'>8,536</a></td>\n <td><a href='http://wordpress.org/extend/plugins/'>16,076</a>(2x)</td> \n </tr>\n <tr>\n <td>Themes</td>\n <td><a href='http://drupal.org/project/themes'>893</a></td>\n <td><a href='http://wordpress.org/extend/themes/'>1,426</a>(1.5x)</td> \n </tr>\n <tr>\n <td>Community<sup id='fnref:1'><a href='#fn:1' rel='footnote'>1</a></sup></td>\n <td>1.5 Million</td>\n <td>20 Million (13x)</td> \n </tr>\n </tbody>\n</table>\n<h2 id='beyond_cowboy_coders'><strong>Beyond Cowboy Coders</strong></h2>\n\n<p>Not surprisingly, the two communities are a reflection of their underlying software&#8217;s position in the broader market. CodePoet.com, for example, a directory of WordPress consultants curated by Automattic, lists <a href='http://codepoet.com/browse/regions/north-america/platforms/wordpress/project-size/250000-250000/'>a mere thirteen firms in North America that seek jobs over $250,000</a>(often a small price tag for government or corporate sites), while its Drupal counterpart lists roughly 80 firms that specifically target <a href='http://drupal.org/marketplace-preview/all/Government'>government</a>, <a href='http://drupal.org/marketplace-preview/all/Corporate'>enterprise</a>, and <a href='http://drupal.org/marketplace-preview/all/Non-Governmental-Organizations'>NGO clients</a> daily.</p>\n\n<p>I am not suggesting that freelance developers should bring an end to what makes WordPress WordPress and change out of their shorts and sandals this instant or that they become intimately familiar with the nuances of federal procurement law, nor am I suggesting that small shops seek to bite off more than they can realistically chew anytime soon. I am suggestion, however, that there are small, tangible steps that the community can take to make headway into the government and enterprise space and gradually entrench WordPress as a viable alternative to otherwise subpar software harming innocent public servants.</p>\n\n<h2 id='1_outdated_language'>1. <code>_Deprecate( ‘</code>Outdated Language<code>&#39; )</code></h2>\n\n<p>The results of the recent WordPress survey suggest that the majority of sites use WordPress <em>as a CMS</em>. That&#8217;s like saying the majority of drivers use their Cadillac <em>as an automobile</em>. WordPress <em>is</em>a CMS. Yet, no one seems to be saying that. WordPress.org calls the software a &#8220;blog tool&#8221;, the WordPress Features codex page <a href='http://codex.wordpress.org/WordPress_Features'>describes the site that the software creates as a &#8220;weblog&#8221; no less than 28 times</a>, <sup id='fnref:3'><a href='#fn:3' rel='footnote'>3</a></sup> and the first search result for &#8220;WordPress CMS,&#8221; <a href='http://codex.wordpress.org/User:Lastnode/Wordpress_CMS'>describes &#8220;what aspects of the WordPress… need to be changed in order to turn WordPress into a CMS.&#8221;</a></p>\n\n<p>Especially in the buttoned-up context of corporate and government installs, &#8220;blog&#8221; can be a dirty word. Yet, to get the title of any site, the command we all still run is <code>get_bloginfo()</code>. Inside <code>&lt;?php</code> tags and out, the technology we have created has far outpaced the metaphor we use to describe it.</p>\n\n<h2 id='2_make_new_friends'>2. Make New Friends</h2>\n\n<p>In a typical procurement, be it a federal agency, mid-sized corporation, or local municipality, the CMS does not come first. In fact, many stakeholders wouldn&#8217;t know the site&#8217;s underlying technology if it weren&#8217;t for the logo on the login screen. A firm with a strong reputation in the industry is sought, and based largely on their recommendation, the technology – be it proprietary, open-source, or purpose-built – is chosen by evaluating each across a handful of metrics.</p>\n\n<p>We all know the decision points. Performance and scaling, handing of complex data types, managing user roles, etc. All challenges that WordPress doesn&#8217;t even flinch at, yet the perception among the uninitiated is still widely that between open-source alternatives, WordPress is the least-accomplished in the bunch. Whether its reaching out and inviting nearby firms to your next meetup, giving a WordPress talk at a non-WordPress conference, or just being an exemplar in your local development community, we need to show the tie-wearing few in the conference room that you don&#8217;t have to be boring, overly complex, or unnecessarily expensive to get the job done right.</p>\n\n<h2 id='3_but_wait_theres_more'>3. But Wait, There&#8217;s More…</h2>\n\n<p>WordPress consultants are great at selling themselves, but rarely does anyone ever sell WordPress. Ask my why an agency or municipality should adopt Sharepoint, and I have page after page of <a href='http://sharepoint.microsoft.com/en-us/product/benefits/Pages/default.aspx'>focus-group tested material tailored to my industry</a>. Ask my why anyone should use WordPress, and <a href='http://ben.balter.com/2011/09/01/why-wordpress/'>I&#8217;m pretty much left to fend for myself</a>. Somewhat counterintuitive in a world of free software, migrating to WordPress comes with significant costs that firms need to take into account, both real and imagined, costs that the technology&#8217;s ambassadors must actively overcome. Beyond actual development and training costs, there are perceived risks of an immature codebase, insecure plugins, and a general inability to do the job.</p>\n\n<p>One of WordPress&#8217;s greatest strengths is its tight-nit cadre of dedicated enthusiasts. Yet it can often be hard for those on the inside to see things as those outside do. Think about those who have not yet tasted just how sweet the punch is. The name WordPress most often makes its way into a CIO&#8217;s inbox, for example, only when there&#8217;s been a security breach, not when there&#8217;s been a feature release. Where other platforms have stagnated, WordPress&#8217;s &#8220;can-do&#8221; attitude has forged onward introducing even more one-of-a-kind features, yet all too often they go unnoticed or underappreciated where it matters. Both collectively and individually, for WordPress to gain the respect of &#8220;the man,&#8221; we must seek to broadcast its excellence. Now is not the time for humility.</p>\n\n<h2 id='4_build_serious_features_for_serious_users'>4. Build Serious Features for Serious Users</h2>\n\n<p><a href='http://wordpress.org/about/philosophy/'>WordPress&#8217;s core philosophy</a> has always been to &#8220;code for the majority&#8221; and with the amount of customization required out-of-the-box to do just about anything, arguably Drupal&#8217;s philosophy has been &#8220;code for yourself.&#8221; While Automattic does a great job with <a href='http://en.wordpress.com/notable-users/'>the CNN&#8217;s and TechCrunch&#8217;s of the world</a>, there&#8217;s a huge opportunity here for developers to fill a void by giving rise to a new generation of core features, plugins, and themes with &#8220;serious&#8221; implementations in mind. Rather than another social media plugin, what&#8217;s the next big thing? Large-scale data? Geolocation? APIs and interoperability?</p>\n\n<p>NASA&#8217;s space-race supercharching of the aerospace industry brought consumers everything from Super Soakers to sun glasses, and that same reach for the stars philosophy can put yet-unimagined power in the browsers of everyday WordPress users. Distraction free writing and an <em>even</em> more intuitive administrative interface are killer features to be sure, but they are the icing on an already beautiful cake and do little to gain parity with more traditional CMSs let alone take on the CMS space in the &#8220;WordPress Way.&#8221; A good example of this may be <a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/' title='WP Document Revisions — Document Management &amp; Version Control for WordPress'>WP Document Revisions</a>, a document management and workflow management tool built almost solely using core functionality. By leveraging WordPress&#8217;s core competencies, the venerable CMS can not only gain a seat at the adult&#8217;s table, but exponentially improve the experience for its primary user base as well</p>\n\n<h2 id='frenemies'>Frenemies</h2>\n\n<p>It&#8217;s important to note, though, it&#8217;s not a zero-sum game. Drupal doesn&#8217;t compete with WordPress like McDonalds does with Burger King or Coke with Pepsi. Government support for open-source software is a good thing, regardless of what form it takes. True, an infusion of publicly funded effort into the WordPress code base would invariably advance the software just as government funded research advances hard sciences, but, in the end, everybody wins here.</p>\n\n<p>WordPress and government just make sense. As public institutions both large and small face growing budget concerns and begin to shift many of their services to the web, a platform like WordPress built with engagement, collaboration, and dialogue is the ideal fit, not to mention, incredibly persuasive when compared to expensive, propriety, or purpose-built alternatives.</p>\n\n<h2 id='we_all_have_a_stake'><strong>We All Have a Stake</strong></h2>\n\n<p>Whether WordPress is your primary source of income, a hobby, or just the thing that powers your personal site, we all have a stake in WordPress&#8217;s future. It is paramount that the community stays true to its scrappy roots. After all, there&#8217;s no sense selling the couch to buy a new TV. Yet, in order to be taken seriously by the public sector as a platform for more than simply sharing photos of kitten and chronicling teenage angst, we must first take ourselves seriously, and take baby steps to bring government adoption in line with the WordPress community&#8217;s otherwise unparalleled and well-deserved success.</p>\n<div style='border: 1px solid black; background: #eee; padding: 15px 15px 15px 15px; margin-bottom: 30px; min-height: 150px; '><a href='http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg'><img alt='' class='alignleft size-thumbnail wp-image-2330' height='150' src='http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387-150x150.jpg' title='q-cover-issue01-300x387' width='150' /></a>\n<p style='margin-top: 20px;'><em>This article originally printed in the <a href='http://wpcandy.com/announces/quarterly-issue-one-ships'>March, 2012 issue of The WPCandy Quarterly</a>. </em></p>\n<p><strong><a href='http://wpcandy.com/quarterly'>Continue Reading →</a></strong><br /><span style='font-size:12px'>(subscription required)</span></p>\n</div><div class='footnotes'><hr /><ol><li id='fn:1'>\n<p>Jen Lampton, &#8220;Why WordPress is Better than Drupal, Developers Take Note&#8221; (July, 2010) <span>33</span></p>\n<a href='#fnref:1' rev='footnote'>&#8617;</a></li><li id='fn:2'>\n<p><strong>Update (3/7):</strong> As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a <em>decision lag</em>. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from <em>blog+</em> to <em>full-fledged CMS</em> — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, <a href='http://ben.balter.com/2011/11/29/towards-a-more-agile-government/'>procurement regulations dictate that such lag times are all but the norm</a>. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today. <span>32</span></p>\n<a href='#fnref:2' rev='footnote'>&#8617;</a></li><li id='fn:3'>\n<p><strong>Update (3/8):</strong> The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I&#8217;ve gone through and reworked much of the blog-specific language. <a href='http://codex.wordpress.org/index.php?title=WordPress_Features&amp;oldid=113531'>View the original</a>. <span>35</span></p>\n<a href='#fnref:3' rev='footnote'>&#8617;</a></li></ol></div>","content":"<p><img alt='CFPB Logo' class='alignright' src='http://www.treasury.gov/press-center/news/PublishingImages/CFPB.jpg' /></p>\n\n<p>Most often, when we talk about open source in government, it&#8217;s talked about in one of two ways: either it&#8217;s <a href='http://ben.balter.com/2011/11/29/towards-a-more-agile-government/'>the pitfalls of the federal IT procurement model</a> that can&#8217;t seem to comprehend a world in which open-source is an option, much less potentially a superior choice (<a href='http://radar.oreilly.com/2011/09/open-source-government-it-goscon.html'>&#8220;acquisition as a roadblock</a>&#8221;), or it&#8217;s reiterating the same open-source talking points that haven&#8217;t seemed to give open source much parity with the wall of organizational inertia proprietary software seems to have gained over the years (&#8221;<a href='http://benbalter.github.com/open-source-alternatives/'>open source as an alternative</a>&#8221;).</p>\n\n<p>The <a href='http://cfpb.gov'>Consumer Financial Protection Bureau</a> (CFPB), however, is in a unique position. As the newest kid on the block, it&#8217;s one of the few government agencies to have been born in a digital era, and more importantly, without the bureaucratic baggage that all too often stymies innovation. They have a chance to &#8220;do it right&#8221; from the start… and they&#8217;re doing just that.</p>\n\n<p><strong>An Agency Born of the Internet Generation</strong></p>\n\n<p>Yesterday, CFPB <a href='http://www.consumerfinance.gov/developers/sourcecodepolicy/'>announced a bureau-wide preference for open source</a> in its shiny new <a href='http://www.consumerfinance.gov/developers/sourcecodepolicy/'>Source Code Policy</a>, by my <a href='http://www.google.com/search?sugexp=chrome,mod=4&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=source+code+policy+site%3A.gov'>crude research</a>, a first for any government agency. There are two watershed shifts here: first, that the agency not only should, but <em>must</em> evaluate open source software on equal footing to its proprietary counterparts, a comparison which I believe will <a href='http://www.amazon.com/The-Wealth-Networks-Production-ebook/dp/B0015GWX0S'>increasingly fall in open source&#8217;s favor</a>, and second, that unless there&#8217;s an overriding security or similar concern <em>not to</em>, public code must be public. There&#8217;s nothing new here. All it says is that we should use the best software for the job (a no-brainier), and that that software, the public&#8217;s property, should belong to the public.</p>\n\n<p>So why is this news? Plenty of government entities have <a href='http://www.fcc.gov/blog/contributing-code-back-fcc-govs-open-source-feedback-loop'>released</a> <a href='http://www.whitehouse.gov/blog/2011/02/11/whitehousegov-releases-second-set-open-source-code'>source</a> <a href='http://open.nasa.gov'>code</a>, or <a href='https://update.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit'>encouraged the</a><a href='http://www.finance.gov.au/e-government/infrastructure/docs/AGuidetoOpenSourceSoftware.pdf'>use of open</a>-<a href='http://www.tekno.dk/pdf/projekter/p03_opensource_paper_english.pdf'>source software</a>. But no one has come out and <a href='https://twitter.com/#!/victorzapanta/status/189390759181557760'>plainly stated that they were an &#8220;open-source agency&#8221;</a>, that open source is the new default, and that absent an affirmative step by some nay-sayer, that the public will have access to their code.That&#8217;s huge. It&#8217;s flipping the burden, and it&#8217;s the way things should be from the start.</p>\n\n<p><strong>But Where&#8217;s the Beef?</strong></p>\n\n<p>That said, there&#8217;s one thing the source code policy is noticeably silent on: <em>the ecosystem</em>. Posting code is great and it&#8217;s great that they&#8217;ve done the legal legwork so other agencies can follow suit, but that&#8217;s just the 1.0. The true power of open source comes not from simply publishing code, but from being a member of a broader coding community. Can a CFPB employee contribute a patch to an existing open source project on CFPB time? <sup id='fnref:1'><a href='#fn:1' rel='footnote'>1</a></sup> What about contributing to a CFPB project once he or she&#8217;s left? What happens to my rights when I fork a <a href='http://github.com/cfpb'>CFPB project on GitHub</a> and send the agency a pull request? <sup id='fnref:2'><a href='#fn:2' rel='footnote'>2</a></sup> Can the agency even accept my code legally? <sup id='fnref:3'><a href='#fn:3' rel='footnote'>3</a></sup> There&#8217;s a lot of legal ambiguity there, and it&#8217;s just the kind of legal ambiguity a well-intentioned government attorney can seize upon to gum up the very gears that are driving this incredible move.</p>\n\n<p>We&#8217;ve seen the same progression in the open data world. The 1.0 is posting 10 XML files at a gigabyte each — an arms-length relationship with developers — arguably open data simply for open data&#8217;s sake. The secret sauce lies in the relationship, in publishing APIs and web services rather than static data, to build an ecosystem around the agency&#8217;s work.</p>\n\n<p><strong>An Innovation Ecosystem</strong></p>\n\n<p>Imagine if government agencies served as the catalyst for a <a href='http://ben.balter.com/2012/03/05/wordpress-for-government-and-enterprise/#p[NssBlW]'>joint public-private effort to drive tomorrow&#8217;s innovation</a>. We saw this during the space race, and see it today in terms of government-funded research, but by-and-large, open-source coders have yet to be included. Sure we&#8217;ve seen the &#8220;let&#8217;s have some open-source developers build this for us for free&#8221; type challenges, but that&#8217;s about it. There&#8217;s no ecosystem, no community, no push-pull or give-and-take, and I&#8217;m worried that as CFPB&#8217;s efforts federate across government, this nuance may not federate along with it.</p>\n\n<p>The agency&#8217;s already got <a href='https://github.com/cfpb/transit_subsidy/pull/1'>it&#8217;s first public-generated code contribution</a>, and can expect at least one more on <a href='https://gist.github.com/2343578'>their gist of the policy</a> (Ed. note: does CFPB not <em>own</em> a Blue Book?!), but the possibility of such a relationship with the citizenry doesn&#8217;t seem contemplated by the policy, let alone included as integrally as it should.</p>\n\n<p>I&#8217;d love to see the next iteration of the policy have a third section, &#8220;III. Membership in the Open-Source Community&#8221; on not just publishing code they&#8217;ve developed in house — don&#8217;t get me wrong, that&#8217;s huge — but actually <em>contributing</em>meaningful code to the broader ecosystem, and working directly with the open-source community to foster an active partnership that delivers the best citizen services possible. It&#8217;s a dialog, not a code dump. There needs to be a conversation there.</p>\n\n<p><strong>Procure, Publish, Participate.</strong></p>\n\n<p>It&#8217;s the realization that when you use open-source software, you&#8217;re not a customer. You&#8217;re a member of a community. You&#8217;re invited to a pot-luck dinner. There&#8217;s not the same sense of entitlement you have with proprietary software. It&#8217;s not that they owe you a given feature. There&#8217;s no financial transaction there. It&#8217;s that that feature hasn&#8217;t been developed yet, but can be, the same way every other feature has evolved, through community contributions. There&#8217;s an entirely different philosophy driving the relationship.</p>\n\n<p>For open source in government to work, it&#8217;s got to move beyond procuring community contributed open-source projects on the one hand, and releasing open-source code developed in house distinctly on the other. It&#8217;s about feeling a sense of belonging. It&#8217;s about the agency taking on a sense of ownership in the broader project. It&#8217;s about participation. <sup id='fnref:4'><a href='#fn:4' rel='footnote'>4</a></sup></p>\n\n<p>I think CFPB gets it in a big way, and the fact that this is memorialized in writing is a major step in the right direction. They&#8217;ve got the basic mechanics down — procure open–source projects, publish open-source code — but the missing secret sauce that would really drive the policy home? Participate in the open-source community as a matter of policy.</p>\n\n<p>+1 CFPB, +1. <em>Welcome to the community.</em></p>\n\n<p>Notes:</p>\n<div class='footnotes'><hr /><ol><li id='fn:1'>\n<p>In simple terms, the core of open-source projects (as distinct from community-contributed plugins or modules) are primarily fueled by &#8220;patches&#8221; (small code change sets) in response to bugs or feature requests, that get committed to the project&#8217;s codebase and released in subsequent versions. <span>24</span></p>\n<a href='#fnref:1' rev='footnote'>&#8617;</a></li><li id='fn:2'>\n<p>If the project is licensed as government work, are my code contributions now government work? Are the government employee lines of code under a broader license, while mine are under a more restrictive license like GPL or apache? <span>25</span></p>\n<a href='#fnref:2' rev='footnote'>&#8617;</a></li><li id='fn:3'>\n<p>Is this considered a donation for Federal ethics purposes thus requiring disclosure? <span>26</span></p>\n<a href='#fnref:3' rev='footnote'>&#8617;</a></li><li id='fn:4'>\n<p>This can manifest itself in lots of different ways, but most tangibly: going to local meetups and conferences (or hosting them); contributing to the project&#8217;s core by introducing new features, documentation, or posting to support forums; abstracting business logic from the start to be more broadly applicable to other developers; outreach and evangelism; and fostering relationships with key stakeholders within the community <span>27</span></p>\n<a href='#fnref:4' rev='footnote'>&#8617;</a></li></ol></div>"}
+{"author":"Benjamin J. Balter","title":"What's Missing from CFPB's Awesome New Source Code Policy","excerpt":null,"layout":"post","category":["Law","Technology"],"tags":[".govs","cfpb","code","contracting","copyright","enterprise","fcc","federal","github","gov 2.0","government","IT","open government","open source","procurement","source code policy"],"post_format":[],"url":"/2012/04/10/whats-missing-from-cfpbs-awesome-new-source-code-policy/","date":"2012-04-10 00:00:00 -0400","id":"/2012/04/10/whats-missing-from-cfpbs-awesome-new-source-code-policy","categories":["posts"],"next":"\"Fix typo.\" Not quite \"one small step for man,\" but a significant first nonetheless. These simple words, typed by an open-source developer operating under the pseudonym \"iceeey,\" may represent the first collaborative effort between the federal government and the broader open-source community, and surely represents a tangible win for the open-government movement as a whole.\n\nThe Consumer Financial Protection Bureau (CFPB) is in a unique position. As the youngest federal agency, they have the opportunity to reimagine many day-to-day business processes for an internet era, and to share that innovation across government. One such process is the means by which federal employees apply for and receive subsidies to offset the cost of public transportation to and from work. Having created an application that alleviated the need to shuttle time-consuming, paper-based forms from building to building within their own agency, the Bureau sought to package up the solution, and publicly release the source code for other federal agencies to use and expand upon. The logic was simple: solve the problem once, solve it everywhere.\n\nBut the code was not simply made available for government employees to access. The code was placed on [GitHub][1] – a popular source code sharing service – for anyone to download and explore, and within days of CFPB publishing its [recently announced Source Code Policy][2], someone did just that.GitHub user \"iceeey\" [submitted a proposed change][3] – known in developer parlance as \"forking the project\" and submitting a \"pull request\" — correcting a misspelling on the form initially presented to new employees (\"roundtrip\" was accidentally spelled \"rountrip\").\n\nAdmittedly a minor change (\"one small step for grammar?\"), but notable for the underlying first that it represents: the opportunity to create efficiencies across government by partnering with the broader community of civically engaged developers.\n\nOpen-source software (software for which the underlying source code is made publicly available) as a vehicle for a more open and more efficient government is nothing new. Behind the scenes, countless agencies rely on open-source software for various business functions, and many have even chosen to publicly publish the source code underlying the applications that they themselves have built in-house to tackle unique challenges. But this seemingly innocuous missing \"d\" and its subsequently submitted fix represents the first time a federal agency has directly collaborated with open-source developers to better its own day-to-day tools.\n\nIceeey has [already submitted his second pull request][4] (\"more typos\" he joked with an emoticon smiley), and I hope more agencies and more open-source developers will follow suit. Such collaborations empower agencies to do more with less; put better, more robust tools in the hands of federal employees as they carry out agency mission; and undoubtedly represent a giant-leap forward for a more open and more efficient government.\n\n [1]: http://github.com/\n [2]: http://www.consumerfinance.gov/blog/the-cfpbs-source-code-policy-open-and-shared/\n [3]: https://github.com/cfpb/transit_subsidy/pull/1\n [4]: https://github.com/cfpb/transit_subsidy/pull/2","previous":"<p><a href='http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png'><img alt='WordPress for Government' class='alignleft' src='http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter-150x150.png' /></a></p>\n\n<p>Over the past several years WordPress&#8217;s market share has enjoyed explosive growth across virtually every industry. Today, it powers <a href='http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/'>nearly a quarter of new sites</a>, and is the CMS of choice for<a href='http://trends.builtwith.com/cms'>more than two thirds of the top-million sites</a> on the web making it the world&#8217;s most popular publishing platform by a long shot. Yet one group of seemingly ideal users has been slow to take the former blogging platform seriously: .Govs.</p>\n\n<p>Drupal powers twice as many federal .Govs <a href='http://dotgov.benbalter.com'>as every other CMS combined</a>. That&#8217;s more than six Drupal sites for every one WordPress .Gov alone, not to mention the Joomlas, MovableTypes, and SharePoints of the world. The build-it-yourself software powers the White House, the House of Representatives, half a dozen agencies, and countless data-driven microsites like Recovery.gov and the IT Spending Dashboard, and its public sector use is <a href='http://groups.drupal.org/node/19885'>equally if not more impressive abroad</a>.</p>\n\n<h2 id='a_problem_of_perception'>A Problem of Perception</h2>\n<div class='well' style='float:right; width: 300px; margin-left: 20px; text-align: left;'>\n<h3>Typical Enterprise Misconceptions</h3>\n\n<ul>\n<li>WordPress is a blogging platform</li>\n\n<li>WordPress doesn&#8217;t scale well</li>\n\n<li>Most plugins are written by hobbyists, not professionals</li>\n\n<li>WordPress is less secure</li>\n\n<li>WordPress can&#8217;t handle complex data types or user roles</li>\n\n<li>There&#8217;s no enterprise support</li>\n\n<li>There aren&#8217;t many WordPress developers</li>\n\n<li>No &#8220;serious&#8221; people use WordPress</li>\n\n<li>The WordPress codebase is immature</li>\n</ul>\n</div>\n<p>WordPress&#8217;s disproportionately low government adoption is arguably the result of a handful of factors. For one, custom post types, the feature that formally graduated WordPress from a mere blogging platform into a full-fledged content management system, has only been around since June of last year. Yet, even among new sites, <sup id='fnref:2'><a href='#fn:2' rel='footnote'>2</a></sup> the ratio remains somewhat stagnant, if not shrinking, leaving one to believe that the technology has lapped its own already stellar perception.</p>\n\n<p>When you stack the two side by side (or against any other CMS for that matter), WordPress is objectively the prudent choice. On paper, you&#8217;d be hard-pressed to make the case for anything else. But, it&#8217;s not a technical problem. It&#8217;s a human one. It seems that WordPress&#8217;s greatest asset – ease of use that has resulted in widespread adoption by a largely non-technical user base – is threatening to become its greatest liability.</p>\n\n<p>Among those empowered to make purchasing decisions, there seems to be a sense that WordPress is what you use on the weekends to post pictures of your lunch while Drupal is what you use for &#8220;serious&#8221; business, and with good reason. For better or for worse, Drupal has positioned itself as not just a CMS, but rather <em>the</em> enterprise solution — an inseparable fifth layer of the increasingly ubiquitous enterprise LAMPD stack.</p>\n<table class='table'>\n <thead>\n <tr>\n <th />\n <th>Drupal</th>\n <th>WordPress</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>API Hooks</td>\n <td><a href='http://api.drupal.org/api/drupal/includes--module.inc/group/hooks/8'>267</a></td>\n <td><a href='http://adambrown.info/p/wp_hooks/version/3.2'>1,506</a>(5x)</td>\n </tr>\n <tr>\n <td>Active Sites</td>\n <td><a href='http://drupal.org/project/usage'>533,136</a></td>\n <td><a href='http://en.wordpress.com/stats/'>65,052,049</a>(125x)</td> \n </tr>\n <tr>\n <td>Plugins / Modules</td>\n <td><a href='http://drupal.org/project/modules'>8,536</a></td>\n <td><a href='http://wordpress.org/extend/plugins/'>16,076</a>(2x)</td> \n </tr>\n <tr>\n <td>Themes</td>\n <td><a href='http://drupal.org/project/themes'>893</a></td>\n <td><a href='http://wordpress.org/extend/themes/'>1,426</a>(1.5x)</td> \n </tr>\n <tr>\n <td>Community<sup id='fnref:1'><a href='#fn:1' rel='footnote'>1</a></sup></td>\n <td>1.5 Million</td>\n <td>20 Million (13x)</td> \n </tr>\n </tbody>\n</table>\n<h2 id='beyond_cowboy_coders'><strong>Beyond Cowboy Coders</strong></h2>\n\n<p>Not surprisingly, the two communities are a reflection of their underlying software&#8217;s position in the broader market. CodePoet.com, for example, a directory of WordPress consultants curated by Automattic, lists <a href='http://codepoet.com/browse/regions/north-america/platforms/wordpress/project-size/250000-250000/'>a mere thirteen firms in North America that seek jobs over $250,000</a>(often a small price tag for government or corporate sites), while its Drupal counterpart lists roughly 80 firms that specifically target <a href='http://drupal.org/marketplace-preview/all/Government'>government</a>, <a href='http://drupal.org/marketplace-preview/all/Corporate'>enterprise</a>, and <a href='http://drupal.org/marketplace-preview/all/Non-Governmental-Organizations'>NGO clients</a> daily.</p>\n\n<p>I am not suggesting that freelance developers should bring an end to what makes WordPress WordPress and change out of their shorts and sandals this instant or that they become intimately familiar with the nuances of federal procurement law, nor am I suggesting that small shops seek to bite off more than they can realistically chew anytime soon. I am suggestion, however, that there are small, tangible steps that the community can take to make headway into the government and enterprise space and gradually entrench WordPress as a viable alternative to otherwise subpar software harming innocent public servants.</p>\n\n<h2 id='1_outdated_language'>1. <code>_Deprecate( ‘</code>Outdated Language<code>&#39; )</code></h2>\n\n<p>The results of the recent WordPress survey suggest that the majority of sites use WordPress <em>as a CMS</em>. That&#8217;s like saying the majority of drivers use their Cadillac <em>as an automobile</em>. WordPress <em>is</em>a CMS. Yet, no one seems to be saying that. WordPress.org calls the software a &#8220;blog tool&#8221;, the WordPress Features codex page <a href='http://codex.wordpress.org/WordPress_Features'>describes the site that the software creates as a &#8220;weblog&#8221; no less than 28 times</a>, <sup id='fnref:3'><a href='#fn:3' rel='footnote'>3</a></sup> and the first search result for &#8220;WordPress CMS,&#8221; <a href='http://codex.wordpress.org/User:Lastnode/Wordpress_CMS'>describes &#8220;what aspects of the WordPress… need to be changed in order to turn WordPress into a CMS.&#8221;</a></p>\n\n<p>Especially in the buttoned-up context of corporate and government installs, &#8220;blog&#8221; can be a dirty word. Yet, to get the title of any site, the command we all still run is <code>get_bloginfo()</code>. Inside <code>&lt;?php</code> tags and out, the technology we have created has far outpaced the metaphor we use to describe it.</p>\n\n<h2 id='2_make_new_friends'>2. Make New Friends</h2>\n\n<p>In a typical procurement, be it a federal agency, mid-sized corporation, or local municipality, the CMS does not come first. In fact, many stakeholders wouldn&#8217;t know the site&#8217;s underlying technology if it weren&#8217;t for the logo on the login screen. A firm with a strong reputation in the industry is sought, and based largely on their recommendation, the technology – be it proprietary, open-source, or purpose-built – is chosen by evaluating each across a handful of metrics.</p>\n\n<p>We all know the decision points. Performance and scaling, handing of complex data types, managing user roles, etc. All challenges that WordPress doesn&#8217;t even flinch at, yet the perception among the uninitiated is still widely that between open-source alternatives, WordPress is the least-accomplished in the bunch. Whether its reaching out and inviting nearby firms to your next meetup, giving a WordPress talk at a non-WordPress conference, or just being an exemplar in your local development community, we need to show the tie-wearing few in the conference room that you don&#8217;t have to be boring, overly complex, or unnecessarily expensive to get the job done right.</p>\n\n<h2 id='3_but_wait_theres_more'>3. But Wait, There&#8217;s More…</h2>\n\n<p>WordPress consultants are great at selling themselves, but rarely does anyone ever sell WordPress. Ask my why an agency or municipality should adopt Sharepoint, and I have page after page of <a href='http://sharepoint.microsoft.com/en-us/product/benefits/Pages/default.aspx'>focus-group tested material tailored to my industry</a>. Ask my why anyone should use WordPress, and <a href='http://ben.balter.com/2011/09/01/why-wordpress/'>I&#8217;m pretty much left to fend for myself</a>. Somewhat counterintuitive in a world of free software, migrating to WordPress comes with significant costs that firms need to take into account, both real and imagined, costs that the technology&#8217;s ambassadors must actively overcome. Beyond actual development and training costs, there are perceived risks of an immature codebase, insecure plugins, and a general inability to do the job.</p>\n\n<p>One of WordPress&#8217;s greatest strengths is its tight-nit cadre of dedicated enthusiasts. Yet it can often be hard for those on the inside to see things as those outside do. Think about those who have not yet tasted just how sweet the punch is. The name WordPress most often makes its way into a CIO&#8217;s inbox, for example, only when there&#8217;s been a security breach, not when there&#8217;s been a feature release. Where other platforms have stagnated, WordPress&#8217;s &#8220;can-do&#8221; attitude has forged onward introducing even more one-of-a-kind features, yet all too often they go unnoticed or underappreciated where it matters. Both collectively and individually, for WordPress to gain the respect of &#8220;the man,&#8221; we must seek to broadcast its excellence. Now is not the time for humility.</p>\n\n<h2 id='4_build_serious_features_for_serious_users'>4. Build Serious Features for Serious Users</h2>\n\n<p><a href='http://wordpress.org/about/philosophy/'>WordPress&#8217;s core philosophy</a> has always been to &#8220;code for the majority&#8221; and with the amount of customization required out-of-the-box to do just about anything, arguably Drupal&#8217;s philosophy has been &#8220;code for yourself.&#8221; While Automattic does a great job with <a href='http://en.wordpress.com/notable-users/'>the CNN&#8217;s and TechCrunch&#8217;s of the world</a>, there&#8217;s a huge opportunity here for developers to fill a void by giving rise to a new generation of core features, plugins, and themes with &#8220;serious&#8221; implementations in mind. Rather than another social media plugin, what&#8217;s the next big thing? Large-scale data? Geolocation? APIs and interoperability?</p>\n\n<p>NASA&#8217;s space-race supercharching of the aerospace industry brought consumers everything from Super Soakers to sun glasses, and that same reach for the stars philosophy can put yet-unimagined power in the browsers of everyday WordPress users. Distraction free writing and an <em>even</em> more intuitive administrative interface are killer features to be sure, but they are the icing on an already beautiful cake and do little to gain parity with more traditional CMSs let alone take on the CMS space in the &#8220;WordPress Way.&#8221; A good example of this may be <a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/' title='WP Document Revisions — Document Management &amp; Version Control for WordPress'>WP Document Revisions</a>, a document management and workflow management tool built almost solely using core functionality. By leveraging WordPress&#8217;s core competencies, the venerable CMS can not only gain a seat at the adult&#8217;s table, but exponentially improve the experience for its primary user base as well</p>\n\n<h2 id='frenemies'>Frenemies</h2>\n\n<p>It&#8217;s important to note, though, it&#8217;s not a zero-sum game. Drupal doesn&#8217;t compete with WordPress like McDonalds does with Burger King or Coke with Pepsi. Government support for open-source software is a good thing, regardless of what form it takes. True, an infusion of publicly funded effort into the WordPress code base would invariably advance the software just as government funded research advances hard sciences, but, in the end, everybody wins here.</p>\n\n<p>WordPress and government just make sense. As public institutions both large and small face growing budget concerns and begin to shift many of their services to the web, a platform like WordPress built with engagement, collaboration, and dialogue is the ideal fit, not to mention, incredibly persuasive when compared to expensive, propriety, or purpose-built alternatives.</p>\n\n<h2 id='we_all_have_a_stake'><strong>We All Have a Stake</strong></h2>\n\n<p>Whether WordPress is your primary source of income, a hobby, or just the thing that powers your personal site, we all have a stake in WordPress&#8217;s future. It is paramount that the community stays true to its scrappy roots. After all, there&#8217;s no sense selling the couch to buy a new TV. Yet, in order to be taken seriously by the public sector as a platform for more than simply sharing photos of kitten and chronicling teenage angst, we must first take ourselves seriously, and take baby steps to bring government adoption in line with the WordPress community&#8217;s otherwise unparalleled and well-deserved success.</p>\n<div style='border: 1px solid black; background: #eee; padding: 15px 15px 15px 15px; margin-bottom: 30px; min-height: 150px; '><a href='http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg'><img alt='' class='alignleft size-thumbnail wp-image-2330' height='150' src='http://ben.balter.com/wp-content/uploads/2012/03/q-cover-issue01-300x387-150x150.jpg' title='q-cover-issue01-300x387' width='150' /></a>\n<p style='margin-top: 20px;'><em>This article originally printed in the <a href='http://wpcandy.com/announces/quarterly-issue-one-ships'>March, 2012 issue of The WPCandy Quarterly</a>. </em></p>\n<p><strong><a href='http://wpcandy.com/quarterly'>Continue Reading →</a></strong><br /><span style='font-size:12px'>(subscription required)</span></p>\n</div><div class='footnotes'><hr /><ol><li id='fn:1'>\n<p>Jen Lampton, &#8220;Why WordPress is Better than Drupal, Developers Take Note&#8221; (July, 2010)</p>\n<a href='#fnref:1' rev='footnote'>&#8617;</a></li><li id='fn:2'>\n<p><strong>Update (3/7):</strong> As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a <em>decision lag</em>. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from <em>blog+</em> to <em>full-fledged CMS</em> — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, <a href='http://ben.balter.com/2011/11/29/towards-a-more-agile-government/'>procurement regulations dictate that such lag times are all but the norm</a>. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today.</p>\n<a href='#fnref:2' rev='footnote'>&#8617;</a></li><li id='fn:3'>\n<p><strong>Update (3/8):</strong> The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I&#8217;ve gone through and reworked much of the blog-specific language. <a href='http://codex.wordpress.org/index.php?title=WordPress_Features&amp;oldid=113531'>View the original</a>.</p>\n<a href='#fnref:3' rev='footnote'>&#8617;</a></li></ol></div>","content":"<p><img alt='CFPB Logo' class='alignright' src='http://www.treasury.gov/press-center/news/PublishingImages/CFPB.jpg' /></p>\n\n<p>Most often, when we talk about open source in government, it&#8217;s talked about in one of two ways: either it&#8217;s <a href='http://ben.balter.com/2011/11/29/towards-a-more-agile-government/'>the pitfalls of the federal IT procurement model</a> that can&#8217;t seem to comprehend a world in which open-source is an option, much less potentially a superior choice (<a href='http://radar.oreilly.com/2011/09/open-source-government-it-goscon.html'>&#8220;acquisition as a roadblock</a>&#8221;), or it&#8217;s reiterating the same open-source talking points that haven&#8217;t seemed to give open source much parity with the wall of organizational inertia proprietary software seems to have gained over the years (&#8221;<a href='http://benbalter.github.com/open-source-alternatives/'>open source as an alternative</a>&#8221;).</p>\n\n<p>The <a href='http://cfpb.gov'>Consumer Financial Protection Bureau</a> (CFPB), however, is in a unique position. As the newest kid on the block, it&#8217;s one of the few government agencies to have been born in a digital era, and more importantly, without the bureaucratic baggage that all too often stymies innovation. They have a chance to &#8220;do it right&#8221; from the start… and they&#8217;re doing just that.</p>\n\n<p><strong>An Agency Born of the Internet Generation</strong></p>\n\n<p>Yesterday, CFPB <a href='http://www.consumerfinance.gov/developers/sourcecodepolicy/'>announced a bureau-wide preference for open source</a> in its shiny new <a href='http://www.consumerfinance.gov/developers/sourcecodepolicy/'>Source Code Policy</a>, by my <a href='http://www.google.com/search?sugexp=chrome,mod=4&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=source+code+policy+site%3A.gov'>crude research</a>, a first for any government agency. There are two watershed shifts here: first, that the agency not only should, but <em>must</em> evaluate open source software on equal footing to its proprietary counterparts, a comparison which I believe will <a href='http://www.amazon.com/The-Wealth-Networks-Production-ebook/dp/B0015GWX0S'>increasingly fall in open source&#8217;s favor</a>, and second, that unless there&#8217;s an overriding security or similar concern <em>not to</em>, public code must be public. There&#8217;s nothing new here. All it says is that we should use the best software for the job (a no-brainier), and that that software, the public&#8217;s property, should belong to the public.</p>\n\n<p>So why is this news? Plenty of government entities have <a href='http://www.fcc.gov/blog/contributing-code-back-fcc-govs-open-source-feedback-loop'>released</a> <a href='http://www.whitehouse.gov/blog/2011/02/11/whitehousegov-releases-second-set-open-source-code'>source</a> <a href='http://open.nasa.gov'>code</a>, or <a href='https://update.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit'>encouraged the</a><a href='http://www.finance.gov.au/e-government/infrastructure/docs/AGuidetoOpenSourceSoftware.pdf'>use of open</a>-<a href='http://www.tekno.dk/pdf/projekter/p03_opensource_paper_english.pdf'>source software</a>. But no one has come out and <a href='https://twitter.com/#!/victorzapanta/status/189390759181557760'>plainly stated that they were an &#8220;open-source agency&#8221;</a>, that open source is the new default, and that absent an affirmative step by some nay-sayer, that the public will have access to their code.That&#8217;s huge. It&#8217;s flipping the burden, and it&#8217;s the way things should be from the start.</p>\n\n<p><strong>But Where&#8217;s the Beef?</strong></p>\n\n<p>That said, there&#8217;s one thing the source code policy is noticeably silent on: <em>the ecosystem</em>. Posting code is great and it&#8217;s great that they&#8217;ve done the legal legwork so other agencies can follow suit, but that&#8217;s just the 1.0. The true power of open source comes not from simply publishing code, but from being a member of a broader coding community. Can a CFPB employee contribute a patch to an existing open source project on CFPB time? <sup id='fnref:1'><a href='#fn:1' rel='footnote'>1</a></sup> What about contributing to a CFPB project once he or she&#8217;s left? What happens to my rights when I fork a <a href='http://github.com/cfpb'>CFPB project on GitHub</a> and send the agency a pull request? <sup id='fnref:2'><a href='#fn:2' rel='footnote'>2</a></sup> Can the agency even accept my code legally? <sup id='fnref:3'><a href='#fn:3' rel='footnote'>3</a></sup> There&#8217;s a lot of legal ambiguity there, and it&#8217;s just the kind of legal ambiguity a well-intentioned government attorney can seize upon to gum up the very gears that are driving this incredible move.</p>\n\n<p>We&#8217;ve seen the same progression in the open data world. The 1.0 is posting 10 XML files at a gigabyte each — an arms-length relationship with developers — arguably open data simply for open data&#8217;s sake. The secret sauce lies in the relationship, in publishing APIs and web services rather than static data, to build an ecosystem around the agency&#8217;s work.</p>\n\n<p><strong>An Innovation Ecosystem</strong></p>\n\n<p>Imagine if government agencies served as the catalyst for a <a href='http://ben.balter.com/2012/03/05/wordpress-for-government-and-enterprise/#p[NssBlW]'>joint public-private effort to drive tomorrow&#8217;s innovation</a>. We saw this during the space race, and see it today in terms of government-funded research, but by-and-large, open-source coders have yet to be included. Sure we&#8217;ve seen the &#8220;let&#8217;s have some open-source developers build this for us for free&#8221; type challenges, but that&#8217;s about it. There&#8217;s no ecosystem, no community, no push-pull or give-and-take, and I&#8217;m worried that as CFPB&#8217;s efforts federate across government, this nuance may not federate along with it.</p>\n\n<p>The agency&#8217;s already got <a href='https://github.com/cfpb/transit_subsidy/pull/1'>it&#8217;s first public-generated code contribution</a>, and can expect at least one more on <a href='https://gist.github.com/2343578'>their gist of the policy</a> (Ed. note: does CFPB not <em>own</em> a Blue Book?!), but the possibility of such a relationship with the citizenry doesn&#8217;t seem contemplated by the policy, let alone included as integrally as it should.</p>\n\n<p>I&#8217;d love to see the next iteration of the policy have a third section, &#8220;III. Membership in the Open-Source Community&#8221; on not just publishing code they&#8217;ve developed in house — don&#8217;t get me wrong, that&#8217;s huge — but actually <em>contributing</em>meaningful code to the broader ecosystem, and working directly with the open-source community to foster an active partnership that delivers the best citizen services possible. It&#8217;s a dialog, not a code dump. There needs to be a conversation there.</p>\n\n<p><strong>Procure, Publish, Participate.</strong></p>\n\n<p>It&#8217;s the realization that when you use open-source software, you&#8217;re not a customer. You&#8217;re a member of a community. You&#8217;re invited to a pot-luck dinner. There&#8217;s not the same sense of entitlement you have with proprietary software. It&#8217;s not that they owe you a given feature. There&#8217;s no financial transaction there. It&#8217;s that that feature hasn&#8217;t been developed yet, but can be, the same way every other feature has evolved, through community contributions. There&#8217;s an entirely different philosophy driving the relationship.</p>\n\n<p>For open source in government to work, it&#8217;s got to move beyond procuring community contributed open-source projects on the one hand, and releasing open-source code developed in house distinctly on the other. It&#8217;s about feeling a sense of belonging. It&#8217;s about the agency taking on a sense of ownership in the broader project. It&#8217;s about participation. <sup id='fnref:4'><a href='#fn:4' rel='footnote'>4</a></sup></p>\n\n<p>I think CFPB gets it in a big way, and the fact that this is memorialized in writing is a major step in the right direction. They&#8217;ve got the basic mechanics down — procure open–source projects, publish open-source code — but the missing secret sauce that would really drive the policy home? Participate in the open-source community as a matter of policy.</p>\n\n<p>+1 CFPB, +1. <em>Welcome to the community.</em></p>\n<div class='footnotes'><hr /><ol><li id='fn:1'>\n<p>In simple terms, the core of open-source projects (as distinct from community-contributed plugins or modules) are primarily fueled by &#8220;patches&#8221; (small code change sets) in response to bugs or feature requests, that get committed to the project&#8217;s codebase and released in subsequent versions. <span>24</span></p>\n<a href='#fnref:1' rev='footnote'>&#8617;</a></li><li id='fn:2'>\n<p>If the project is licensed as government work, are my code contributions now government work? Are the government employee lines of code under a broader license, while mine are under a more restrictive license like GPL or apache? <span>25</span></p>\n<a href='#fnref:2' rev='footnote'>&#8617;</a></li><li id='fn:3'>\n<p>Is this considered a donation for Federal ethics purposes thus requiring disclosure? <span>26</span></p>\n<a href='#fnref:3' rev='footnote'>&#8617;</a></li><li id='fn:4'>\n<p>This can manifest itself in lots of different ways, but most tangibly: going to local meetups and conferences (or hosting them); contributing to the project&#8217;s core by introducing new features, documentation, or posting to support forums; abstracting business logic from the start to be more broadly applicable to other developers; outreach and evangelism; and fostering relationships with key stakeholders within the community <span>27</span></p>\n<a href='#fnref:4' rev='footnote'>&#8617;</a></li></ol></div>"}
View
2 ...15/cfpb-accepts-first-citizen-submitted-pull-request-on-behalf-of-federal-government.json
@@ -1 +1 @@
-{"author":"Benjamin J. Balter","title":"CFPB Accepts First Citizen-Submitted Code on Behalf of Federal Government\n","excerpt":null,"layout":"post","category":["Technology"],"tags":[".govs","cfpb","code","federal","git","github","gov 2.0","government","open government","open source"],"post_format":[],"url":"/2012/04/15/cfpb-accepts-first-citizen-submitted-pull-request-on-behalf-of-federal-government/","date":"2012-04-15 00:00:00 -0400","id":"/2012/04/15/cfpb-accepts-first-citizen-submitted-pull-request-on-behalf-of-federal-government","categories":["posts"],"next":"[![](http://ben.balter.com/wp-content/uploads/2012/04/hacks-hackers-10k.png){.aligncenter}][1]\n\n[Hacks/Hackers][2] — the international grassroots journalism organization dedicated to creating a network of journalists and technologists to rethink the future of news and information — [welcomed its 10,000th member][3] today. Just two and half years after our start as a Meetup group in the Bay Area, we're now in [seven countries, across 26 cities, and have regular events on four continents][4].\n\n> People have found jobs, co-founders for startups, acquirers for their company, learned new skills, hacked out projects, shown off their work and so much more at Hacks/Hackers events [...and w]ith 10,000 members, we're only getting started.\n\n\n\n*Want to get involved? [Find a chapter near you][5], or if none exist, grab some friends and[ start your own][6].*\n\n[View the story \"Hacks/Hackers reaches 10k members: Tell us your story\" on Storify][7]\n\n [q]: http://ben.balter.com/wp-content/uploads/2012/04/hacks-hackers-10k.png\n [2]: http://hackshackers.com/\n [3]: http://hackshackers.com/blog/2012/04/19/hackshackers-passes-10k-members-worldwide/\n [4]: http://hackshackers.meetup.com/\n [5]: http://hackshackers.com/chapters/\n [6]: http://hackshackers.com/chapters/meetups/\n [7]: http://storify.com/burtherman/hacks-hackers-reaches-10k-members-tell-us-your-sto.html","previous":"<p><img alt='CFPB Logo' class='alignright' src='http://www.treasury.gov/press-center/news/PublishingImages/CFPB.jpg' /></p>\n\n<p>Most often, when we talk about open source in government, it&#8217;s talked about in one of two ways: either it&#8217;s <a href='http://ben.balter.com/2011/11/29/towards-a-more-agile-government/'>the pitfalls of the federal IT procurement model</a> that can&#8217;t seem to comprehend a world in which open-source is an option, much less potentially a superior choice (<a href='http://radar.oreilly.com/2011/09/open-source-government-it-goscon.html'>&#8220;acquisition as a roadblock</a>&#8221;), or it&#8217;s reiterating the same open-source talking points that haven&#8217;t seemed to give open source much parity with the wall of organizational inertia proprietary software seems to have gained over the years (&#8221;<a href='http://benbalter.github.com/open-source-alternatives/'>open source as an alternative</a>&#8221;).</p>\n\n<p>The <a href='http://cfpb.gov'>Consumer Financial Protection Bureau</a> (CFPB), however, is in a unique position. As the newest kid on the block, it&#8217;s one of the few government agencies to have been born in a digital era, and more importantly, without the bureaucratic baggage that all too often stymies innovation. They have a chance to &#8220;do it right&#8221; from the start… and they&#8217;re doing just that.</p>\n\n<p><strong>An Agency Born of the Internet Generation</strong></p>\n\n<p>Yesterday, CFPB <a href='http://www.consumerfinance.gov/developers/sourcecodepolicy/'>announced a bureau-wide preference for open source</a> in its shiny new <a href='http://www.consumerfinance.gov/developers/sourcecodepolicy/'>Source Code Policy</a>, by my <a href='http://www.google.com/search?sugexp=chrome,mod=4&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=source+code+policy+site%3A.gov'>crude research</a>, a first for any government agency. There are two watershed shifts here: first, that the agency not only should, but <em>must</em> evaluate open source software on equal footing to its proprietary counterparts, a comparison which I believe will <a href='http://www.amazon.com/The-Wealth-Networks-Production-ebook/dp/B0015GWX0S'>increasingly fall in open source&#8217;s favor</a>, and second, that unless there&#8217;s an overriding security or similar concern <em>not to</em>, public code must be public. There&#8217;s nothing new here. All it says is that we should use the best software for the job (a no-brainier), and that that software, the public&#8217;s property, should belong to the public.</p>\n\n<p>So why is this news? Plenty of government entities have <a href='http://www.fcc.gov/blog/contributing-code-back-fcc-govs-open-source-feedback-loop'>released</a> <a href='http://www.whitehouse.gov/blog/2011/02/11/whitehousegov-releases-second-set-open-source-code'>source</a> <a href='http://open.nasa.gov'>code</a>, or <a href='https://update.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit'>encouraged the</a><a href='http://www.finance.gov.au/e-government/infrastructure/docs/AGuidetoOpenSourceSoftware.pdf'>use of open</a>-<a href='http://www.tekno.dk/pdf/projekter/p03_opensource_paper_english.pdf'>source software</a>. But no one has come out and <a href='https://twitter.com/#!/victorzapanta/status/189390759181557760'>plainly stated that they were an &#8220;open-source agency&#8221;</a>, that open source is the new default, and that absent an affirmative step by some nay-sayer, that the public will have access to their code.That&#8217;s huge. It&#8217;s flipping the burden, and it&#8217;s the way things should be from the start.</p>\n\n<p><strong>But Where&#8217;s the Beef?</strong></p>\n\n<p>That said, there&#8217;s one thing the source code policy is noticeably silent on: <em>the ecosystem</em>. Posting code is great and it&#8217;s great that they&#8217;ve done the legal legwork so other agencies can follow suit, but that&#8217;s just the 1.0. The true power of open source comes not from simply publishing code, but from being a member of a broader coding community. Can a CFPB employee contribute a patch to an existing open source project on CFPB time? <sup id='fnref:1'><a href='#fn:1' rel='footnote'>1</a></sup> What about contributing to a CFPB project once he or she&#8217;s left? What happens to my rights when I fork a <a href='http://github.com/cfpb'>CFPB project on GitHub</a> and send the agency a pull request? <sup id='fnref:2'><a href='#fn:2' rel='footnote'>2</a></sup> Can the agency even accept my code legally? <sup id='fnref:3'><a href='#fn:3' rel='footnote'>3</a></sup> There&#8217;s a lot of legal ambiguity there, and it&#8217;s just the kind of legal ambiguity a well-intentioned government attorney can seize upon to gum up the very gears that are driving this incredible move.</p>\n\n<p>We&#8217;ve seen the same progression in the open data world. The 1.0 is posting 10 XML files at a gigabyte each — an arms-length relationship with developers — arguably open data simply for open data&#8217;s sake. The secret sauce lies in the relationship, in publishing APIs and web services rather than static data, to build an ecosystem around the agency&#8217;s work.</p>\n\n<p><strong>An Innovation Ecosystem</strong></p>\n\n<p>Imagine if government agencies served as the catalyst for a <a href='http://ben.balter.com/2012/03/05/wordpress-for-government-and-enterprise/#p[NssBlW]'>joint public-private effort to drive tomorrow&#8217;s innovation</a>. We saw this during the space race, and see it today in terms of government-funded research, but by-and-large, open-source coders have yet to be included. Sure we&#8217;ve seen the &#8220;let&#8217;s have some open-source developers build this for us for free&#8221; type challenges, but that&#8217;s about it. There&#8217;s no ecosystem, no community, no push-pull or give-and-take, and I&#8217;m worried that as CFPB&#8217;s efforts federate across government, this nuance may not federate along with it.</p>\n\n<p>The agency&#8217;s already got <a href='https://github.com/cfpb/transit_subsidy/pull/1'>it&#8217;s first public-generated code contribution</a>, and can expect at least one more on <a href='https://gist.github.com/2343578'>their gist of the policy</a> (Ed. note: does CFPB not <em>own</em> a Blue Book?!), but the possibility of such a relationship with the citizenry doesn&#8217;t seem contemplated by the policy, let alone included as integrally as it should.</p>\n\n<p>I&#8217;d love to see the next iteration of the policy have a third section, &#8220;III. Membership in the Open-Source Community&#8221; on not just publishing code they&#8217;ve developed in house — don&#8217;t get me wrong, that&#8217;s huge — but actually <em>contributing</em>meaningful code to the broader ecosystem, and working directly with the open-source community to foster an active partnership that delivers the best citizen services possible. It&#8217;s a dialog, not a code dump. There needs to be a conversation there.</p>\n\n<p><strong>Procure, Publish, Participate.</strong></p>\n\n<p>It&#8217;s the realization that when you use open-source software, you&#8217;re not a customer. You&#8217;re a member of a community. You&#8217;re invited to a pot-luck dinner. There&#8217;s not the same sense of entitlement you have with proprietary software. It&#8217;s not that they owe you a given feature. There&#8217;s no financial transaction there. It&#8217;s that that feature hasn&#8217;t been developed yet, but can be, the same way every other feature has evolved, through community contributions. There&#8217;s an entirely different philosophy driving the relationship.</p>\n\n<p>For open source in government to work, it&#8217;s got to move beyond procuring community contributed open-source projects on the one hand, and releasing open-source code developed in house distinctly on the other. It&#8217;s about feeling a sense of belonging. It&#8217;s about the agency taking on a sense of ownership in the broader project. It&#8217;s about participation. <sup id='fnref:4'><a href='#fn:4' rel='footnote'>4</a></sup></p>\n\n<p>I think CFPB gets it in a big way, and the fact that this is memorialized in writing is a major step in the right direction. They&#8217;ve got the basic mechanics down — procure open–source projects, publish open-source code — but the missing secret sauce that would really drive the policy home? Participate in the open-source community as a matter of policy.</p>\n\n<p>+1 CFPB, +1. <em>Welcome to the community.</em></p>\n\n<p>Notes:</p>\n<div class='footnotes'><hr /><ol><li id='fn:1'>\n<p>In simple terms, the core of open-source projects (as distinct from community-contributed plugins or modules) are primarily fueled by &#8220;patches&#8221; (small code change sets) in response to bugs or feature requests, that get committed to the project&#8217;s codebase and released in subsequent versions. <span>24</span></p>\n<a href='#fnref:1' rev='footnote'>&#8617;</a></li><li id='fn:2'>\n<p>If the project is licensed as government work, are my code contributions now government work? Are the government employee lines of code under a broader license, while mine are under a more restrictive license like GPL or apache? <span>25</span></p>\n<a href='#fnref:2' rev='footnote'>&#8617;</a></li><li id='fn:3'>\n<p>Is this considered a donation for Federal ethics purposes thus requiring disclosure? <span>26</span></p>\n<a href='#fnref:3' rev='footnote'>&#8617;</a></li><li id='fn:4'>\n<p>This can manifest itself in lots of different ways, but most tangibly: going to local meetups and conferences (or hosting them); contributing to the project&#8217;s core by introducing new features, documentation, or posting to support forums; abstracting business logic from the start to be more broadly applicable to other developers; outreach and evangelism; and fostering relationships with key stakeholders within the community <span>27</span></p>\n<a href='#fnref:4' rev='footnote'>&#8617;</a></li></ol></div>","content":"<p>&#8220;Fix typo.&#8221; Not quite &#8220;one small step for man,&#8221; but a significant first nonetheless. These simple words, typed by an open-source developer operating under the pseudonym &#8220;iceeey,&#8221; may represent the first collaborative effort between the federal government and the broader open-source community, and surely represents a tangible win for the open-government movement as a whole.</p>\n\n<p>The Consumer Financial Protection Bureau (CFPB) is in a unique position. As the youngest federal agency, they have the opportunity to reimagine many day-to-day business processes for an internet era, and to share that innovation across government. One such process is the means by which federal employees apply for and receive subsidies to offset the cost of public transportation to and from work. Having created an application that alleviated the need to shuttle time-consuming, paper-based forms from building to building within their own agency, the Bureau sought to package up the solution, and publicly release the source code for other federal agencies to use and expand upon. The logic was simple: solve the problem once, solve it everywhere.</p>\n\n<p>But the code was not simply made available for government employees to access. The code was placed on <a href='http://github.com/'>GitHub</a> – a popular source code sharing service – for anyone to download and explore, and within days of CFPB publishing its <a href='http://www.consumerfinance.gov/blog/the-cfpbs-source-code-policy-open-and-shared/'>recently announced Source Code Policy</a>, someone did just that.GitHub user &#8220;iceeey&#8221; <a href='https://github.com/cfpb/transit_subsidy/pull/1'>submitted a proposed change</a> – known in developer parlance as &#8220;forking the project&#8221; and submitting a &#8220;pull request&#8221; — correcting a misspelling on the form initially presented to new employees (&#8220;roundtrip&#8221; was accidentally spelled &#8220;rountrip&#8221;).</p>\n\n<p>Admittedly a minor change (&#8220;one small step for grammar?&#8221;), but notable for the underlying first that it represents: the opportunity to create efficiencies across government by partnering with the broader community of civically engaged developers.</p>\n\n<p>Open-source software (software for which the underlying source code is made publicly available) as a vehicle for a more open and more efficient government is nothing new. Behind the scenes, countless agencies rely on open-source software for various business functions, and many have even chosen to publicly publish the source code underlying the applications that they themselves have built in-house to tackle unique challenges. But this seemingly innocuous missing &#8220;d&#8221; and its subsequently submitted fix represents the first time a federal agency has directly collaborated with open-source developers to better its own day-to-day tools.</p>\n\n<p>Iceeey has <a href='https://github.com/cfpb/transit_subsidy/pull/2'>already submitted his second pull request</a> (&#8220;more typos&#8221; he joked with an emoticon smiley), and I hope more agencies and more open-source developers will follow suit. Such collaborations empower agencies to do more with less; put better, more robust tools in the hands of federal employees as they carry out agency mission; and undoubtedly represent a giant-leap forward for a more open and more efficient government.</p>"}
+{"author":"Benjamin J. Balter","title":"CFPB Accepts First Citizen-Submitted Code on Behalf of Federal Government\n","excerpt":null,"layout":"post","category":["Technology"],"tags":[".govs","cfpb","code","federal","git","github","gov 2.0","government","open government","open source"],"post_format":[],"url":"/2012/04/15/cfpb-accepts-first-citizen-submitted-pull-request-on-behalf-of-federal-government/","date":"2012-04-15 00:00:00 -0400","id":"/2012/04/15/cfpb-accepts-first-citizen-submitted-pull-request-on-behalf-of-federal-government","categories":["posts"],"next":"[![](http://ben.balter.com/wp-content/uploads/2012/04/hacks-hackers-10k.png){.aligncenter}][1]\n\n[Hacks/Hackers][2] — the international grassroots journalism organization dedicated to creating a network of journalists and technologists to rethink the future of news and information — [welcomed its 10,000th member][3] today. Just two and half years after our start as a Meetup group in the Bay Area, we're now in [seven countries, across 26 cities, and have regular events on four continents][4].\n\n> People have found jobs, co-founders for startups, acquirers for their company, learned new skills, hacked out projects, shown off their work and so much more at Hacks/Hackers events [...and w]ith 10,000 members, we're only getting started.\n\n\n\n*Want to get involved? [Find a chapter near you][5], or if none exist, grab some friends and[ start your own][6].*\n\n[View the story \"Hacks/Hackers reaches 10k members: Tell us your story\" on Storify][7]\n\n [q]: http://ben.balter.com/wp-content/uploads/2012/04/hacks-hackers-10k.png\n [2]: http://hackshackers.com/\n [3]: http://hackshackers.com/blog/2012/04/19/hackshackers-passes-10k-members-worldwide/\n [4]: http://hackshackers.meetup.com/\n [5]: http://hackshackers.com/chapters/\n [6]: http://hackshackers.com/chapters/meetups/\n [7]: http://storify.com/burtherman/hacks-hackers-reaches-10k-members-tell-us-your-sto.html","previous":"<p><img alt='CFPB Logo' class='alignright' src='http://www.treasury.gov/press-center/news/PublishingImages/CFPB.jpg' /></p>\n\n<p>Most often, when we talk about open source in government, it&#8217;s talked about in one of two ways: either it&#8217;s <a href='http://ben.balter.com/2011/11/29/towards-a-more-agile-government/'>the pitfalls of the federal IT procurement model</a> that can&#8217;t seem to comprehend a world in which open-source is an option, much less potentially a superior choice (<a href='http://radar.oreilly.com/2011/09/open-source-government-it-goscon.html'>&#8220;acquisition as a roadblock</a>&#8221;), or it&#8217;s reiterating the same open-source talking points that haven&#8217;t seemed to give open source much parity with the wall of organizational inertia proprietary software seems to have gained over the years (&#8221;<a href='http://benbalter.github.com/open-source-alternatives/'>open source as an alternative</a>&#8221;).</p>\n\n<p>The <a href='http://cfpb.gov'>Consumer Financial Protection Bureau</a> (CFPB), however, is in a unique position. As the newest kid on the block, it&#8217;s one of the few government agencies to have been born in a digital era, and more importantly, without the bureaucratic baggage that all too often stymies innovation. They have a chance to &#8220;do it right&#8221; from the start… and they&#8217;re doing just that.</p>\n\n<p><strong>An Agency Born of the Internet Generation</strong></p>\n\n<p>Yesterday, CFPB <a href='http://www.consumerfinance.gov/developers/sourcecodepolicy/'>announced a bureau-wide preference for open source</a> in its shiny new <a href='http://www.consumerfinance.gov/developers/sourcecodepolicy/'>Source Code Policy</a>, by my <a href='http://www.google.com/search?sugexp=chrome,mod=4&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=source+code+policy+site%3A.gov'>crude research</a>, a first for any government agency. There are two watershed shifts here: first, that the agency not only should, but <em>must</em> evaluate open source software on equal footing to its proprietary counterparts, a comparison which I believe will <a href='http://www.amazon.com/The-Wealth-Networks-Production-ebook/dp/B0015GWX0S'>increasingly fall in open source&#8217;s favor</a>, and second, that unless there&#8217;s an overriding security or similar concern <em>not to</em>, public code must be public. There&#8217;s nothing new here. All it says is that we should use the best software for the job (a no-brainier), and that that software, the public&#8217;s property, should belong to the public.</p>\n\n<p>So why is this news? Plenty of government entities have <a href='http://www.fcc.gov/blog/contributing-code-back-fcc-govs-open-source-feedback-loop'>released</a> <a href='http://www.whitehouse.gov/blog/2011/02/11/whitehousegov-releases-second-set-open-source-code'>source</a> <a href='http://open.nasa.gov'>code</a>, or <a href='https://update.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit'>encouraged the</a><a href='http://www.finance.gov.au/e-government/infrastructure/docs/AGuidetoOpenSourceSoftware.pdf'>use of open</a>-<a href='http://www.tekno.dk/pdf/projekter/p03_opensource_paper_english.pdf'>source software</a>. But no one has come out and <a href='https://twitter.com/#!/victorzapanta/status/189390759181557760'>plainly stated that they were an &#8220;open-source agency&#8221;</a>, that open source is the new default, and that absent an affirmative step by some nay-sayer, that the public will have access to their code.That&#8217;s huge. It&#8217;s flipping the burden, and it&#8217;s the way things should be from the start.</p>\n\n<p><strong>But Where&#8217;s the Beef?</strong></p>\n\n<p>That said, there&#8217;s one thing the source code policy is noticeably silent on: <em>the ecosystem</em>. Posting code is great and it&#8217;s great that they&#8217;ve done the legal legwork so other agencies can follow suit, but that&#8217;s just the 1.0. The true power of open source comes not from simply publishing code, but from being a member of a broader coding community. Can a CFPB employee contribute a patch to an existing open source project on CFPB time? <sup id='fnref:1'><a href='#fn:1' rel='footnote'>1</a></sup> What about contributing to a CFPB project once he or she&#8217;s left? What happens to my rights when I fork a <a href='http://github.com/cfpb'>CFPB project on GitHub</a> and send the agency a pull request? <sup id='fnref:2'><a href='#fn:2' rel='footnote'>2</a></sup> Can the agency even accept my code legally? <sup id='fnref:3'><a href='#fn:3' rel='footnote'>3</a></sup> There&#8217;s a lot of legal ambiguity there, and it&#8217;s just the kind of legal ambiguity a well-intentioned government attorney can seize upon to gum up the very gears that are driving this incredible move.</p>\n\n<p>We&#8217;ve seen the same progression in the open data world. The 1.0 is posting 10 XML files at a gigabyte each — an arms-length relationship with developers — arguably open data simply for open data&#8217;s sake. The secret sauce lies in the relationship, in publishing APIs and web services rather than static data, to build an ecosystem around the agency&#8217;s work.</p>\n\n<p><strong>An Innovation Ecosystem</strong></p>\n\n<p>Imagine if government agencies served as the catalyst for a <a href='http://ben.balter.com/2012/03/05/wordpress-for-government-and-enterprise/#p[NssBlW]'>joint public-private effort to drive tomorrow&#8217;s innovation</a>. We saw this during the space race, and see it today in terms of government-funded research, but by-and-large, open-source coders have yet to be included. Sure we&#8217;ve seen the &#8220;let&#8217;s have some open-source developers build this for us for free&#8221; type challenges, but that&#8217;s about it. There&#8217;s no ecosystem, no community, no push-pull or give-and-take, and I&#8217;m worried that as CFPB&#8217;s efforts federate across government, this nuance may not federate along with it.</p>\n\n<p>The agency&#8217;s already got <a href='https://github.com/cfpb/transit_subsidy/pull/1'>it&#8217;s first public-generated code contribution</a>, and can expect at least one more on <a href='https://gist.github.com/2343578'>their gist of the policy</a> (Ed. note: does CFPB not <em>own</em> a Blue Book?!), but the possibility of such a relationship with the citizenry doesn&#8217;t seem contemplated by the policy, let alone included as integrally as it should.</p>\n\n<p>I&#8217;d love to see the next iteration of the policy have a third section, &#8220;III. Membership in the Open-Source Community&#8221; on not just publishing code they&#8217;ve developed in house — don&#8217;t get me wrong, that&#8217;s huge — but actually <em>contributing</em>meaningful code to the broader ecosystem, and working directly with the open-source community to foster an active partnership that delivers the best citizen services possible. It&#8217;s a dialog, not a code dump. There needs to be a conversation there.</p>\n\n<p><strong>Procure, Publish, Participate.</strong></p>\n\n<p>It&#8217;s the realization that when you use open-source software, you&#8217;re not a customer. You&#8217;re a member of a community. You&#8217;re invited to a pot-luck dinner. There&#8217;s not the same sense of entitlement you have with proprietary software. It&#8217;s not that they owe you a given feature. There&#8217;s no financial transaction there. It&#8217;s that that feature hasn&#8217;t been developed yet, but can be, the same way every other feature has evolved, through community contributions. There&#8217;s an entirely different philosophy driving the relationship.</p>\n\n<p>For open source in government to work, it&#8217;s got to move beyond procuring community contributed open-source projects on the one hand, and releasing open-source code developed in house distinctly on the other. It&#8217;s about feeling a sense of belonging. It&#8217;s about the agency taking on a sense of ownership in the broader project. It&#8217;s about participation. <sup id='fnref:4'><a href='#fn:4' rel='footnote'>4</a></sup></p>\n\n<p>I think CFPB gets it in a big way, and the fact that this is memorialized in writing is a major step in the right direction. They&#8217;ve got the basic mechanics down — procure open–source projects, publish open-source code — but the missing secret sauce that would really drive the policy home? Participate in the open-source community as a matter of policy.</p>\n\n<p>+1 CFPB, +1. <em>Welcome to the community.</em></p>\n<div class='footnotes'><hr /><ol><li id='fn:1'>\n<p>In simple terms, the core of open-source projects (as distinct from community-contributed plugins or modules) are primarily fueled by &#8220;patches&#8221; (small code change sets) in response to bugs or feature requests, that get committed to the project&#8217;s codebase and released in subsequent versions. <span>24</span></p>\n<a href='#fnref:1' rev='footnote'>&#8617;</a></li><li id='fn:2'>\n<p>If the project is licensed as government work, are my code contributions now government work? Are the government employee lines of code under a broader license, while mine are under a more restrictive license like GPL or apache? <span>25</span></p>\n<a href='#fnref:2' rev='footnote'>&#8617;</a></li><li id='fn:3'>\n<p>Is this considered a donation for Federal ethics purposes thus requiring disclosure? <span>26</span></p>\n<a href='#fnref:3' rev='footnote'>&#8617;</a></li><li id='fn:4'>\n<p>This can manifest itself in lots of different ways, but most tangibly: going to local meetups and conferences (or hosting them); contributing to the project&#8217;s core by introducing new features, documentation, or posting to support forums; abstracting business logic from the start to be more broadly applicable to other developers; outreach and evangelism; and fostering relationships with key stakeholders within the community <span>27</span></p>\n<a href='#fnref:4' rev='footnote'>&#8617;</a></li></ol></div>","content":"<p>&#8220;Fix typo.&#8221; Not quite &#8220;one small step for man,&#8221; but a significant first nonetheless. These simple words, typed by an open-source developer operating under the pseudonym &#8220;iceeey,&#8221; may represent the first collaborative effort between the federal government and the broader open-source community, and surely represents a tangible win for the open-government movement as a whole.</p>\n\n<p>The Consumer Financial Protection Bureau (CFPB) is in a unique position. As the youngest federal agency, they have the opportunity to reimagine many day-to-day business processes for an internet era, and to share that innovation across government. One such process is the means by which federal employees apply for and receive subsidies to offset the cost of public transportation to and from work. Having created an application that alleviated the need to shuttle time-consuming, paper-based forms from building to building within their own agency, the Bureau sought to package up the solution, and publicly release the source code for other federal agencies to use and expand upon. The logic was simple: solve the problem once, solve it everywhere.</p>\n\n<p>But the code was not simply made available for government employees to access. The code was placed on <a href='http://github.com/'>GitHub</a> – a popular source code sharing service – for anyone to download and explore, and within days of CFPB publishing its <a href='http://www.consumerfinance.gov/blog/the-cfpbs-source-code-policy-open-and-shared/'>recently announced Source Code Policy</a>, someone did just that.GitHub user &#8220;iceeey&#8221; <a href='https://github.com/cfpb/transit_subsidy/pull/1'>submitted a proposed change</a> – known in developer parlance as &#8220;forking the project&#8221; and submitting a &#8220;pull request&#8221; — correcting a misspelling on the form initially presented to new employees (&#8220;roundtrip&#8221; was accidentally spelled &#8220;rountrip&#8221;).</p>\n\n<p>Admittedly a minor change (&#8220;one small step for grammar?&#8221;), but notable for the underlying first that it represents: the opportunity to create efficiencies across government by partnering with the broader community of civically engaged developers.</p>\n\n<p>Open-source software (software for which the underlying source code is made publicly available) as a vehicle for a more open and more efficient government is nothing new. Behind the scenes, countless agencies rely on open-source software for various business functions, and many have even chosen to publicly publish the source code underlying the applications that they themselves have built in-house to tackle unique challenges. But this seemingly innocuous missing &#8220;d&#8221; and its subsequently submitted fix represents the first time a federal agency has directly collaborated with open-source developers to better its own day-to-day tools.</p>\n\n<p>Iceeey has <a href='https://github.com/cfpb/transit_subsidy/pull/2'>already submitted his second pull request</a> (&#8220;more typos&#8221; he joked with an emoticon smiley), and I hope more agencies and more open-source developers will follow suit. Such collaborations empower agencies to do more with less; put better, more robust tools in the hands of federal employees as they carry out agency mission; and undoubtedly represent a giant-leap forward for a more open and more efficient government.</p>"}
View
2 2012/04/23/enterprise-open-source-usage-is-up-but-challenges-remain.json
@@ -1 +1 @@
-{"author":"Benjamin J. Balter","title":"Enterprise Open Source Usage Is Up, But Challenges Remain\n","excerpt":null,"layout":"post","category":["Technology"],"tags":["contracting","enterprise","open source","policy","procurement"],"post_format":["Link"],"url":"/2012/04/23/enterprise-open-source-usage-is-up-but-challenges-remain/","date":"2012-04-23 00:00:00 -0400","id":"/2012/04/23/enterprise-open-source-usage-is-up-but-challenges-remain","categories":["posts"],"next":"Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. This presentation — given at the May WordPress DC Meetup — showcases some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team's progress with one another, and extend WordPress to work with their existing tools and practices\n\n*Click on the slides below to begin, then press the left/right keyboard arrows to navigate*\n\n\n\n![][1]\n\n\n\n\n\n[View Full Screen][2]\n\n\n\nRecording of the presentation (starts at the 10:00 mark):\n\nhttp://www.ustream.tv/recorded/22454841\n\n## Plugins Mentioned\n\n* [WP Document Revisions][3]\n* [Edit Flow][4]\n* [Members][5]\n* [Advanced Custom Fields][6]\n* [Display Custom Fields][7]\n* [Count Shortcode][8]\n* [Faceted Search Widget][9]\n* [Custom Taxonomy Generator][10]\n\n [1]: http://benbalter.github.com/wordpress-as-a-collaboration-platform/screenshot.png\n [2]: http://benbalter.github.com/wordpress-as-a-collaboration-platform/\n [3]: http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/\n [4]: http://editflow.org\n [5]: http://wordpress.org/extend/plugins/members/\n [6]: http://wordpress.org/extend/plugins/advanced-custom-fields/\n [7]: http://wordpress.org/extend/plugins/wp-display-custom-fields/\n [8]: http://wordpress.org/extend/plugins/count-shortcode/\n [9]: http://wordpress.org/extend/plugins/faceted-search-widget/\n [10]: http://themergency.com/generators/wordpress-custom-taxonomy/","previous":"<p><span><img alt='' class='aligncenter' src='http://ben.balter.com/wp-content/uploads/2012/04/hacks-hackers-10k.png' /></span></p>\n\n<p><a href='http://hackshackers.com/'>Hacks/Hackers</a> — the international grassroots journalism organization dedicated to creating a network of journalists and technologists to rethink the future of news and information — <a href='http://hackshackers.com/blog/2012/04/19/hackshackers-passes-10k-members-worldwide/'>welcomed its 10,000th member</a> today. Just two and half years after our start as a Meetup group in the Bay Area, we&#8217;re now in <a href='http://hackshackers.meetup.com/'>seven countries, across 26 cities, and have regular events on four continents</a>.</p>\n\n<blockquote>\n<p>People have found jobs, co-founders for startups, acquirers for their company, learned new skills, hacked out projects, shown off their work and so much more at Hacks/Hackers events <span>&#8230;and w</span>ith 10,000 members, we&#8217;re only getting started.</p>\n</blockquote>\n\n<p><em>Want to get involved? <a href='http://hackshackers.com/chapters/'>Find a chapter near you</a>, or if none exist, grab some friends and<a href='http://hackshackers.com/chapters/meetups/'>start your own</a>.</em></p>\n\n<p><a href='http://storify.com/burtherman/hacks-hackers-reaches-10k-members-tell-us-your-sto.html'>View the story &#8220;Hacks/Hackers reaches 10k members: Tell us your story&#8221; on Storify</a></p>","content":"<p><a href='http://techcrunch.com/2012/04/22/enterprise-open-source-usage-is-up-but-challenges-remain/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+Techcrunch+(TechCrunch)'>Enterprise Open Source Usage Is Up, But Challenges Remain</a>. 80% of enterprise uses open source; 2/3 contribute code upstream; and 1 in 4 have detrimental open source policy.</p>"}
+{"author":"Benjamin J. Balter","title":"Enterprise Open Source Usage Is Up, But Challenges Remain\n","excerpt":null,"layout":"post","category":["Technology"],"tags":["contracting","enterprise","open source","policy","procurement"],"post_format":["Link"],"url":"/2012/04/23/enterprise-open-source-usage-is-up-but-challenges-remain/","date":"2012-04-23 00:00:00 -0400","id":"/2012/04/23/enterprise-open-source-usage-is-up-but-challenges-remain","categories":["posts"],"next":"Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. This presentation — given at the May WordPress DC Meetup — showcases some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team's progress with one another, and extend WordPress to work with their existing tools and practices\n\n*Click on the slides below to begin, then press the left/right keyboard arrows to navigate*\n\n<img id=\"collab_img\" style=\"width: 100%; max-width: 550px; cursor: pointer;\" src=\"http://ben.balter.com/wordpress-as-a-collaboration-platform/screenshot.png\" alt=\"Slides from WordPress as a Collaboration Platform\" />\n\n<div>\n<iframe id=\"collab_iframe\" style=\"border: 1px solid black; width: 100%; min-height: 450px; display: none;\" src=\"\" scrolling=\"0\" width=\"320\" height=\"240\"> </iframe>\n</div>\n<div>\n<iframe style=\"float: left;\" src=\"http://ghbtns.com/github-btn.html?user=benbalter&amp;repo=wordpress-as-a-collaboration-platform&amp;type=fork\" frameborder=\"0\" scrolling=\"0\" width=\"62px\" height=\"20px\"> </iframe>\n</div>\n\n[View Full Screen][2]\n\nRecording of the presentation (starts at the 10:00 mark):\n\n<iframe width=\"480\" height=\"296\" src=\"http://www.ustream.tv/embed/recorded/22454841?wmode=direct\" scrolling=\"no\" frameborder=\"0\" style=\"border: 0px none transparent;\"> </iframe><br /><a href=\"http://www.ustream.tv/\" style=\"padding: 2px 0px 4px; width: 400px; background: #ffffff; display: block; color: #000000; font-weight: normal; font-size: 10px; text-decoration: underline; text-align: center;\" target=\"_blank\">Video streaming by Ustream</a>\n\n## Plugins Mentioned\n\n* [WP Document Revisions][3]\n* [Edit Flow][4]\n* [Members][5]\n* [Advanced Custom Fields][6]\n* [Display Custom Fields][7]\n* [Count Shortcode][8]\n* [Faceted Search Widget][9]\n* [Custom Taxonomy Generator][10]\n\n [1]: http://ben.balter.com/wordpress-as-a-collaboration-platform/screenshot.png\n [2]: http://ben.balter.com/wordpress-as-a-collaboration-platform/\n [3]: http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/\n [4]: http://editflow.org\n [5]: http://wordpress.org/extend/plugins/members/\n [6]: http://wordpress.org/extend/plugins/advanced-custom-fields/\n [7]: http://wordpress.org/extend/plugins/wp-display-custom-fields/\n [8]: http://wordpress.org/extend/plugins/count-shortcode/\n [9]: http://wordpress.org/extend/plugins/faceted-search-widget/\n [10]: http://themergency.com/generators/wordpress-custom-taxonomy/","previous":"<p><span><img alt='' class='aligncenter' src='http://ben.balter.com/wp-content/uploads/2012/04/hacks-hackers-10k.png' /></span></p>\n\n<p><a href='http://hackshackers.com/'>Hacks/Hackers</a> — the international grassroots journalism organization dedicated to creating a network of journalists and technologists to rethink the future of news and information — <a href='http://hackshackers.com/blog/2012/04/19/hackshackers-passes-10k-members-worldwide/'>welcomed its 10,000th member</a> today. Just two and half years after our start as a Meetup group in the Bay Area, we&#8217;re now in <a href='http://hackshackers.meetup.com/'>seven countries, across 26 cities, and have regular events on four continents</a>.</p>\n\n<blockquote>\n<p>People have found jobs, co-founders for startups, acquirers for their company, learned new skills, hacked out projects, shown off their work and so much more at Hacks/Hackers events <span>&#8230;and w</span>ith 10,000 members, we&#8217;re only getting started.</p>\n</blockquote>\n\n<p><em>Want to get involved? <a href='http://hackshackers.com/chapters/'>Find a chapter near you</a>, or if none exist, grab some friends and<a href='http://hackshackers.com/chapters/meetups/'>start your own</a>.</em></p>\n\n<p><a href='http://storify.com/burtherman/hacks-hackers-reaches-10k-members-tell-us-your-sto.html'>View the story &#8220;Hacks/Hackers reaches 10k members: Tell us your story&#8221; on Storify</a></p>","content":"<p><a href='http://techcrunch.com/2012/04/22/enterprise-open-source-usage-is-up-but-challenges-remain/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+Techcrunch+(TechCrunch)'>Enterprise Open Source Usage Is Up, But Challenges Remain</a>. 80% of enterprise uses open source; 2/3 contribute code upstream; and 1 in 4 have detrimental open source policy.</p>"}
View
2 2012/05/08/wordpress-as-a-collaboration-platform.json
@@ -1 +1 @@
-{"author":"Benjamin J. Balter","title":"WordPress as a Collaboration Platform","excerpt":"Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. Ben Balter will showcase some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team's progress with one another, and extend WordPress to work with their existing tools and practices.","layout":"post","category":["Business","Technology"],"tags":["collaboration","document management","documents","edit flow","enterprise","gsoc","IT","members","open source","plugin","presentation","wiki","wordpress","workflow"],"post_format":[],"url":"/2012/05/08/wordpress-as-a-collaboration-platform/","date":"2012-05-08 00:00:00 -0400","id":"/2012/05/08/wordpress-as-a-collaboration-platform","categories":["posts"],"next":"> \"Sharepoint is a plague upon the American workforce. This ubiquitous piece of collaboration software has taught millions of people that Intranets are destined to be places where you can't find anything[, but it] doesn't have to be this way, despite what Microsoft may have you believe.\"\n\n — Joe Flood on [Freeing Yourself from the Tyranny of Sharepoint][1]\n\n [1]: http://joeflood.com/2012/05/10/free-yourself-from-the-tyranny-of-sharepoint/","previous":"<p><a href='http://techcrunch.com/2012/04/22/enterprise-open-source-usage-is-up-but-challenges-remain/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+Techcrunch+(TechCrunch)'>Enterprise Open Source Usage Is Up, But Challenges Remain</a>. 80% of enterprise uses open source; 2/3 contribute code upstream; and 1 in 4 have detrimental open source policy.</p>","content":"<p>Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. This presentation — given at the May WordPress DC Meetup — showcases some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team&#8217;s progress with one another, and extend WordPress to work with their existing tools and practices</p>\n\n<p><em>Click on the slides below to begin, then press the left/right keyboard arrows to navigate</em></p>\n\n<p><img alt='' src='http://benbalter.github.com/wordpress-as-a-collaboration-platform/screenshot.png' /></p>\n\n<p><a href='http://benbalter.github.com/wordpress-as-a-collaboration-platform/'>View Full Screen</a></p>\n\n<p>Recording of the presentation (starts at the 10:00 mark):</p>\n\n<p>http://www.ustream.tv/recorded/22454841</p>\n\n<h2 id='plugins_mentioned'>Plugins Mentioned</h2>\n\n<ul>\n<li><a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/'>WP Document Revisions</a></li>\n\n<li><a href='http://editflow.org'>Edit Flow</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/members/'>Members</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/advanced-custom-fields/'>Advanced Custom Fields</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/wp-display-custom-fields/'>Display Custom Fields</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/count-shortcode/'>Count Shortcode</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/faceted-search-widget/'>Faceted Search Widget</a></li>\n\n<li><a href='http://themergency.com/generators/wordpress-custom-taxonomy/'>Custom Taxonomy Generator</a></li>\n</ul>"}
+{"author":"Benjamin J. Balter","title":"WordPress as a Collaboration Platform","excerpt":"Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. Ben Balter will showcase some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team's progress with one another, and extend WordPress to work with their existing tools and practices.","layout":"post","category":["Business","Technology"],"tags":["collaboration","document management","documents","edit flow","enterprise","gsoc","IT","members","open source","plugin","presentation","wiki","wordpress","workflow"],"post_format":[],"url":"/2012/05/08/wordpress-as-a-collaboration-platform/","date":"2012-05-08 00:00:00 -0400","id":"/2012/05/08/wordpress-as-a-collaboration-platform","categories":["posts"],"next":"> \"Sharepoint is a plague upon the American workforce. This ubiquitous piece of collaboration software has taught millions of people that Intranets are destined to be places where you can't find anything[, but it] doesn't have to be this way, despite what Microsoft may have you believe.\"\n\n — Joe Flood on [Freeing Yourself from the Tyranny of Sharepoint][1]\n\n [1]: http://joeflood.com/2012/05/10/free-yourself-from-the-tyranny-of-sharepoint/","previous":"<p><a href='http://techcrunch.com/2012/04/22/enterprise-open-source-usage-is-up-but-challenges-remain/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+Techcrunch+(TechCrunch)'>Enterprise Open Source Usage Is Up, But Challenges Remain</a>. 80% of enterprise uses open source; 2/3 contribute code upstream; and 1 in 4 have detrimental open source policy.</p>","content":"<p>Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. This presentation — given at the May WordPress DC Meetup — showcases some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team&#8217;s progress with one another, and extend WordPress to work with their existing tools and practices</p>\n\n<p><em>Click on the slides below to begin, then press the left/right keyboard arrows to navigate</em></p>\n<img alt='Slides from WordPress as a Collaboration Platform' id='collab_img' src='http://ben.balter.com/wordpress-as-a-collaboration-platform/screenshot.png' style='width: 100%; max-width: 550px; cursor: pointer;' /><div>\n<iframe height='240' id='collab_iframe' scrolling='0' src='' style='border: 1px solid black; width: 100%; min-height: 450px; display: none;' width='320'> </iframe>\n</div><div>\n<iframe frameborder='0' height='20px' scrolling='0' src='http://ghbtns.com/github-btn.html?user=benbalter&amp;repo=wordpress-as-a-collaboration-platform&amp;type=fork' style='float: left;' width='62px'> </iframe>\n</div>\n<p><a href='http://ben.balter.com/wordpress-as-a-collaboration-platform/'>View Full Screen</a></p>\n\n<p>Recording of the presentation (starts at the 10:00 mark):</p>\n<iframe frameborder='0' height='296' scrolling='no' src='http://www.ustream.tv/embed/recorded/22454841?wmode=direct' style='border: 0px none transparent;' width='480'> </iframe>\n<h2 id='plugins_mentioned'>Plugins Mentioned</h2>\n\n<ul>\n<li><a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/'>WP Document Revisions</a></li>\n\n<li><a href='http://editflow.org'>Edit Flow</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/members/'>Members</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/advanced-custom-fields/'>Advanced Custom Fields</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/wp-display-custom-fields/'>Display Custom Fields</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/count-shortcode/'>Count Shortcode</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/faceted-search-widget/'>Faceted Search Widget</a></li>\n\n<li><a href='http://themergency.com/generators/wordpress-custom-taxonomy/'>Custom Taxonomy Generator</a></li>\n</ul>"}
View
2 2012/05/10/free-yourself-from-the-tyranny-of-sharepoint.json
@@ -1 +1 @@
-{"author":"Benjamin J. Balter","title":"Free Yourself from the Tyranny of Sharepoint\n","excerpt":null,"layout":"post","category":["Business","Technology"],"tags":["collaboration","document management","enterprise","federal","gov 2.0","government","IT","open source","plugin","presentation","procurement","sharepoint","wordpress","workflow"],"post_format":["Link"],"url":"/2012/05/10/free-yourself-from-the-tyranny-of-sharepoint/","date":"2012-05-10 00:00:00 -0400","id":"/2012/05/10/free-yourself-from-the-tyranny-of-sharepoint","categories":["posts"],"next":"[![][1]{.alignright}][2]Despite increasing public support (as well as a number of executive mandates) publishing public data in a machine-readable format is not as simple as pressing the \"publish\" button. Why? Equally important as exposing the information itself is fostering a vibrant developer ecosystem around it. By making the publishing agency, not the public, responsible for making information immediately useful, government can lower the barriers associated with consuming its data and introduce additional citizen services at little to no cost to the agency.\n\n**1. Garbage in, garbage out.** Good, clean data may be surprisingly difficult to come by, especially when working with government systems that have been coupled together over decades. Data standards and conventions change, mechanisms of data collection evolve, and the data itself may be interpreted differently as new policies are introduced. As a result consistent practices, like naming conventions or data formats, often go overlooked. Where practical, take steps to normalize the data prior to release, rather than pushing the responsibility off to be inefficiently repeated by each application individually.\n\n**2. Eat your own dog food.** When organizations consume the products they create, they empirically deliver better, more reliable, and more innovative products. You'd never seek to buy a car from a dealer that's never driven one, yet we often expect the public to build applications based on APIs (Application Programming Interfaces – how computers talk to one another) published by organizations that have never had to consume their own data. Rather than solving the same problem twice, start by exposing all relevant data through public APIs and then work backward to build internal applications that rely on those externally facing data feeds.\n\n**3. Data as a citizen service. **It is tempting to try and meet open data benchmarks, at least on face, by publishing snapshots of large datasets. Yet multi-gigabyte database exports do little to encourage external development, especially when such data-dumps are delayed and infrequent. Imagine the usefulness of a Facebook feed that showed your friends' activity from last month. Datasets should be directly exposed so that the public has access to live, real-time data, either in its entirety, or through proper access controls. This not only allows agencies to deliver more useful information, but also reduces the need to store the same data in multiple formats and in multiple locations.\n\n**4. Curate discrete pieces of data. **APIs are most useful when they do the heavy lifting for those consuming them, especially in terms of sifting through large amounts of data. In practical terms that means returning data to the most discrete level possible, be it a single row, rather than merely returning a subset of the dataset, or even returning a single cell. Seemingly obvious but often overlooked, a query for the broadband speeds at a given address, for example, should return only the data relating to that address, not the entire city or even state-wide dataset. By allowing developers to query the data directly that means they will need less development time on their end, and thus a higher likelihood that an application will be built.\n\n**5. Serve data in multiple formats. **When providing a service, whether you are a waiter or a CIO, \"the customer is always right.\" In the context of APIs, that means you need to return the information in the developers' native tongue, not the server's. For some languages, heavyweight methods like XML may make sense, for others, especially mobile applications, JSON or JSONP may be preferred. Be prepared to return data in multiple formats, even as those formats continue to evolve.\n\n**6. Minimize the handshake learning curve**. Authentication may often be necessary, but the pain associated with it does not have to. Ensure that developers can easily register API keys, with minimal effort and without delay, and rely on common authentication frameworks (e.g., OAuth 2.0) to minimize the learning curve. Similarly, whenever practical, provide common API wrappers and other software development kits in multiple languages.\n\n**7. Encourage adoption through documentation.** Often, the most overlooked aspect of exposing data is documentation. Describe the structure of the data fully, including how to interpret it, and ensure that any technical documentation such as lists of methods and sample code is both complete and accurate. The only thing worse than not having documentation is having wrong documentation. The best APIs even provide Wikis to allow developers to share tools and best practices with one another.\n\n**8. Follow industry standards and convention**. Although APIs may just be beginning to take foothold in government, a set of best practices have quietly evolved in the private sector over the past several years. What may seem like small, technicalities, such as a truly RESTful API or using proper HTTP methods like GET, POST, PUT, and DELETE, for example, can mean the difference between useful and useless.\n\n**9. Bake in Analytics**. When it comes to garnering support for future efforts, nothing can be more powerful than raw numbers. From the ground up, bake in analytics on both the application level (what applications are querying the API?), and across APIs on the dataset levels (what APIs are being used?). This will help establish data-driven priorities, such as what type of data may be a good candidate for future APIs.\n\n**10. Location, location, location. **With the \"consumerization\" of mobile, datasets are increasingly becoming location based. It's not what datasets are out there, but rather, what datasets are out there about my immediate world. Likewise, government datasets are increasingly about where, just as much as it is about what. It's important that this reality be taken into account when building APIs by incorporating geospatial lookups within the API, such a relying on MongoDB or other location-aware data structures.\n\nExposing data as a service is quickly becoming an industry-standard practice. Many popular startups owe their success to the vibrant app communities that surround them, grown simply by lifting some of the burden off of developers' shoulders. Government agencies may not yet be able to publish data with the mere click of a button, but when done right from the start, exposing additional data sources may be a more trivial task than many expect, and will in turn deliver value to citizens in ways today unimagined by agencies.\n\n*This is an excerpt of an article originally published in the June 2012 issue of [Government CIO Magazine][2].* **[Continue Reading →][3]**\n\n [1]: http://ben.balter.com/wp-content/uploads/2012/06/government-cio-magazine-june-2012.png\n [2]: http://www.governmentciomagazine.com\n [3]: http://www.governmentciomagazine.com/2012/06/ten-steps-publishing-government-data-developers-will-actually-use#blog-content","previous":"<p>Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. This presentation — given at the May WordPress DC Meetup — showcases some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team&#8217;s progress with one another, and extend WordPress to work with their existing tools and practices</p>\n\n<p><em>Click on the slides below to begin, then press the left/right keyboard arrows to navigate</em></p>\n\n<p><img alt='' src='http://benbalter.github.com/wordpress-as-a-collaboration-platform/screenshot.png' /></p>\n\n<p><a href='http://benbalter.github.com/wordpress-as-a-collaboration-platform/'>View Full Screen</a></p>\n\n<p>Recording of the presentation (starts at the 10:00 mark):</p>\n\n<p>http://www.ustream.tv/recorded/22454841</p>\n\n<h2 id='plugins_mentioned'>Plugins Mentioned</h2>\n\n<ul>\n<li><a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/'>WP Document Revisions</a></li>\n\n<li><a href='http://editflow.org'>Edit Flow</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/members/'>Members</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/advanced-custom-fields/'>Advanced Custom Fields</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/wp-display-custom-fields/'>Display Custom Fields</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/count-shortcode/'>Count Shortcode</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/faceted-search-widget/'>Faceted Search Widget</a></li>\n\n<li><a href='http://themergency.com/generators/wordpress-custom-taxonomy/'>Custom Taxonomy Generator</a></li>\n</ul>","content":"<blockquote>\n<p>&#8220;Sharepoint is a plague upon the American workforce. This ubiquitous piece of collaboration software has taught millions of people that Intranets are destined to be places where you can&#8217;t find anything<span>, but it</span> doesn&#8217;t have to be this way, despite what Microsoft may have you believe.&#8221;</p>\n</blockquote>\n\n<p>— Joe Flood on <a href='http://joeflood.com/2012/05/10/free-yourself-from-the-tyranny-of-sharepoint/'>Freeing Yourself from the Tyranny of Sharepoint</a></p>"}
+{"author":"Benjamin J. Balter","title":"Free Yourself from the Tyranny of Sharepoint\n","excerpt":null,"layout":"post","category":["Business","Technology"],"tags":["collaboration","document management","enterprise","federal","gov 2.0","government","IT","open source","plugin","presentation","procurement","sharepoint","wordpress","workflow"],"post_format":["Link"],"url":"/2012/05/10/free-yourself-from-the-tyranny-of-sharepoint/","date":"2012-05-10 00:00:00 -0400","id":"/2012/05/10/free-yourself-from-the-tyranny-of-sharepoint","categories":["posts"],"next":"[![][1]{.alignright}][2]Despite increasing public support (as well as a number of executive mandates) publishing public data in a machine-readable format is not as simple as pressing the \"publish\" button. Why? Equally important as exposing the information itself is fostering a vibrant developer ecosystem around it. By making the publishing agency, not the public, responsible for making information immediately useful, government can lower the barriers associated with consuming its data and introduce additional citizen services at little to no cost to the agency.\n\n**1. Garbage in, garbage out.** Good, clean data may be surprisingly difficult to come by, especially when working with government systems that have been coupled together over decades. Data standards and conventions change, mechanisms of data collection evolve, and the data itself may be interpreted differently as new policies are introduced. As a result consistent practices, like naming conventions or data formats, often go overlooked. Where practical, take steps to normalize the data prior to release, rather than pushing the responsibility off to be inefficiently repeated by each application individually.\n\n**2. Eat your own dog food.** When organizations consume the products they create, they empirically deliver better, more reliable, and more innovative products. You'd never seek to buy a car from a dealer that's never driven one, yet we often expect the public to build applications based on APIs (Application Programming Interfaces – how computers talk to one another) published by organizations that have never had to consume their own data. Rather than solving the same problem twice, start by exposing all relevant data through public APIs and then work backward to build internal applications that rely on those externally facing data feeds.\n\n**3. Data as a citizen service. **It is tempting to try and meet open data benchmarks, at least on face, by publishing snapshots of large datasets. Yet multi-gigabyte database exports do little to encourage external development, especially when such data-dumps are delayed and infrequent. Imagine the usefulness of a Facebook feed that showed your friends' activity from last month. Datasets should be directly exposed so that the public has access to live, real-time data, either in its entirety, or through proper access controls. This not only allows agencies to deliver more useful information, but also reduces the need to store the same data in multiple formats and in multiple locations.\n\n**4. Curate discrete pieces of data. **APIs are most useful when they do the heavy lifting for those consuming them, especially in terms of sifting through large amounts of data. In practical terms that means returning data to the most discrete level possible, be it a single row, rather than merely returning a subset of the dataset, or even returning a single cell. Seemingly obvious but often overlooked, a query for the broadband speeds at a given address, for example, should return only the data relating to that address, not the entire city or even state-wide dataset. By allowing developers to query the data directly that means they will need less development time on their end, and thus a higher likelihood that an application will be built.\n\n**5. Serve data in multiple formats. **When providing a service, whether you are a waiter or a CIO, \"the customer is always right.\" In the context of APIs, that means you need to return the information in the developers' native tongue, not the server's. For some languages, heavyweight methods like XML may make sense, for others, especially mobile applications, JSON or JSONP may be preferred. Be prepared to return data in multiple formats, even as those formats continue to evolve.\n\n**6. Minimize the handshake learning curve**. Authentication may often be necessary, but the pain associated with it does not have to. Ensure that developers can easily register API keys, with minimal effort and without delay, and rely on common authentication frameworks (e.g., OAuth 2.0) to minimize the learning curve. Similarly, whenever practical, provide common API wrappers and other software development kits in multiple languages.\n\n**7. Encourage adoption through documentation.** Often, the most overlooked aspect of exposing data is documentation. Describe the structure of the data fully, including how to interpret it, and ensure that any technical documentation such as lists of methods and sample code is both complete and accurate. The only thing worse than not having documentation is having wrong documentation. The best APIs even provide Wikis to allow developers to share tools and best practices with one another.\n\n**8. Follow industry standards and convention**. Although APIs may just be beginning to take foothold in government, a set of best practices have quietly evolved in the private sector over the past several years. What may seem like small, technicalities, such as a truly RESTful API or using proper HTTP methods like GET, POST, PUT, and DELETE, for example, can mean the difference between useful and useless.\n\n**9. Bake in Analytics**. When it comes to garnering support for future efforts, nothing can be more powerful than raw numbers. From the ground up, bake in analytics on both the application level (what applications are querying the API?), and across APIs on the dataset levels (what APIs are being used?). This will help establish data-driven priorities, such as what type of data may be a good candidate for future APIs.\n\n**10. Location, location, location. **With the \"consumerization\" of mobile, datasets are increasingly becoming location based. It's not what datasets are out there, but rather, what datasets are out there about my immediate world. Likewise, government datasets are increasingly about where, just as much as it is about what. It's important that this reality be taken into account when building APIs by incorporating geospatial lookups within the API, such a relying on MongoDB or other location-aware data structures.\n\nExposing data as a service is quickly becoming an industry-standard practice. Many popular startups owe their success to the vibrant app communities that surround them, grown simply by lifting some of the burden off of developers' shoulders. Government agencies may not yet be able to publish data with the mere click of a button, but when done right from the start, exposing additional data sources may be a more trivial task than many expect, and will in turn deliver value to citizens in ways today unimagined by agencies.\n\n*This is an excerpt of an article originally published in the June 2012 issue of [Government CIO Magazine][2].* **[Continue Reading →][3]**\n\n [1]: http://ben.balter.com/wp-content/uploads/2012/06/government-cio-magazine-june-2012.png\n [2]: http://www.governmentciomagazine.com\n [3]: http://www.governmentciomagazine.com/2012/06/ten-steps-publishing-government-data-developers-will-actually-use#blog-content","previous":"<p>Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. This presentation — given at the May WordPress DC Meetup — showcases some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team&#8217;s progress with one another, and extend WordPress to work with their existing tools and practices</p>\n\n<p><em>Click on the slides below to begin, then press the left/right keyboard arrows to navigate</em></p>\n<img alt='Slides from WordPress as a Collaboration Platform' id='collab_img' src='http://ben.balter.com/wordpress-as-a-collaboration-platform/screenshot.png' style='width: 100%; max-width: 550px; cursor: pointer;' /><div>\n<iframe height='240' id='collab_iframe' scrolling='0' src='' style='border: 1px solid black; width: 100%; min-height: 450px; display: none;' width='320'> </iframe>\n</div><div>\n<iframe frameborder='0' height='20px' scrolling='0' src='http://ghbtns.com/github-btn.html?user=benbalter&amp;repo=wordpress-as-a-collaboration-platform&amp;type=fork' style='float: left;' width='62px'> </iframe>\n</div>\n<p><a href='http://ben.balter.com/wordpress-as-a-collaboration-platform/'>View Full Screen</a></p>\n\n<p>Recording of the presentation (starts at the 10:00 mark):</p>\n<iframe frameborder='0' height='296' scrolling='no' src='http://www.ustream.tv/embed/recorded/22454841?wmode=direct' style='border: 0px none transparent;' width='480'> </iframe>\n<h2 id='plugins_mentioned'>Plugins Mentioned</h2>\n\n<ul>\n<li><a href='http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/'>WP Document Revisions</a></li>\n\n<li><a href='http://editflow.org'>Edit Flow</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/members/'>Members</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/advanced-custom-fields/'>Advanced Custom Fields</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/wp-display-custom-fields/'>Display Custom Fields</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/count-shortcode/'>Count Shortcode</a></li>\n\n<li><a href='http://wordpress.org/extend/plugins/faceted-search-widget/'>Faceted Search Widget</a></li>\n\n<li><a href='http://themergency.com/generators/wordpress-custom-taxonomy/'>Custom Taxonomy Generator</a></li>\n</ul>","content":"<blockquote>\n<p>&#8220;Sharepoint is a plague upon the American workforce. This ubiquitous piece of collaboration software has taught millions of people that Intranets are destined to be places where you can&#8217;t find anything<span>, but it</span> doesn&#8217;t have to be this way, despite what Microsoft may have you believe.&#8221;</p>\n</blockquote>\n\n<p>— Joe Flood on <a href='http://joeflood.com/2012/05/10/free-yourself-from-the-tyranny-of-sharepoint/'>Freeing Yourself from the Tyranny of Sharepoint</a></p>"}
View
BIN Balter-Towards-a-More-Agile-Government.pdf
Binary file not shown.
View
16 _includes/contact-links.html
@@ -1,10 +1,10 @@
<ul id="contact-links">
-<li><a href="http://twitter.com/BenBalter" rel="me" target="_blank"><img src="http://cdn.benbalter.com/wp-content/uploads/2010/09/twitter.png" alt="Twitter Icon" /><br />
-Twitter</a></li>
-<li><a href="http://facebook.com/BenBalter" rel="me" target="_blank"><img src="http://cdn.benbalter.com/wp-content/uploads/2010/09/facebook.png" alt="Facebook Icon" /><br />
-Facebook</a></li>
-<li><a href="http://linkedin.com/in/BenBalter" rel="me" target="_blank"><img src="http://cdn.benbalter.com/wp-content/uploads/2010/09/linkedin.png" alt="LinkedIn Icon" /><br />
-LinkedIn</a></li>
-<li><a href="https://plus.google.com/107848665104278257250?rel=author" rel="me" target="_blank"><img src="http://cdn.benbalter.com/images/32px/google.png" alt="Google" /><br />
-Google</a></li>
+ <li><a href="http://twitter.com/BenBalter" rel="me" target="_blank"><img src="http://cdn.benbalter.com/wp-content/uploads/2010/09/twitter.png" alt="Twitter Icon" /><br />
+ Twitter</a></li>
+ <li><a href="http://facebook.com/BenBalter" rel="me" target="_blank"><img src="http://cdn.benbalter.com/wp-content/uploads/2010/09/facebook.png" alt="Facebook Icon" /><br />
+ Facebook</a></li>
+ <li><a href="http://linkedin.com/in/BenBalter" rel="me" target="_blank"><img src="http://cdn.benbalter.com/wp-content/uploads/2010/09/linkedin.png" alt="LinkedIn Icon" /><br />
+ LinkedIn</a></li>
+ <li><a href="https://plus.google.com/107848665104278257250?rel=author" rel="me" target="_blank"><img src="http://cdn.benbalter.com/images/32px/google.png" alt="Google" /><br />
+ Google</a></li>
</ul>
View
2 _includes/css/style.css
@@ -24,6 +24,8 @@
h1, h2 { font-family: leaguegothic-regular, sans-serif !important; letter-spacing: 2px; font-weight: normal; }
h2 { text-transform: uppercase; font-size: 35px; }
+article h2 { font-size: 25px; text-align: left; }
+
/* Contact social icons */
#contact-links {list-style: none; text-align: center; font-size: 8pt; line-height: 14px;}
View
1 _includes/js/load-impress.js
@@ -0,0 +1 @@
+jQuery('#collab_img').click( function() { jQuery(this).fadeOut(); jQuery('#collab_iframe').attr( 'src', 'http://ben.balter.com/wordpress-as-a-collaboration-platform/' ).fadeIn(); } );
View
0 _includes/untitled file
No changes.
View
1 assets/js/js.js
@@ -11,4 +11,5 @@ layout: none
{% include js/tweets.js %}
{% include js/search.js %}
{% include js/resume.js %}
+{% include js/load-impress.js %}
{% endcapture %}{{ js }}
View
BIN favicon.ico
Binary file not shown.
View
8 posts/_posts/2012-03-05-wordpress-for-government-and-enterprise.md
@@ -29,6 +29,7 @@ Drupal powers twice as many federal .Govs [as every other CMS combined][4]. That
## A Problem of Perception
+<div style="float:right; width: 300px; margin-left: 20px; text-align: left;" markdown="1" class="well">
### Typical Enterprise Misconceptions
* WordPress is a blogging platform
@@ -40,6 +41,7 @@ Drupal powers twice as many federal .Govs [as every other CMS combined][4]. That
* There aren't many WordPress developers
* No "serious" people use WordPress
* The WordPress codebase is immature
+</div>
WordPress's disproportionately low government adoption is arguably the result of a handful of factors. For one, custom post types, the feature that formally graduated WordPress from a mere blogging platform into a full-fledged content management system, has only been around since June of last year. Yet, even among new sites, [^1] the ratio remains somewhat stagnant, if not shrinking, leaving one to believe that the technology has lapped its own already stellar perception.
@@ -129,9 +131,9 @@ Whether WordPress is your primary source of income, a hobby, or just the thing t
<p><strong><a href="http://wpcandy.com/quarterly">Continue Reading →</a></strong><br /><span style="font-size:12px">(subscription required)</span></p>
</div>
-[^1]: **Update (3/7):** As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a *decision lag*. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from *blog+* to *full-fledged CMS* — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, [procurement regulations dictate that such lag times are all but the norm][31]. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today. [32]
-[^2]: Jen Lampton, "Why WordPress is Better than Drupal, Developers Take Note" (July, 2010) [33]
-[^3]: **Update (3/8):** The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I've gone through and reworked much of the blog-specific language. [View the original][34]. [35]
+[^1]: **Update (3/7):** As many have pointed out, a lot of the misinformation may also be traced back to somewhat of a *decision lag*. Custom post types, custom taxonomies, and WordPress multisite — three key features that although minor from a technical standpoint, really served as the fundamental shift to transition the platform from *blog+* to *full-fledged CMS* — came about only three major versions ago (WordPress 3.0). While eighteen months may be an eternity for the vast majority of the technology sector (the iPad 1 had just barely launched eighteen months ago for comparison), in the Government space, [procurement regulations dictate that such lag times are all but the norm][31]. As a result, in an already risk-averse contracting environment, we may actually be seeing numbers that more accurately reflect say, WordPress 2.9′s reception in the Government sector — a snapshot of when an agency chose a CMS at the onset of a multi-year procurement — rather than those that accurately reflect its technical capabilities today.
+[^2]: Jen Lampton, "Why WordPress is Better than Drupal, Developers Take Note" (July, 2010)
+[^3]: **Update (3/8):** The features page is part of a community edited Wiki (the WordPress Codex) and since originally posted, I've gone through and reworked much of the blog-specific language. [View the original][34].
[1]: http://ben.balter.com/wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png
[2]: http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/
View
21 posts/_posts/2012-05-08-wordpress-as-a-collaboration-platform.md
@@ -27,21 +27,20 @@ Today countless teams are using WordPress to drive collaboration and facilitate
*Click on the slides below to begin, then press the left/right keyboard arrows to navigate*
+<img id="collab_img" style="width: 100%; max-width: 550px; cursor: pointer;" src="http://ben.balter.com/wordpress-as-a-collaboration-platform/screenshot.png" alt="Slides from WordPress as a Collaboration Platform" />
-
-![][1]
-
-
-
-
+<div>
+<iframe id="collab_iframe" style="border: 1px solid black; width: 100%; min-height: 450px; display: none;" src="" scrolling="0" width="320" height="240"> </iframe>
+</div>
+<div>
+<iframe style="float: left;" src="http://ghbtns.com/github-btn.html?user=benbalter&amp;repo=wordpress-as-a-collaboration-platform&amp;type=fork" frameborder="0" scrolling="0" width="62px" height="20px"> </iframe>
+</div>
[View Full Screen][2]
-
-
Recording of the presentation (starts at the 10:00 mark):
-http://www.ustream.tv/recorded/22454841
+<iframe width="480" height="296" src="http://www.ustream.tv/embed/recorded/22454841?wmode=direct" scrolling="no" frameborder="0" style="border: 0px none transparent;"> </iframe><br /><a href="http://www.ustream.tv/" style="padding: 2px 0px 4px; width: 400px; background: #ffffff; display: block; color: #000000; font-weight: normal; font-size: 10px; text-decoration: underline; text-align: center;" target="_blank">Video streaming by Ustream</a>
## Plugins Mentioned
@@ -54,8 +53,8 @@ http://www.ustream.tv/recorded/22454841
* [Faceted Search Widget][9]
* [Custom Taxonomy Generator][10]
- [1]: http://benbalter.github.com/wordpress-as-a-collaboration-platform/screenshot.png
- [2]: http://benbalter.github.com/wordpress-as-a-collaboration-platform/
+ [1]: http://ben.balter.com/wordpress-as-a-collaboration-platform/screenshot.png
+ [2]: http://ben.balter.com/wordpress-as-a-collaboration-platform/
[3]: http://ben.balter.com/2011/08/29/wp-document-revisions-document-management-version-control-wordpress/
[4]: http://editflow.org
[5]: http://wordpress.org/extend/plugins/members/
View
BIN resume.pdf
Binary file not shown.
View
BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o-1024x363.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o-150x150.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o-300x106.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o-940x198.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/3708549622_42a7d7e450_o.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4246330043_3d14bc23c3_b-150x150.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4246330043_3d14bc23c3_b-300x199.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4246330043_3d14bc23c3_b-940x198.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4246330043_3d14bc23c3_b.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6-150x150.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6-300x192.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6-500x198.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_b-150x150.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_b-300x191.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_b-940x198.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_z-150x150.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_z-300x191.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_z-640x198.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/4502026170_4bf31f04e6_z.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/cropped-4500565196_ce3afa3617_b-150x150.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/cropped-4500565196_ce3afa3617_b-300x63.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/cropped-4500565196_ce3afa3617_b.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/facebook.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/fb1-150x150.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN wp-content/uploads/2010/09/fb1-272x300.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/09/fb1-317x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/09/fb1.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/09/flickr.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/linkedin.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/suit.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/09/twitter.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/wp-resume-header-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/wp-resume-header-300x86.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/wp-resume-header-500x144.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/wp-resume-header.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/wp_resume-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/wp_resume-300x223.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/wp_resume-669x198.png
Diff not rendered.
View
BIN wp-content/uploads/2010/09/wp_resume.png
Diff not rendered.
View
BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b-300x97.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b-640x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b-940x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/1194563275_664d6b15e2_b.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/244921874_44ec1cbfa9-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/244921874_44ec1cbfa9-292x300.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/244921874_44ec1cbfa9-487x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/244921874_44ec1cbfa9.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b-300x200.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b-300x82.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b-940x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/3592493739_6b0b0d3f45_b.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-300x200.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-300x238.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-461x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z-640x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4273568581_3c4db9799d_z.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4808160019_d93a7332e0_b-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4808160019_d93a7332e0_b-200x300.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4808160019_d93a7332e0_b-683x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4808160161_3f3df96c7c_b-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4808160161_3f3df96c7c_b-300x127.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4808160161_3f3df96c7c_b-640x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/4808160161_3f3df96c7c_b-940x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/68153_493302469280_603259280_5451391_4928024_n-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/68153_493302469280_603259280_5451391_4928024_n-300x199.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/68153_493302469280_603259280_5451391_4928024_n-720x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2010/11/68153_493302469280_603259280_5451391_4928024_n.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/1430289931_beb7ff6428_b-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/1430289931_beb7ff6428_b-300x225.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/1430289931_beb7ff6428_b-940x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/1430289931_beb7ff6428_b.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-1024x320.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-1024x572.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-300x167.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-300x93.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/61076493_f07e55b6b9_o-940x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/emphasis-screenshot-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/01/emphasis-screenshot-215x198.png
Diff not rendered.
View
BIN wp-content/uploads/2011/01/emphasis-screenshot.png
Diff not rendered.
View
BIN wp-content/uploads/2011/01/order-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/order-300x131.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/order-920x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/order.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/policeman-1024x320.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/policeman-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/policeman-300x93.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/policeman-640x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/policeman-940x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/policeman.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/wp-emphasis.zip
Binary file not shown.
View
BIN wp-content/uploads/2011/01/zoolander-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/zoolander-300x188.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/zoolander-400x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/01/zoolander.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/02/IPRC_Seized_2010_11-150x150.gif
Diff not rendered.
View
BIN wp-content/uploads/2011/02/IPRC_Seized_2010_11-300x225.gif
Diff not rendered.
View
BIN wp-content/uploads/2011/02/IPRC_Seized_2010_11-940x198.gif
Diff not rendered.
View
BIN wp-content/uploads/2011/02/IPRC_Seized_2010_11.gif
Diff not rendered.
View
BIN wp-content/uploads/2011/03/branding-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/03/branding-300x224.png
Diff not rendered.
View
BIN wp-content/uploads/2011/03/branding-419x198.png
Diff not rendered.
View
BIN wp-content/uploads/2011/03/branding.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/2146845610_ebd95e5f4e_b-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/04/2146845610_ebd95e5f4e_b-300x200.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/04/2146845610_ebd95e5f4e_b-940x198.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/04/2146845610_ebd95e5f4e_b.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/04/infographic-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/infographic-300x138.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/infographic-558x198.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/infographic.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe-300x144.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe-300x149.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe-640x198.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe-920x198.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe1-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe1-300x144.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe1-640x198.png
Diff not rendered.
View
BIN wp-content/uploads/2011/04/wireframe1-920x198.png
Diff not rendered.
View
BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b-1000x288.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b-300x225.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b-400x300.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/05/391427627_62f2a23df4_b.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/05/header-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/05/header-300x86.png
Diff not rendered.
View
BIN wp-content/uploads/2011/05/header-500x144.png
Diff not rendered.
View
BIN wp-content/uploads/2011/05/header.png
Diff not rendered.
View
BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b-1000x288.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b-300x200.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b-449x300.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/06/5554901181_664eac93a6_b.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/06/bb_touch.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/06/bb_touch1.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/07/Diffusionofideas-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/Diffusionofideas-300x209.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/Diffusionofideas-429x300.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/Diffusionofideas-914x288.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/Diffusionofideas.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot-300x226.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot-397x300.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot-855x288.png
Diff not rendered.
View
BIN wp-content/uploads/2011/07/wp-document-revisions-screen-shot.png
Diff not rendered.
View
BIN wp-content/uploads/2011/08/wp-document-revisions-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2011/08/wp-document-revisions-300x86.png
Diff not rendered.
View
BIN wp-content/uploads/2011/08/wp-document-revisions-500x144.png
Diff not rendered.
View
BIN wp-content/uploads/2011/08/wp-document-revisions.png
Diff not rendered.
View
BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared-1000x288.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared-300x119.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared-500x199.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared.jpg
Diff not rendered.
View
BIN wp-content/uploads/2011/09/Agile-and-Waterfall-Development-Cycles-Compared.pdf
Binary file not shown.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot-300x126.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot-500x211.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot-976x288.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1-300x182.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1-493x300.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1-977x288.png
Diff not rendered.
View
BIN wp-content/uploads/2012/02/open-source-alternatives-screenshot1.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/q-cover-issue01-300x387-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2012/03/q-cover-issue01-300x387-232x300.jpg
Diff not rendered.
View
BIN wp-content/uploads/2012/03/q-cover-issue01-300x387-300x288.jpg
Diff not rendered.
View
BIN wp-content/uploads/2012/03/q-cover-issue01-300x387.jpeg
Diff not rendered.
View
BIN wp-content/uploads/2012/03/we-hate-cms-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/we-hate-cms-300x223.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/we-hate-cms-403x300.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/we-hate-cms-956x288.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/we-hate-cms.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/wordpress-in-government-ben-balter-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/wordpress-in-government-ben-balter-278x300.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/wordpress-in-government-ben-balter-558x288.png
Diff not rendered.
View
BIN wp-content/uploads/2012/03/wordpress-in-government-ben-balter.png
Diff not rendered.
View
BIN wp-content/uploads/2012/04/hacks-hackers-10k-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2012/04/hacks-hackers-10k-300x153.png
Diff not rendered.
View
BIN wp-content/uploads/2012/04/hacks-hackers-10k-500x256.png
Diff not rendered.
View
BIN wp-content/uploads/2012/04/hacks-hackers-10k-665x288.png
Diff not rendered.
View
BIN wp-content/uploads/2012/04/hacks-hackers-10k.png
Diff not rendered.
View
BIN wp-content/uploads/2012/05/cropped-wp-header-150x150.jpg
Diff not rendered.
View
BIN wp-content/uploads/2012/05/cropped-wp-header-300x86.jpg
Diff not rendered.
View
BIN wp-content/uploads/2012/05/cropped-wp-header-500x144.jpg
Diff not rendered.
View
BIN wp-content/uploads/2012/05/cropped-wp-header.jpg
Diff not rendered.
View
BIN wp-content/uploads/2012/06/government-cio-magazine-june-2012-150x150.png
Diff not rendered.
View
BIN wp-content/uploads/2012/06/government-cio-magazine-june-2012.png
Diff not rendered.
View
BIN wp-content/uploads/2012/06/mike-holmes-150x150.jpeg
Diff not rendered.
View
BIN wp-content/uploads/2012/06/mike-holmes-203x300.jpeg
Diff not rendered.
View
BIN wp-content/uploads/2012/06/mike-holmes-384x288.jpeg
Diff not rendered.
View
BIN wp-content/uploads/2012/06/mike-holmes.jpeg
Diff not rendered.
View
BIN wp-content/uploads/2012/07/dashboard-all-the-things-150x150.jpeg
Diff not rendered.
View
BIN wp-content/uploads/2012/07/dashboard-all-the-things-300x225.jpeg
Diff not rendered.
View
BIN wp-content/uploads/2012/07/dashboard-all-the-things-400x288.jpeg
Diff not rendered.
View
BIN wp-content/uploads/2012/07/dashboard-all-the-things.jpeg
Diff not rendered.

0 comments on commit 63c9610

Please sign in to comment.