AO3 News

Post Header

The election has opened!

Every member who joined between July 1, 2017, and June 30, 2018, should have a ballot by now. If you didn't get one, please check your spam folder first, then contact us via our contact form.

The election will run through 11:59 UTC on August 13, 2018; check this time zone converter to find out what time that will be for you.

Once you’ve voted, you can head over to Twitter and use the hashtag #OTWE2018 to let us know!

Comment

Post Header

Published:
2018-08-09 14:29:06 -0400
Tags:

We've fixed some issues with our new and (now even more) improved search features, addressed some unsatisfactory code that was slowing down the site and making the servers sad, fixed a handful of bugs, and generally tidied up around the place a bit.

Credits

  • Coders: Ariana, cosette, DreamSea, Elz, james_, redsummernight, Sarken, Scott, Tal Hayon, ticking instant
  • Code reviewers: Ariana, Elz, james_, redsummernight, Sarken, Scott, ticking instant
  • Testers: cosette, Danielle Strong, disjointed, hhertzof, james_, Lady Oscar, redsummernight, Runt, Sarken

Details

Searching & Filtering

  • [AO3-5470] - When we were still running both versions of Elasticsearch, indexing would fail for the old version. We fixed that, but it's kind of irrelevant now. But still!
  • [AO3-5329] - The summary above a listing of search results (showing which input led to said results) was leaving out crossover status and completion information. Now they're properly included.
  • [AO3-5444] - Searches with over 100,000 results said "100000 Found" instead of displaying the actual number, which was an unintended consequence of limiting access to 5,000 pages of search results at a time. All searches will now show the correct number.
  • [AO3-5461] - If a tag has two meta tags and a creator uses both that tag and one of its meta tags (or one of its synonymous tags) on a work, it's now not considered a crossover anymore. That was a bit of an unexpected glitch there.
  • [AO3-5465] - We also made sure that incorrectly marked crossovers will be reindexed, so they don't show up in crossover searches anymore. If a work's fandoms share a common meta tag, it's not a crossover!
  • [AO3-5484] - Somewhat relatedly, some tags are missing their inherited meta tags, leading to wrong results in crossover searches. The way we check for crossovers now takes this charming bug into account.
  • [AO3-5462] - The Tag Search used to display 50 results per page, which was reduced to 20 after the search update. Oops. We've reverted it to its previous abundance.
  • [AO3-5463] - The "Works in Collections" page used to include a user's works in anonymous or unrevealed collections, until the search update broke that a bit. They're back now!
  • [AO3-5468] - The "Complete works only"/"Works in progress only" options were hidden under the "Status" heading, which was a bit opaque. We've renamed it to Completion Status.
  • [AO3-5472] - Tapping checkboxes and radio buttons would not always work correctly on iOS with VoiceOver. Now a double tap on a checkbox will select the option, as expected.
  • [AO3-5460] - There were a few tiny errors in the help text for the work filters, which we've corrected.
  • [AO3-5483] - As explained in our Hidden search operators cheatsheet, words entered into the main search inbox should be separated by an AND if you want to search across all work properties. We have amended our help text accordingly.

Backend & Performance

  • [AO3-5466] - Upgraded the nokogiri gem to 1.8.3
  • [AO3-5471] - Updated our deploy script to account for servers newly running Elasticsearch.
  • [AO3-5486] - To comply with the GDPR, we provide each user who contacts us (and can prove they own a certain account) with a list of data that account has submitted to or created on the Archive. This script simplifies that process.
  • [AO3-4470] - Added more caching for site settings so that we can make fewer database requests.
  • [AO3-5167] - Reworked some work/bookmark ownership checks for the same reason.
  • [AO3-5172] - Improved the performance of a method that cleans up tag data when works are deleted or tags are wrangled.
  • [AO3-5177] - Reduced trips to the database when reviewing/approving tag set nominations.
  • [AO3-5500] - Tweaked some code so work and bookmark indexes will render faster.
  • [AO3-5479] - We cache data regarding the number of times each tag is used, so that we can sort them by size/popularity. Recalculating that can put pressure on the database, so we spread out the timing of it to lighten the load.
  • [AO3-5287] - In another place where we cache the number of times tags are used, we made the calls asynchronous so that posting and deleting works should be a little faster.

