fogbound.net




Fri, 20 Jan 2012

A Modest Proposal

— SjG @ 9:45 am

Property owners in the United States1 pay property tax. While it makes the Randists froth at the mouth, the reason for this is quite pragmatic: people pay for the infrastructure, defense, and other public services in their communities that support their property. The theory is that a homeowner, for example, has a vested interest in the neighborhood roads being maintained, in having an active fire department, and so on. Similarly, businesses rely on decent roads, an educated workforce, and similar services to do business. We all depend on law enforcement and our defense forces to keep us safe from criminals and the odd invasion.

With the exception of the aforementioned Randists and related lunatics, everyone agrees that the concept of property tax is reasonable. We may all argue about what falls within the realm of appropriate services or infrastructure, and we all feel that our own particular property tax burden is too great, but we agree that there are necessities that we need to help pay for.

Recent events (e.g., the SOPA/PIPA debacle) have brought intellectual property into the spotlight. Corporations owning music, film, and book copyrights are justly upset about the degree of “piracy” taking place on the Internet. While the numbers they present as their financial losses have been widely debunked, there are, in fact, actual losses. So they spend a lot of money lobbying and contributing to political campaigns, and we get fiascos like SOPA/PIPA.

Similarly, we have a patent system that’s wildly out of control. People can and do patent ideas that are …er… patently obvious, or tiny increments over widespread practice. Those patents are then used to suppress whole classes of technologies and programs. Technology companies like Apple, Unisys, and SCO are notoriously litigious, and have often succeeded in using the legal system to suppress competition via patents. Patent trolls or patent clearing houses leverage ridiculous patents to essentially blackmail programmers for ideas that can be found in textbooks. We see small players put out of business on a regular basis, often because they can’t afford to defend against spurious patent claims.

It got me thinking. As a homeowner, I pay annual taxes, commensurate with the value of my house. This money, in effect, pays to protect the value of my property.

The “Content Industry” (RIAA/MPAA) and technology companies claim a great deal of value for their intellectual property, but rely on public money to defend that value. Sure, they pay lawyers, but they use my public courts and (attempt to) pass ever more restrictive laws to protect their assets. A huge amount of government time and public money is wasted on these cases, and we find congress ignoring important issues to focus on extending copyright ad infinitum. The public cost due to lost innovation is staggering2. It’s time for the intellectual property owners to share the burden of that cost. It’s time for a tax on intellectual property.

Intellectual property is hard to appraise for value — thus the owner should be allowed to declare what that value is. The catch is that they will be taxed on that declared value. Like most other property taxes, the value will be appraised on a yearly basis, with limits on the maximum amount of change from one year to the next. If owners decide their property is worth a great deal, then they can pay a great deal to help defend it. If they decide it’s worth nothing, then they cannot claim huge damages when it is not protected and the property is infringed upon.

Intellectual Property Tax. It’s only fair.

1 Most countries have some form of property tax, even if it’s not exactly the same thing as in the US.
2 Patents are, by their nature, designed to foster innovation by giving owners a temporary monopoly. We agree to tweak an otherwise free market to encourage people and companies to invest time into research and development. This system only works if, in fact, the kinds of things that are granted this protection are actual innovations rather than mundane and obvious incremental improvements. As they exist today patents are largely abused, and actually end up preventing new ideas from reaching the market while increasing the cost of products that do.


Tue, 17 Jan 2012

Open Letter to Pomona College President Oxtoby

— SjG @ 10:08 pm

Dear President Oxtoby,

Over the past year, I have been concerned to read unflattering reports in the media about Pomona College’s actions against the ongoing unionization efforts of the dining hall staff. Thus, when I began reading your letter of January 3rd, I was excited to see that you were going to risk discussing a political topic, and speak directly to the issue.

By the time I finished the first paragraph, however, my excitement turned to extreme disappointment. Reading the more detailed discussion on the college web site only deepened my dismay.

