Yet another list of free stock photo sites. But could it be the last?

tl;dr: here’s a list to end all lists if everyone pitches in to keep it updated.

There is no lack of lists on the internet. There are lots of lists out there with the “ten best” free stock photo resources. Some of these lists are put together by cool people just sharing cool things they found. Others seem to be made more for the clicks. One could put together a list of the top ten lists. I even started one. But the lists are always different. And if you keep searching, you’ll keep finding new sites. When do you know if you’ve gone through them all?

Disclaimer: you can never be sure. Something could get published on the internet tonight and you might not even know.

But seriously, the availability of free, quality stock images has increased dramatically in the past couple years. I remember a few years ago struggling even to find (which is now The photos on that site were of varying quality and I’ve never been quite sure what the license terms are. Lately, sites like have been making a splash. (har har.) In fact, now that I’ve looked around, there seem to be dozens of sites that are similar. They tend to license images under CC0 or similar terms, which allows you to do pretty much anything with them. Some are under custom licenses, though, and the lists don’t always make it clear.

So I made Its another list, sure, but the dataset itself is licensed under CC BY-SA. Even better, the whole thing is in a GitHub repository. I hope others will contribute to the project by adding sites and keeping the details up to date so we can have one master list to rule them all.

There is still some work to be done. Lots of sites aren’t on there yet. There are probably lots of things to think about in terms of what is important to include in such a list. So make feature requests on GitHub (or in the comments below), and consider helping out.

zed lite 20 day statistics

Update for Zed Lite, my Zotero app for Android

Get it on Google PlayI’ve published an update for Zed Lite, my Zotero client for Android devices. You can download it on Google Play. Most users should get the update automatically, unless you have automatic app updates turned off. Here’s the summary of updates:

– New: access your group libraries.
– Fixed: issue where Zed Lite couldn’t open a folder with a forward slash in the name.
– Enhancement: only offers attachment download when there is a valid link to the file.
– Enhancement: minor graphics issues corrected and Android-style icons applied.

As you can see in the chart above, the app has reached almost 300 current installs in 20 days. Active users has hovered between 30 and 40 a day for the last week. I’ve also got a lot of feedback ranging from thanks to feature requests to bug reports. It has really been great hearing from people who use the app, and the bug reports are particularly useful because they highlighted issues I wouldn’t have know were a problem otherwise.

Next, I’ll be working on Zed (“not lite”), my Zotero Android app that syncs libraries and allows editing and updating item metadata. I’ve received a lot of email about app as well, particularly requesting support for WebDAV. While I can’t make any promises at this point, I will be working on it soon.

As a reminder, developing these apps takes my time and effort. If they save you time and effort, please consider supporting the development through PayPal or Gratipay. Thank you in advance.

As always, I’m open to new feature ideas and suggestions of how these apps can help you with your research and organization. Drop a comment below or through my Zed feedback form.

Zed Lite

New Android apps for Zotero

I’ve been working on this project for a while now, and I’m excited to announce that my apps for the Zotero reference and bibliography management platform are now available.

Zed IconThe big one – Zed – is currently in public beta and available from Features include:

  • Sync libraries to the device
  • Search all metadata for library items
  • Create, edit, and delete library items
  • Download attachments

If you try out Zed (or are just interested), you should sign up for the Zed email newsletter so that I can let you know when the app is actually available. You won’t get any update notifications within the app.

Get it on Google PlayThe other app, Zed Lite, is now available on Google Play.

  • Browse your Zotero library
  • Search titles and authors
  • View references and share to other apps or via email
  • Follow links (from the Zotero URL field) and share links to other apps or via email
  • See library call numbers (when stored in the Zotero item metadata)
  • Download attachments

If your organization has a Zotero library (say, a group library) and wants to give access to the library through a mobile app (or website), I can make a customized version of Zed Lite with your branding and exposing the metadata important to your users. Just get in touch.

Why two apps?

Zed Lite is a very light app, both in features and code. The full Zed app is actually a completely different program, and is much more complex than Zed Lite. Thus some features are (at this time) still a bit rough around the edges. Creating Zed Lite gave me room to experiment with some different ways of doing things without having to work within my ongoing Zed project.

Due to the amount of time it takes to develop something like the full Zed app, it will likely be a paid app, whereas Zed Lite is available for free. (The source code may be released under an open-source license, I’m still working out the details.) Remember, unlike the fine people involved in core Zotero development, I don’t sell subscription services or have institutional backing. That said, if you or your organization wants to sponsor the development of Zed and release it on the app store for free, I’d be happy to talk with you. Which leads me to…

Supporting Zed

As I noted above, I don’t have institutional backing or receive funds from service subscriptions. Developing apps takes a lot of time and effort. If you find these apps useful, please consider supporting me financially. Thank you in advance.

(Remember, any gifts are not tax-deductible.)

Future directions

I’m considering creating versions of these apps for Windows Phone devices – it should be fairly simple to do once I have Windows 10 up on a laptop. If this would be helpful to you, please let me know. I’m also considering translating the apps into French, as quite a few of the people who first downloaded the Zed Beta were from France or Quebec.

Issues, feature suggestions, and other email

You can comment here with feature ideas or questions, but if you are having a particular problem it would be best to send an email. I have a handy form for this purpose. I’ll try to address any issues that come up, and I welcome your ideas on how to make these apps better.

Note: Zed and Zed Lite are not authorized or produced by the Roy Rosenzweig Center for History and New Media, the primary developers of Zotero, or by the Corporation for Digital Scholarship, the owners of the Zotero trademark. Zed is a client that accesses Zotero databases through the Zotero web API.

“It is free code you found on the web.”

Saw this interaction in a Github issues tracker for a wrapper I’m using in a JavaScript project:

Question: What is this code licensed under?

Author: It isn’t under any license. It is free code you found on the web. (…)

If only it were that simple…

Just a friendly reminder folks: if it’s not licensed, it’s not “free”. Copyright is a thing.

(Fortunately in the case I saw, the author ended up putting it under the MIT license.)

Via CC0 License

Free software is a lie (sort of)

Free software is a lie.

At least in the sense that it didn’t “cost” anything to make it or give it to you, the user. Someone put hours into figuring out how the program should work, designing  user interface, and distributing it. Even still, there are millions of lines of open source code in a seemingly endless array of programs that are free to download, use, and modify.

I’m working on a new app and getting ready to release it. It’s a client for the open-source Zotero research, reference and bibliography manager. I’ve put more than a few hours into it. And now I’m trying to decide if I’ll release it as open source, as open source code but a paid download, or as a paid download only.

As I’ve been pondering this, I came to the realization that many of the big, successful, open source, “free” projects out there are sponsored in no small part by institutions and corporations. WordPress, possibly one of the more visible projects, is supported in large part by Automattic, the company behind, and the WordPress Foundation (501c3), which itself is sponsored by other corporations. While many people contribute to both the core project and the ecosystem of plugins that has made WordPress so popular, many of these contributions are either the result of a developer needing to implement a feature for a paid project, or otherwise wanting to have a particular feature. Goodwill toward humanity plays a part, sure. But many people make a living off of WordPress. (Myself included, sometimes, sorta.)

Another project supported along similar lines is the Bolt content management system. While many people have contributed (I’ve even thrown in a couple lines), as the website says, “the continuing development of Bolt is backed by Two Kings webdelopment.” Much of the core was written by a developer with Two Kings, and its because they can use it to support their own work for clients that it continues to be developed. Sure, the developers are philosophically aligned with the ideals of open source software. But this freedom to invest time and energy into a product that others may use for free or even earn money with is itself a freedom that comes from a place of privilege. Developers can contribute because they have the time to, and aren’t tied down to other work.

Of course, by going open source, project developers get to tap in to a much larger development community. Features get added that the original developers might never have gotten around to, and they can take advantage of this work in their own projects. The product is better for being open source. And as much as having disposable time is an outcome of a certain level of privilege, open source is also levels the playing field. To develop a site for a client, a web developer doesn’t need to buy Dreamweaver (or the entirety of Adobe CS) and the web hosting company doesn’t need to buy Windows Server licenses. Instead, they can tap into the same open source solutions that some of the “big guys” are using – WordPress, Linux, Apache, etc., etc. While one still needs to have the time to learn how to develop using these tools, one doesn’t have to lay out a fortune to just get in the door.

Even Zotero itself exists today in largely because of its institutional backer, the Roy Rosenzweig Center for History and New Media at George Mason University. Through funding from major foundations, the Center is able to support the infrastructure (including free storage space for library syncing) and pay developers to create new features, answer user questions, and generally help other scholars manage research projects more effectively. In contrast, the other competitors in this market tend to be publishers who sell reference management software to libraries and institutions. Users can get “free” copies from their institutions, but the institution has paid for it. These commercial offerings are also created in part as an effort to tie users more closely to their publishing services, publishing services that are again paid for by institutions. The reference management software field is not a gold mine. Zotero contributes to the efforts of scholars globally and is better for being an open source project. (I read a blog post about this by one of the developers, but ironically now I can’t find it.) But make no mistake, it’s not “free”.

So what of me and my app? First, I need to test it some more. It’s built as an Ionic Cordova app, which has its benefits and downsides. But then what? While at first glance selling an app that connects to an open source project sounds bad, I don’t have any sort of institutional or corporate backing of any kind. Neither is this providing opportunities for me as a platform for providing paid services. (There’s also precedent for this in that some of the other apps for Zotero are paid, for largely the same reasons.) Another solution would be to release the code as open source but still charge for the app. (Several licensing schemes enable this.) However, this could get messy, so I’d have to evaluate it before following that path.

The best option would be to have someone, an individual, an institution or a corporation, sponsor the project, in whole or even in (even very small) part. I can think of several ways in which this could work out. There are lots of features to be worked on, so sponsoring individual features would be possible. (This is already done through bounties on some projects.) Sponsoring the entire project would also be welcome. There are also other ways of encouraging sponsorship, including PayPal buttons and this newish thing out of Ambridge, PA, called Gratipay. It allows people to support the work of other people, usually developers, through small weekly donations.

Yes, I know that saying “free software is a lie” is a bit hyperbolic. But it’s all too easy to forget that time and money goes into these things. Free software tends to exist, imaginatively, in our computers, or out in the internet clouds somewhere, just there for the downloading. But it’s really made of well-worn fingers and lots of money.


Truly free photos for projects, commercial or otherwise

UPDATE: New Database of Free Image Sites

I’ve decided to set up a new database of free stock photography websites. It’s hosted on GitHub and contributions to the dataset are welcome.

Sometimes you need a nice photo for a hobby project you’re working on.

Sometimes you need a free photo for a project where you quoted an all-inclusive price and forgot about the cost of stock images.

And sometimes you get tired of searching and finding uncurated lists of resources that almost-but-don’t-quite meet your needs, and decide to make your own list.

There are lots of lists of places to find “free” pictures. Many sites offer images with a Creative Commons attribution license. While Creative Commons is great for many projects, there are some projects where including the attribution could look unprofessional. And other sites just don’t offer enough quality to bother. Many of the lists of these resources are rather uncurated and sometimes out of date. One of the better lists I’ve found, though, is Chelsea Blacker’s. She helpfully describes the licenses and quality of photos available at each site. She also has some helpful information on types of licenses for people who are unaware.

I have some qualms about free stock images, particularly when using them on a paid client project. Free stock images perpetuate the notion that everything on the internet is free, and in some way devalues the work of artists. “Why should I pay for something I can get for free?” But on the other hand, it’s often perfect for small projects, and in some cases the art is sponsored by companies or given out as an example of the artist’s work. So my ideal would be to pay for photography when I’m getting money for the project, use attributed (Creative Commons or other) photos when possible, and then “truly free” photos as a last resort. Of course, as some of the examples in this list show, some free photography is so good you might choose it over the other just for the quality. In that case, a back-link is never a bad gesture if the project permits.

So, here’s my list:

Free images for commercial use, no attribution required

(But attribution is always nice if you’re getting something for free.)

  • Stock Up.
    • Searches several of the sources below.
  • Unsplash.
    • License: “Do whatever you want” (Creative Commons Zero)
    • Nature, cities, animals, people, technology, food
    • Tagged and categorized by subject, searchable
    • Lots and lots of beautiful images
  • Gratisography.
    • License: Creative Commons Zero (commercial use okay, no attribution required)
    • Nature, things, people, places, often with a humorous bent.
    • No tags, categories, or search function.
    • Images are all high quality.
  • Kaboompics.
    • License: “You can do nearly anything with the images, commercial or not.” Attribution requested, but not required.
    • People, technology, nature, spaces
    • Searchable, including tags and categories.
    • High quality images.
    • License: Creative Commons Zero (commercial use okay, no attribution required)
    • Nature, cities, animals, people, food.
    • Searchable by tag
    • Photos of varying quality. A few UI elements and other things mixed in.
    • Site can be slow sometimes
  • Unrestricted
    • License: “You can pretty much do anything”, including commercial
    • Cities (Europe, NYC), animals
    • Categorized by format (hand-drawn, photography, PSD, vector)
    • Some nice, if limited, photography, mixed in with patterns, textures, vectors, icons, and UI elements.
  • Free Range Stock.
  • Stock Photos For
    • License: “Nearly any project”, including commercial
    • Landscapes, nature, cities, people, food, technology
    • Categorized by subject and searchable by tags
    • Images are generally of unremarkable but not particularly poor quality, and mixed in with other graphic elements
    • Requires an account, and watch for all the ads
    • License: mostly Creative Commons Zero (no attribution, commercial okay) except for clearly marked photos.
    • Cities/regions, nature, plants, food
    • Categorized by subject, search by tags feature.
    • Images of varying quality.
  • FreeMediaGoo – small, poor selection, unclear license, I wouldn’t use them.

Now that I have my own list, I’ll be coming back here whenever I need images for a new project instead of trying to find something in the wilds of the spam-list-net. If you have suggestions that meet the criteria for this list (free for commercial use, no attribution required), feel free to mention them below.

Developing Ionic (Cordova) apps in the cloud with Cloud9


A couple weeks ago I decided to tinker around with building a cross-platform (Android and iOS) app. The best option for me seemed to be Cordova (or in some incarnations, PhoneGap), which allows developers to create apps in HTML5/JavaScript and deploy them as “native” apps by wrapping them in a native container. The most powerful way to start working with Cordova, of course, is to set up a development environment on your own machine. But despite having a clean Ubuntu install on a spare laptop, I couldn’t get the installation to work. Further, I couldn’t develop iOS apps anyway because I don’t have a Mac. Cordova requires the developer to have the platform software development kits installed to actually build the apps, and the iOS SDK is only available on the Mac. And if you’re not familiar with Node.js and SDK’s and PATH variables and the command line, getting started with Cordova on your own machine could seem overwhelming with all the steps, different pages, and downloads the Cordova docs send you to.

So I ended up looking for an easier way. There are a few options out there for people who want to build apps the “easy way”. Some look quite simplistic. Others are very powerful but proprietary. I ended up choosing to use Monaca because it offers a cloud-based IDE, creates standard Cordova apps, has an on-device debugger that grabs the app code from the cloud, and is free for up to three apps at a time. It also integrates well with the same company’s Onsen UI framework, which is an AngularJS-based app development framework. It was easy to get started, and with the live debugger and cloud build features there was no need to install an SDK or muck around with the command line. (Though I do love the command line. My first computer was an old hand-me-down running DOS 2, I believe.) Even better since I was travelling a bit at the time, I didn’t have to lug around an extra laptop with Linux installed or bog down my system trying to run a virtual machine. I could just log in from my laptop or any computer.

It worked great for a few weeks. I learned AngularJS and hacked together a working prototype with half of the planned functionality. But then I ran into a problem. I needed to use a Cordova plugin that wasn’t available on Monaca’s cloud platform. To import an external plugin I would have to upgrade to a $500/year developer account. Continue reading