Tests & Clean-up

  • [AO3-4818] - We extended the automatic tests for prompt memes.
  • [AO3-4928] - We also extended the tests for gifted works.
  • [AO3-5073] - There were intermittent failures in the tests for the history feature. It should be more reliable now.
  • [AO3-5455] - To reduce the runtime for our test suite, we split the tests into groups so each group can be run separately where convenient.
  • [AO3-5459] - Updated the Elasticsearch version on our CI services to match the version we use on the Archive.
  • [AO3-5491] - Sometimes our automated tests failed because Elasticsearch didn't start up quickly enough. We made it so the tests wouldn't run until Elasticsearch was fully started.
  • [AO3-5485] - The rake task we used for providing basic development data wasn't working because we had changed our database structure since the last time anyone ran the task. Now the files it uses are updated and we have automated tests to stop us from breaking things again.
  • [AO3-5456] - Removed old Elasticsearch tests we didn't need anymore. \o/
  • [AO3-5424] - Removed some unused tag-related code.
  • [AO3-5227] - Removed some unused search-related code.
  • [AO3-5228] - Removed some unused wrangling-related code.

Misc. & Assorted

  • [AO3-4842] - Line breaks were getting stripped out of Support and Abuse messages, making them hard to read. We now make sure that carriage returns are preserved on the way to our ticket tracker.
  • [AO3-5467] - Buttons, button-style links in headings, and button-style status indications (e.g. Unread) in the inbox had different fallback fonts than other elements. Now they all have the same!
  • [AO3-4579] - We've added some information to challenges, letting participants know that their email addresses will be visible to mods, and letting mods know that any kind of abuse will lead to account termination.
  • [AO3-4905] - Requesting a temporary password made it impossible to change your email until the password had been reset (which was confusing and annoying if you remembered your password and never went through with the reset). You can now change your email address regardless.
  • [AO3-5474] - We used to have an admin setting to disable work downloads for guests, which recently asserted itself a little more aggressively than it should. It's gone now.

Known Issues

See our Known Issues page for current issues.

Comment

Post Header

OTW Newsletter

I. AO3 MILESTONES! 4 MILLION FANWORKS & NEW SEARCH

On 20 July, The Archive of Our Own reached four million fanworks! AO3 continues to grow at an ever-increasing rate; previous fanworks milestones: 3 million fanworks on April 28, 2017, 2 million fanworks on December 20th, 2015, 1 million fanworks on February 15th, 2014.

Another milestone this month was the release of the major AO3 search engine upgrade! New features like tag exclusion and better search-by date will make searching those 4 million fanworks much easier. Also helpful: the updated hidden search operators cheatsheet.

Cheers to Accessibility, Design and Technology for reaching the end of this very long process!

II. ELECTION 2018

The Election for the OTW Board of Directors will take place August 10-13.

The Development & Membership Committee has finished the task of compiling the voter rolls and, by now, all members should have received voting instructions by email. The Elections committee worked closely with Communications to hold and advertise two candidate chats on July 22 and July 28 and the publication of candidates’ Q & A responses. For all the Elections information, visit the OTW Elections site, follow @OTWElections on Twitter, and otwelections on Tumblr.

III. LEGAL ADVOCACY

Good news from the European Union! In early July, the EU Parliament voted against automatic approval of a “Proposal for a Directive on Copyrights in the Digital Single Market”. The European Parliament will revisit the proposal with amendments in September. The OTW Legal Committee updated their June post with these new developments in these potentially fan-unfriendly changes to EU copyright law.

In Australia, Legal submitted a response to the Australian Government's call for stakeholder input into its copyright modernization process. The OTW comment argued that Australia should adopt a flexible fair use standard that leaves room for fan creativity, in place of its current fair dealing law. Thanks to all the Australian users and members who submitted their stories!

Also in July, OTW Legal joined with allies at the Suffolk Law Clinic to oppose registration of the term "Rapunzel" as a trademark for dolls and toys. They argued that Rapunzel is a folklore and popular-media character used in many fanworks including fanfiction, fanart, and fan dolls and toys, so the word cannot act as a brand for any particular maker of dolls or toys.

IV. ALSO AT THE AO3 and ELSEWHERE AT THE OTW

