I guess it’s the small things, right? We were building something at our team meetup this last week in Key West (photos forthcoming), and I just decided to sit down and do what I could.

Before I knew it, I sat down and had opened a function.

It’s since been massively rewritten by my colleagues, but the point is that I wanted to get it to do something, and with some guidance here and there, I did. It’s polling an API and returning that data as needed into a page.

I’m a few months in and it’s accurate to say that I’m enjoying my new role at work, doing great things with the VIP team at WordPress.com. I feel like I’m able to contribute to big projects by taking some grunt work and communicating with our clients clearly and often as we partner with them to do Big Things. I feel like I’m doing a pretty good job with my responsibilities, and am happy with the things I’m able to accomplish.

But I get frustrated an a near-daily basis, and that frustration is all with myself.

There are some neat things I can do now that I haven’t been able to do in the past. I’m using my knowledge of WordPress templating now more than I have in a long time. I’m learning more of the ins and outs of WordPress.com, which is really interesting. And I’ve gone from not even knowing what wp-cli is to using it on a daily basis and being comfortable with doing so. I can get things done.

One goal I’ve had with shifting to doing this job has been to try to use the (admittedly quite weak) PHP development skills I have to assist with other tasks. This has been great in theory and in practice I have been able to learn little things here and there.

But it’s the sheer amount of things I don’t know that has me intimidated and quite frankly annoyed with myself. I can’t read Javascript and hardly know what it can do or does in a specific context. I don’t even know what cross-site scripting is, let alone how to prevent it or other security problems. Best practices like sanitization and escaping and where to apply or which methods to apply where elude me.

I don’t even understand how to use git yet. (svn and I are cool.)

Debugging is sometimes a total and complete mystery—just finding a place to get started is on ordeal and I feel like it takes me way too long to catch on to some things.

The problem feels like one of sheer scale. Where do I start? What do I do? Maybe I’m too old to learn new things at this point; I don’t know. I get bored taking classes, because they are too far from actual practice, and I get frustrated with just diving in because I feel there are too many things to learn at once.

I’m not really sure why I’m writing this out. Is this a common thing to feel when approaching this kind of thing? Is there anything out there you’ve used in the past or things you have done that help with overcoming the intimidation factor?

I’m hoping that in a year or ever a few months, I can look back on this and laugh at it.

Matt on the WordPress.org blog:

If WordPress were a country, our Bill of Rights would be the GPL because it protects our core freedoms. We’ve always done our best to keep WordPress.org clean and only promote things that are completely compatible and legal with WordPress’s license. There have been some questions in the community about whether the GPL applies to themes like we’ve always assumed. To help clarify this point, I reached out to the Software Freedom Law Center, the world’s preeminent experts on the GPL, which spent time with WordPress’s code, community, and provided us with an official legal opinion. One sentence summary: PHP in WordPress themes must be GPL, artwork and CSS may be but are not required.

This has been a discussion in the WordPress community for a little while now, with the rise of both sponsored and commercial themes and the authors of many of those themes claiming full copyright or a subset of Creative Commons over them in order to protect them from redistribution or changes. I’m pleased to see that there’s an authoritative word on it now, and also pleased to know that the WordPress theme directory (and as of 2.8, in-admin theme browser) will only contain themes that are licensed by the GPL or are GPL-compatible (for WordPress, this also means making the CSS and Javascript GPL).

The WordPress.org site now even has a directory of those theme developers/development houses that are selling GPL themes—there have been a couple of groups switching their licenses as of late—to help promote them and support their decision to embrace the GPL as a license structure for their themes. That’s a great idea, and I hope it convinces other theme authors to make the switch.

Some people might argue that it’s impossible to create a business structure based around something that is GPL-licensed, but if you take a good look around, there are many companies who now fully embrace open source (using the GPL, LGPL, GFDL, or even the OSL) as a way of life and a way of doing business who are doing quite well in offering consulting or expanded support, selling a base or preconfigured package, or offering other services that are built upon or extrude from their contribution to the open source community. Doing business this way earns you points, contributes to the Internet community as a whole, and gains you the support of dedicated volunteers to help make your product better. What’s not to like?

Brian Gardner points out:

This also clearly illustrates Matt’s view that people can (and will be endorsed if they do with it with the GPL License) make money using WordPress.

Of course they can. Automattic makes money using WordPress. There’s a virtual army of consultants out there who make money using WordPress. I’ve made money using WordPress. And the endorsement area on WordPress.org is no small beans. I believe that listing page will prove to be lucrative for those theme houses who have chosen to go GPL.

UPDATE: Daniel Jalkut speaks to the GPL as an imposition on those who might want to make contributions to a project:

Speaking of GPL succeses, WordPress is itself an example of monumental success. All of its developers have something to be immensely proud of. But whenever I am reminded that WordPress is GPL, my passion for it takes a bit of a dive. I’m more comfortable with the true freedom of liberally-licensed products. If a liberally-licensed blog system of equal quality, ease of use, and popularity should appear, my loyalties to WordPress would not last long. It’s your party, and you’re entitled to write the guest list. But take a look around the room: not as many folks as you’d hoped for? Liberally-licensed projects are booming. Speaking for myself, a developer who has been to all the parties, I’m much more likely to pass through the door that doesn’t read “GPL Only.”

His objections and points are noteworthy. One of the things that popped into my mind, however, is that WordPress is—for good or ill—bound by the GPL to remain GPL-licensed, as WordPress itself is a derivative of b2/cafelog, which was licensed under the terms of the GPL. (I think that’s how it works; I’m far from a GPL expert.)

UPDATE TO THE UPDATE: Matt responds to Daniel’s feelings regarding the GPL and restrictiveness:

It’s user freedom that the GPL was created to protect, just like the Bill of Rights was created to protect the people, not the President. The GPL introduces checks and balances into an incredibly imbalanced power dynamic, that between a developer and his/her product’s users. The only thing the GPL says you can’t do is take away the rights of your users in your work or something derived from a GPL project, that the user rights are unalienable. You are free to do pretty much whatever you want as long as it does not infringe on the freedoms of others. (Sound familiar?)

That’s what software freedom means to me, and it’s something I believe in strongly enough to fight for and defend even when it’s not the easy or popular thing to do. (Especially this weekend as we celebrate the original “fork” of the US from from England.)

(Photo credit: Untitled by flickr user elloa.)

(Photo credit: Thermometer by flickr user slayer23.)