F# is an awesome programming language, with a very active and enthusiastic community. We would like to have a nicer logo than the current one, and are hiring a designer who will make our dream a reality. To fuel that effort, we are now raising funds via crowdsourcing.
Please contribute today!
We have now selected a designer! The logo will be designed by April Sadowski of Aibrean's Studio. April stood out amongst the designers, both for her familiarity with the project in advance, as well as her enthusiasm to take on this project. She is a multi-award winning designer who is also familiar with software development and F#, and seems like a perfect fit to design the perfect logo for F#.
Please contact us or edit this page directly on GitHub to help us provide April with the best guidance and inspiration for the F# logo.
Thank you to all of the designers who were interested in this project. We appreciate your time and willingness to work with us during this process.
The idea of designing a nice, snazzy logo for F# has been making the rounds for a few months now. The current logo is all right, but we feel it doesn't fully convey the awesomeness of F#, and why we all love it. Given the positive reactions from the Community so far, we think it's time to go ahead, and make that logo we could all wear on our laptops and T-Shirts happen!
Should be primarily for the web, and work well on small size (example: Twitter avatar, website logo). The F# Community is primarily virtual, geographically dispersed, and is mainly interacting online.
Should be able to stand on its own as a recognizable graphical entity (ex: on a sticker, as a twitter avatar).
Ideally, should be usable in combination with various words attached to it, in multiple contexts. For instance, it would be great if multiple F#-related entities, such as the F# Foundation, open source F# projects (ex: F# Data, F# MyLibrary), or affiliated organizations like F# Machine Learning, could use a recognizable logo and pattern, but adapt it to their needs.
First and foremost, we want this logo to be the logo the Community wants. In that frame, it's important to give everyone a voice in the process. We plan to give everybody a vote on the final decision. People who financially contributed to the project will get more weight in the decision, but everyone will have a say, regardless. We also want that logo to be owned by the Community, which is best represented by the F# Foundation. Legal ownership of the Logo will be transferred to the F# Foundation; until this can be properly done, we will put it in a Trust.
Obviously, we will need funds to make that project happen; again, we want that to be Community driven, so we will start a crowd-funding campaign, ideally end of May. Everything that is raised will go towards designing a logo, and nothing else. We won't waste a cent on anything else, and any funds remaining will go towards helping the efforts of the F# Foundation.Why wait so long until we start crowd-funding? We initially thought to start right away with a fully crowd-designed approach, using a site like 99designs. But after a bit of soul-searching, we decided this would probably not result in the highest-quality final design, for the same reasons Rent-a-Coder type of services don’t often result in the best final code. If we want a good logo, working directly with a professional designer, who can take the time to listen to and understand what we want, is better and ultimately more affordable than what we initially thought. We want quality first, and if we can raise at least $1000, we should be able to get that. We have set a goal of $1500 to provide ample funds for multiple designs and revisions, should they be necessary to get F# and the community the logo it deserves.
Some of the qualities of the language: clean, minimalist, efficient, elegant, safe.
// define a square function let square x = x * x // use it square 3 val it : int = 9
The |> operator is fairly distinctive of F#; it allows composition of small operations in "pipelines":
// define simple functions let square x = x * x let multiply x y = x * y let add x y = x + y // Compose them into pipelines with |> square 3 |> add 1 |> multiply 5 val it : int = 50