Open Doors announced the import of FictionAlley, a Harry Potter fanfiction, fanart and essay archive, on July 19th. Open Doors is also pleased to announce the completed imports of Artifact Storage Room 3, a Sentinel fanfiction and fanart archive, and the National Library portion of the West Wing Fanfiction Central. Open Doors would like to thank their special project volunteers, who completed the AO3 search of TER/MA, an X-Files slash fanfiction archive, marking substantial progress in the duplicate search queue.

Head's up: have you been using the Stylish browser extension to style websites? AO3 Documentation wants to alert users that the extension is malware, stealing internet history data. Stylish has been removed from the Chrome, Firefox, and Mozilla extension stores. AO3 Docs has removed it from their Unofficial Browser Tools FAQ; look for replacement options soon.

Finally, Support received approximately 1,500 tickets in July, up from 1,100 in June; however, a higher percentage of those than usual have been ~praise~! Users are very excited about the new search features :) Policy & Abuse received 982 tickets this month, and Tag Wrangling handled ~171,000 tags in June.

V. IT’S ALL ABOUT THE PEEPS

As of 25 July the OTW has 656 volunteers. \o/ Recent personnel movements are listed below.

New Committee Staff: Cyn (Support), Ellen (Support), Jeniouis (Support), JR (Support), Sable (Support) and 8 other Support Staffers, 1 new Open Doors Staffer.
New Fanlore Volunteers: 1 volunteer
New Tag Wrangler Volunteers: Rachel Marie, Zorya
New Translator Volunteers: LapsedPacifist, Beyza G., Marina81, Keeni, wermea, Ula, and 7 other volunteers
New TWC Volunteers: 1 volunteer

Departing Committee Staff: 1 Elections staff, 1 Policy and Abuse staff
Departing Tag Wrangler Volunteers: NirCele and Ron Geromy and 2 other Tag Wrangler Volunteers
Departing Translation Volunteers: alive, Diya Basu

For more information about the purview of our committees, please access the committee listing on our website.


The Organization for Transformative Works is the non-profit parent organization of multiple projects including Archive of Our Own, Fanlore, Open Doors, Transformative Works and Cultures, and OTW Legal Advocacy. We are a fan run, entirely donor-supported organization staffed by volunteers. Find out more about us on our website.

Comment

Post Header

Published:
2018-08-01 11:26:43 -0400
Tags:

OTW Recruitment

Are you interested in the rescue and preservation of fanworks? Do you have a background in finance and accounting? The Organization for Transformative Works is recruiting!

We're excited to announce the opening of applications for:

  • Finance Committee Staff: Financial Analyst - closing 08 August 2018 at 23:59 UTC
  • Finance Committee Staff: Investment Specialist - closing 08 August 2018 at 23:59 UTC
  • Open Doors Committee Staff- closing 08 August 2018 at 23:59 UTC

We have included more information on each role below. Open roles and applications will always be available at the volunteering page. If you don't see a role that fits with your skills and interests now, keep an eye on the listings. We plan to put up new applications every few weeks, and we will also publicize new roles as they become available.

All applications generate a confirmation page and an auto-reply to your e-mail address. We encourage you to read the confirmation page and to whitelist our email address in your e-mail client. If you do not receive the auto-reply within 24 hours, please check your spam filters and then contact us.

If you have questions regarding volunteering for the OTW, check out our Volunteering FAQ.


Finance Committee Staff: Financial Analyst

Have you checked out the OTW’s budget for 2018? Did you by any chance look at it and go, hey, I could help them with that? If you have a background in finance and accounting, and if you’re up for contributing some time and knowledge, we’d love to hear from you!

The OTW Finance committee is responsible for ensuring that the organization's financial reporting and records are accurate and timely. The Financial Analyst position handles monthly bookkeeping and bank reconciliations, assists in the creation of the annual budget, helps coordinate annual audits, and contributes to annual financial statements. Financial Analysts will also take the lead on other projects, such as insurance renewal and internal documentation, as requested by the Finance Committee Chair.

More information about the Finance Committee can be found at the Finance Committee Page.

Applications are due 08 August 2018 at 23:59 UTC


Finance Committee Staff: Investment Specialist

Have you checked out the OTW’s budget for 2018? Did you look at it and go, hey, I could help them with that? If you have a background in finance and investment, and if you’re up for contributing some time and knowledge, we’d love to hear from you!