When I was a student at Pomona, intellectual honesty was held up as an essential value. To portray the current situation as one of immigration policy is disingenuous at best, and smacks of downright dishonesty. The accusations leveled against the college are extremely unsettling, and need to be addressed. Confronting employees’ work authorization and immigration policy is certainly part of that discussion, but you need to tackle the complete situation. The college’s position on employee unionization efforts needs to be clearly stated.

Beyond the need for unambiguous discussion, the College needs to operate in an above-board and honorable way. If the College chooses to oppose unionization, it absolutely must do so in a principled and ethical fashion.

I’m embarrassed that my alma mater is under investigation by the NLRB for unfair labor practices. I’m appalled that Pomona imposed a gag order on its students and employees. I’m ashamed that Pomona has become the kind of place where workers are made to feel that they need a union to protect themselves, and that it has become the kind of place that engages in union-busting.

Pomona College is better than this.

I would urge you think about what message the College’s recent actions send to the world. Do we really “bear our added riches in trust for all,” or does that sentiment not extend to the people who actually work at the college?

Sincerely,
Samuel Goldstein

Filed in:

Sign of the Times

— SjG @ 2:58 pm

I think it’s a sad, sad sign of the times that most Linux distros not only omit figlet from their standard installations, but often don’t even offer it in their package managers.

       _           _                   _                      _ 
  __ _| | __ _ ___| |   __ _ _ __   __| | __      _____   ___| |
 / _` | |/ _` / __| |  / _` | '_ \ / _` | \ \ /\ / / _ \ / _ \ |
