WordCamp London has come around fast! We’re travelling down Friday evening, so we can be ready, bright and early on Saturday morning for registration. WordCamp London 2016 is a two day conference focused on the blogging platform/content management system, WordPress.
Show the WordPress editor toolbar by default
Previously known as the Kitchen Sink, but now simply as the toolbar. The toolbar contains a number of additional editor formatting controls. Unfortunately, this extra row of controls is hidden by default for new users. We’ve written the following solution which sets the preference for new users, so that the toolbar is visible by default.
WordCamp Manchester 2015
iWeb joined over 150 attendees for WordCamp Manchester 2015. WordCamps are events held all around the world. They’re aimed at designers, developers and users of WordPress. Community is one of the greatest aspects of WordPress. A WordCamp is a great place to meet, learn and develop with other WordPress folk.
Is it right to seek out GPL code for free?
Andrew Fielden presented a talk at August’s WordPress Birmingham meetup in which he discussed GPL in the context of WordPress and the WordPress ecosystem of premium themes and plugins.
It was a thought provoking talk and it reminded me of a discussion I’d had that very week. I’ve summed up my thoughts here as I’m not sure I was able to fully articulate the ethical conundrum over Twitter!
I’d like to thank Andrew for again presenting at WordPress Birmingham. It’s always a pleasure.
We’re building a niche music download service, making use of WooCommerce and it’s virtual, downloadable products. However, at the scale we’re working at, local storage of the distributable files is simply not feasible.
Amazon S3 is one of the most popular “cloud” storage solutions. However, it was decided an internal solution would provide us more control and accountability.
I was in a meeting discussing an integration between WooCommerce and our internal distributed storage platform. We looked at the Amazon S3 Storage WooCommerce extension. It’s a plugin which provides the equivalent functionality to what we were trying to achieve.
It was during this meeting where I mentioned WooThemes were GPL, at which point it was implied that we could therefore just skim through the code. That it would be publicly accessible. Looking over the WooThemes page, the licensing was not made clear. We just bought the plugin at $29 and picked through the source to find the right hooks to build our own integration.
In this instance, I can’t be sure how much time was actually saved by making use of the extension. But it illustrates the ethical question I’m interested in. If you’re potentially going to save many hours of research/development, is it right to seek out the source code for free?
Authors are not discouraged from selling access to GPL software and are not required to make source freely available. And for me, I think this is where context is important. There is a difference between someone throwing their code up on GitHub for the world to see and a business selling access and support.
If code has been made available, released on GitHub for example, it’s fair game. That feels fine. If you’re working on a personal project, grabbing source code for educational purposes, I can see the freedoms granted under the GPL are beneficial. I wouldn’t feel bad going out of my way to get hold of open source code from a “premium” plugin/theme.
Where a company has chosen to licence their software under the GPL and has an intended distribution channel, such as their own online store to sell access and support. For me, if you’re going to make use of that code for profit, it feels like the right thing to do is reward the author for their work. Perhaps in the hope they’ll be incentivised to maintain and update their software.
It’s an ethical conundrum. I’ve tried to sum up how I feel, rather than what is legally permissible. Because of course, if an author has chosen the GPL licence and someone does subsequently make their source freely available. At the end of the day, that’s the nature of the licence. The freedom it gives. If the thought never crossed the authors mind, if that wasn’t the authors intention, perhaps they should have chosen a more restrictive licence.
Estimation is difficult
To know how long something will take to do before doing it, is notoriously hard. Yet, as web developers, we’re often asked to give time estimates. In my experience, estimates become quotes which then become deadlines. Therefore, estimation is stressful. Estimation is difficult.
With a small job, it’s pretty easy to guesstimate. You know you have a development site ready to go, the project setup in your IDE and all the server credentials are plugged in ready to push your work live. A small change can be made, tested and pushed live fairly quickly. There isn’t much to go wrong, so it’s simple to estimate.
When dealing with a larger job, or an entire project, it becomes more difficult to accurately estimate. The technique I use, is to break down all the back end functionality, all the front end work and put a time against each task. This process helps break down a complex system and allows me put together a sensible time estimate.
Let me introduce you to bits in-between
Bits in-between are those unforeseen, necessary tasks which tie a system together. They’re the bits you don’t think of when breaking a system down. It’s the research, the trial and error, the page refreshing between code changes, the testing and committing work into version control (with a description decipherable by other humans). Outside of the programming itself, it’s the discussion, the unknown number of emails back and forth between you, your project manager and the client, signing a ticket off and finally, completing a timesheet entry.
The concept goes… when estimating a small job, there are not many bits in-between. The larger the project, the more bits in-between need to be accounted for.
In my mind, bits in-between are different to contingency. Contingency is a buffer added to an estimate when putting a quote together. It’s a different problem, to understand the complexity/risk involved and to quote accordingly.
Estimation isn’t an exact science but its part of the job. It’s certainly not something I was taught about. We learn by experience, and I do believe it gets easier, or, at least, less stressful. Over time, you can get a good feel for how much time those bits in-between can add to a task.
When asked how long something will take, it’s tempting to come back with the first roughty figure which pops to mind. I’d say, don’t be afraid to take a step back. In your mind, the coding itself might just take a few minutes. However, what you should come back with is an overall picture, including the bits in-between.
Recent Comments