The OTW Finance committee is responsible for ensuring that the organization's financial reporting and records are accurate and timely. The Investment Specialist position manages the OTW's investment portfolio and advises the Finance Committee on investing opportunities. They monitor account activity, analyze statements and reports, and provide suggestions on how to structure the investment portfolios to get the maximum return within specified parameters.

More information about the Finance Committee can be found at the Finance Committee Page.

Applications are due 08 August 2018 at 23:59 UTC


Open Doors Staff

Are you interested in the rescue and preservation of fanworks? Enjoy coordinating projects and liaising with people? Still guiltily--or not so guiltily--love the first fanwork that opened your eyes to fandom?

Open Doors is a committee dedicated to preserving fanworks in their many native formats, and is looking for staffers to support this goal. The work we do preserves fan history, love, and dedication to fandom: we keep online archives from going down, divert fanzines from the trash, and more.

If you're interested, click on through for a fuller description of what we're looking for and the time commitment.

Applications are due 08 August 2018 at 23:59 UTC


Apply at the volunteering page!

Comment

Post Header

OTW Elections

At this time, all eligible OTW members should have received an email linking to the voting instructions for 2018. The subject line was "Voting Instructions for Organization for Transformative Works (OTW) Board Election". Please note that anyone who didn’t receive this email is not on the voter rolls this year and will not receive a ballot.

If you are a member and didn’t receive this email, please do the following:

  1. Check your spam folder.
    • If you use Gmail, check your Social tab.
    • If the email is marked as spam, unmark it. Otherwise, you will not receive your ballot, as it will end up in spam as well.
  2. If no email is present, open your donation receipt and check the date.
    • To vote in this election, your receipt must be dated between July 1, 2017, and June 30, 2018, inclusive of both dates.
    • If you paid by check, your membership is measured by the arrival date of the check.
  3. If your donation was made during the eligible time period, make sure you checked the box to become a member. Membership is voluntary for those who donate at least $10; only members can vote.
  4. If you did become a member, make sure you neither marked any email from the OTW as spam nor opted out of OTW emails or last year’s ballot. If you did so and would like to vote this year, you’ll need to follow step 5 below.
  5. If you donated at least $10 during the eligible period and you checked the box to become a member, please fill out the Elections Contact Form and select the topic “Is my membership current/Am I eligible to vote?” Make sure to include the email you used when donating.
    • Membership has no connection to being a user of AO3 or Fanlore. Please don’t give us your AO3 or Fanlore username – we have no way of knowing who that name belongs to, and we don’t want to know.

Most importantly, if the voting instructions email bounces, gets marked as spam, or you opt out, you will not receive a ballot for this year’s election, and you may not receive a ballot next year. Similarly, if any of those things happened to last year’s election emails, you will not receive a ballot this year. Therefore, if you previously opted out of OTW emails or marked them as spam and would like to vote, fill out the Elections Contact Form and select the topic “Is my membership current/Am I eligible to vote?”

Comment

Post Header

Published:
2018-07-22 08:57:37 -0400
Tags:

Now that we've finished rolling out the new search and filtering features, it's time to give our previous series on hidden search operators and neat tricks an update as well.

 

Works

As before, you can use all of these suggestions in the main search box (in the site header), the "Any field" box in the work search, or the "Search within results" field in the filters. Keep in mind that this input is case-sensitive and the space after the colon is non-optional. Just copy-paste what you need, mix and match as you like, and bookmark the result in your browser for quick access to fanworks perfectly tailored to your tastes!