| (_| | | (_| \__ \_| | (_| | | | | (_| |  \ V  V / (_) |  __/_|
 \__,_|_|\__,_|___(_)  \__,_|_| |_|\__,_|   \_/\_/ \___/ \___(_)

Wed, 4 Jan 2012

“Fanshaw”

— SjG @ 3:10 pm

After watching a QI Episode where they briefly mention the pronunciation of Featherstonehaugh, I just had to dive in and read this page.

Filed in:

Thu, 29 Dec 2011

Farewell to CMS Made Simple

— SjG @ 3:52 pm

I have been getting a fair number of CMS Made Simple requests lately, and it appears that people are not aware that I am no longer associated with that project. I feel it’s necessary to write this post to clarify the record, and explain why I will not be participating in any future CMS Made Simple related development, attending the Geek Moots, or writing any more books on the subject.

In short, I was losing confidence in the direction of the project. So, on November 14th, when I was asked by the current project leader to resign from the Core Development Team (as an alternative to being thrown off for my lack of participation1), and after 7 years of Core Team involvement, creation of 20-some-odd modules, attendance at four Geek Moots, and writing one of the three books published about the project, I resigned.

The above is all that is important in this post. For my own amusement, I will present some opinions on the future prospects of CMS Made Simple, and, for the people who are asking me about alternative F/OSS CMS software, I’ll provide a few thoughts.

Outlook

At the time I left, the leadership of the CMS Made Simple Core Team has been involved in creating a non-profit organization to own, fund, and shepherd the project forward. There have been various efforts to expand corporate sponsorship and exclusive promotional relationships with hosting companies. These are all positive developments for the project, and provide the possibility to take it to “the next level.” This organization will still have a few hurdles to overcome for CMSMS to be successful. Here’s what CMSMS will need to do in order to achieve its potential2:

– Steady funding. The nonprofit organization and promotional relationships will likely solve this problem. This will enable the project to have more than one full-time person employed.

– Audience definition. For at least five years, there has been an ongoing battle over what the desired target demographic is for CMSMS. Originally, it was targeted at the small, Mom’n’Pop shop or web designer. The current thinking is that it’s for “experienced web developers.” Similarly, there has been ongoing debate as to how the multilingual community will be best served, and there have been several shifts in direction. For CMSMS to succeed, it will need to have a broad enough target to sustain interest, and a narrow enough target that the team can implement that target’s requirements.

– Overcome architectural limitations. The core architecture of CMSMS is a blend of the “old school” procedural code and weak objects that reveal its roots in PHP versions before 4.3, along with more modern PHP 5 constructs. The limitations that this blend imposes led to the desire to make a clean break, and build a Version 2 with a fully modern architecture. The CMSMS 2.0 project was eventually scrapped, however, as the leadership was unwilling to freeze development and stop adding features to the 1.x version, thereby starving 2.0 of developer resources.
The current approach is an incremental one, with each major dot-release making structural improvements (while altering the API and breaking backwards compatibility). The problem with this approach is that it requires exponentially more work on the part of module authors and the people who maintain sites. For CMSMS to support a modern feature set, however, the older code will need to be rewritten.

– Re-establish and adhere to a plan. At one time there was a road-map laying out feature sets that would be available in subsequent releases. Such a plan guides development decisions and helps ensure that the resources for a project are allocated wisely. This prevents the kind of problem-solving that addresses one immediate problem but creates subsequent problems.
A new road-map would be a positive step to help the documentation problem. It’s just not possible to adequately document a system that goes through changes on an ad hoc basis. With a clear plan, APIs can serve as intended — as a contract with the programmers — and can be documented in a way that’s helpful to both experienced and new users.

– Cement the community. The current leadership of CMSMS has very strong opinions about control of not only the code and the branding, but the conversation about the code and branding. People are regularly banned from the forums or IRC channel for violating rules that forbid talking about core modifications (“mods”) or for failing to follow protocol in asking questions. This comes across, fairly or not, as the Core Team having an adversarial relationship with the end users.
While it’s not visible to outsiders, the tenor of the developer’s channel on IRC was often one of open contempt for end users: there are frequent nominations for “idiot of the day” awards, for example, or the impugning the character of entire nationalities. This attitude is also reflected in slightly more oblique terms on public forums.
To be fair, any Open Source endeavor encounters some definite problems: end users who feel entitled to try to dictate features or demand free work, troublemakers and trolls who will try to tear down a project out of sheer perversity, and people who will complain about any decision that’s made. Projects must find ways to determine which problematic people to ignore and which to engage or eject. A more tolerant CMSMS environment would attract a larger community, which would dilute the power of difficult users (one troll in a small community is a lot more influential than the same troll in a crowd of hundreds).

Alternatives to CMS Made Simple

I’ve had a fair number of people ask me what I’m using for projects, if I’m not using CMS Made Simple code any more. While I can’t go into specifics of projects, I can comment on a few systems that I’ve explored and/or used recently.

Concrete 5 is an MIT-licensed Content Management system with a modern core. It has all of the technical buzzwords I look for like OO, MVC, database abstraction, data objects, user/groups permissions, and jQuery. It has some nice features like a rich core API, safely override-able core files, content versioning, in-context or admin-side content editing, and more. They have a store on the project page, enabling developers to sell add-ons or themes directly through the main page, as well as smart approaches for rewarding community members and contributors of both code and documentation. The Concrete5 team appears to have thought about many of the issues that I consider problematic with CMSMS, and, in many cases, come up with what seem like good solutions.

The Yii framework is not a Content Management System — it’s a development framework. I often used CMS Made Simple as a starting-point framework for a project, since it provided me with a lot of features such as templating, database abstraction, and an authentication system — the content-management aspect was just an added bonus. For heavy development projects, I find the Yii framework to be very well thought out. It’s a modern, MVC-based architecture that has database abstraction, a performant ActiveRecord implementation, authentication and role-based access control, support for AJAXY interfaces, and includes scaffolding and testing facilities to get projects up to speed quickly. Every time I find myself thinking “It’d be great if there was a way to do X,” I discover that Yii has it built in, or has it available as an extension.

Conclusion
The CMSMS project was a significant part of my life for the better part of seven years where I met a lot of great people, made some lasting friendships, and learned a great deal about coding and writing. I hope that this posting is taken in the spirit it is written. I offer best wishes for the project and my friends there; I hope that the CMSMS team is successful and the project flourishes.

1 Actually, I was told that the leadership “would rather that you gracefully resign than our having to have you removed via a public vote.” It might have been entertaining to force a vote, but not entertaining enough for me to actually make the effort.

2 These are, of course, purely my own opinions and should not be construed as anything more. I imagine the current team has identified its own goals and milestones.