Work Properties

  • expected_number_of_chapters: 1 for single-chapter works only
  • -expected_number_of_chapters: 1 for multi-chapter works only
  • creators: username for works by a particular creator
  • -creators: username to filter out all works by a particular creator
  • restricted: true for restricted works (if you're logged in to access them)
  • restricted: false for public works
  • work_skin_id: 277 for works using a specific skin (Homestuck, in this case)
  • imported_from_url: xyz for works imported from a specific site or domain
    • xyz cannot start with http://, so use an asterisk instead (e.g. *username.dreamwidth.org)
    • xyz may contain periods and slashes and asterisks, so *username.dreamwidth.org/1234.html and *username* would both be fine
  • notes: string or endnotes: string for works with notes or end notes containing a particular string
    • string can be any single word or a phrase enclosed in quotation marks
    • notes: "ball game" notes: peanuts will find works whose notes contain the words "ball" and "game" together and in that order, as well as the word "peanuts"
  • summary: string for works with a particular word or phrase (in quotation marks) in the summary
  • backdate: true for works that have been backdated
  • backdate: false for works that have not been backdated
  • otp: true for works tagged with only one relationship (experimental!)
    • can be used by itself or in combination with a specific relationship tag (e.g. chosen from the filtering options)
    • will exclude all A/B works where A/B might only be a side pairing, but also all A/B works with other side pairings
    • will include works with multiple relationship tags if they're all synned to the same canonical tag
  • otp: false for works tagged with multiple relationships (experimental!)
  • -relationship_ids: * for works with no relationship tags at all
  • collection_ids: * for works that are part of a collection

Sorting

By work properties
  • sort:words to sort works by word count, longest works first
  • sort:>words to reverse the sorting order and show shortest works first
  • sort:author to sort works by the creators' pseuds, A-Z
  • sort:<author to reverse the sorting order and show pseuds starting with Z first
  • sort:title to sort works by title, from A to Z
  • sort:<title to reverse the sorting order and show titles starting with Z first
By date
  • sort:posted to sort from newest to oldest, going by the day they were posted to the Archive
  • sort:>posted to reverse that order and show oldest first, going by the day they were posted to the Archive
  • sort:updated to sort from newest to oldest, going by the day they were originally published (if backdated) or had a chapter added (this is the default sort)
  • sort:>updated to show oldest works first, going by the day they were originally published (if backdated) or had a chapter added
By feedback metrics
  • sort:kudos to sort works by amount of kudos, most kudos first
  • sort:>kudos to reverse the sorting order and show least kudos first
  • sort:comments to sort works by number of comments, most comments first
  • sort:>comments to reverse the sorting order and show fewest comments first
  • sort:bookmarks to sort works by number of bookmarks, most bookmarks first
  • sort:>bookmarks to reverse the sorting order and show fewest bookmarks first
  • sort:hits to sort works by number of hits, most hits first
  • sort:>hits to reverse the sorting order and show fewest hits first
Within a range

You can also specify a range of works with some of these properties, namely words, hits, kudos, comments, and bookmarks, with the following options:

  • words:1000 (works with exactly 1000 words)
  • words>1000 (works with more than 1000 words)
  • words<1000 (works with less than 1000 words)
  • words:1000-5000 (works between 1000 and 5000 words)

Text Searches

Due to the way Elasticsearch 6 handles query strings, putting several words or phrases into the search box will result in a list of works with all of those words in one field (such as the notes, or the title). For example, searching for BTS love will bring up a work with the phrase "I love BTS!" in the notes, but will not find works with the BTS fandom tag and the word "love" in the title.

To make sure that your input is matched against all possible work properties, separate your search terms by an AND, such as BTS AND love or BTS AND puppies AND "slow burn". This will search for any combination of those words in all fields.

However, the search operators above can just be added on, separated by spaces, resulting in a query like Discworld AND library expected_number_of_chapters: 1 sort:>posted to find all single-chapter works with the words "Discworld" and "library" anywhere in the title, tags, notes, or creator's username, sorted to show oldest first.

 

Bookmarks

We have made some changes to the way bookmarks are stored and displayed, enabling us to differentiate between properties of the bookmarked work and properties of the bookmark itself more easily. As a result, bookmarks now allow for more finegrained searches, but require a little more input to find exactly the bookmarks you're looking for.

Bookmarked Work Properties

In addition to any word or phrase that will be matched against the title, summary, notes, and tags of a work, you can also use the following in the "Search within results" field (for filtering) or the "Any field on work" field (for bookmark searches):

  • restricted: true for bookmarks of restricted works only
  • restricted: false for bookmarks of public works only
  • complete: true for bookmarks of complete works
  • complete: false for bookmarks of works in progress
  • bookmarkable_type: ExternalWork for bookmarks of external works
  • bookmarkable_type: Series for bookmarks of series

Bookmark Properties

Likewise, you can put any word or phrase in the "Search bookmarker's tags and notes" field (for filtering) or the "Any field on bookmark" field (for bookmark searches). You also have the following options:

  • private: true to filter for your private bookmarks only (if you're logged in to access them)
  • private: false to filter for public bookmarks only
  • tag: * for bookmarks with tags added by the bookmarker

Comment

Post Header

Published:
2018-07-20 15:32:58 -0400
Tags:

AO3 4 million fanworks

partial screenshot of the AO3 homepage showing that the Archive has four million fanworks

The Archive of Our Own is proud to announce that it has reached four million fanworks!

The creation and growth of AO3 has been a wild ride. The initial suggestion for the Archive was made in May 2007, and ever since then we've been having a blast! Thanks so much to everyone who has helped make AO3 the thriving community that it is today, including those who have shared fanworks for others to enjoy.

Here are some other milestones AO3 has reached, courtesy of the Archive of Our Own Fanlore article:

Help Us Celebrate!

With this latest milestone, AO3 has more to enjoy than ever before, but choosing from that many works can be difficult. We recently launched upgrades to our search engine that made it easier than ever to find what you're looking for on AO3, but sometimes it's nice to get a recommendation from a fellow fan. That's where #AO3HiddenGems comes in!

#AO3HiddenGems is a way to celebrate the lesser-known works on AO3 that people might not get to on their own. So if you know of a wonderful fanwork (or several!) that you think everyone should experience, but it doesn't have many hits or much feedback, now is your chance to tell the world about it. Use #AO3HiddenGems on social media to let people know which works are hidden gems that they should check out. Or, if you'd rather, leave some recommendations in a comment on this post. Then go browse the hashtag on Twitter or the tag on Tumblr to find yourself some new fanworks to enjoy.

AO3 wouldn't be what it is without you, so come party with us to celebrate this exciting achievement!

Comment

Post Header

FictionAlley logo

FictionAlley, a Harry Potter fanfiction, fanart and essay archive, is being imported to the Archive of Our Own (AO3) (although the FictionAlley Park forums are staying where they are).

In this post:

Background explanation

In JKR's Wizarding World, one comes of age at 17; as FictionAlley has reached its 17th year, it's time for the fic and art to move to a larger database - the Archive Of Our Own. Forums/Park posts, blogposts, tutorials and pre-2006 essays are still hosted at FictionAlley.org.

Open Doors will be working with Heidi, on behalf of the FictionAlley team to import FictionAlley into a separate, searchable collection on the Archive of Our Own. As part of preserving the archive in its entirety, all fanfiction, fanart and HPInkPot essays currently on FictionAlley will be hosted on the OTW's servers, and embedded in their own AO3 work pages. Eventually, redirects will be set up from the original archive to the AO3 collection.

We will begin importing works from FictionAlley to the AO3 after August.

What does this mean for creators who have work(s) on FictionAlley?

We will send an import notification to the email address we have for each creator. All works archived on behalf of a creator will include their name in the byline or the summary of the work.

All imported works will be set to be viewable only by logged-in AO3 users. Once you claim your works, you can make them publicly-viewable if you choose. No less than 1 month after the import has completed, all unclaimed imported works will be made visible to all visitors. Open Doors will then set up the redirects.

Please contact Open Doors with your FictionAlley pseud(s) and email address(es), if:

  1. You'd like us to import your works, but you need the notification sent to a different email address than you used on the original archive
  2. You already have an AO3 account and have imported your works already yourself.
  3. You’d like to import your works yourself (including if you don’t have an AO3 account yet).
  4. You would NOT like your works moved to the AO3.
  5. You are happy for us to preserve your works on the AO3, but would like us to remove your name.
  6. You have any other questions we can help you with.

Please include the name of the archive in the subject heading of your email. If you no longer have access to the email account associated with your FictionAlley account, please contact Open Doors and we'll help you out. (If you've posted the works elsewhere, or have an easy way to verify that they're yours, that's great; if not, we will work with the FictionAlley mod to confirm your claims.)

Please see the Open Doors Website for instructions on

If you still have questions...

If you have further questions, visit the Open Doors FAQ, contact the Open Doors committee.

We'd also love it if fans could help us preserve the story of FictionAlley on Fanlore. If you're new to wiki editing, no worries! Check out the new visitor portal, or ask the Fanlore Gardeners for tips.

We're excited to be able to help preserve FictionAlley!

- The Open Doors team and Heidi, on behalf of the FictionAlley team


The Organization for Transformative Works is the non-profit parent organization of multiple projects including Archive of Our Own, Fanlore, Open Doors, Transformative Works and Cultures, and OTW Legal Advocacy. We are a fan run, entirely donor-supported organization staffed by volunteers. Find out more about us on our website.

Comment


Pages Navigation