GLFW VS OpenSSL

Compare GLFW vs OpenSSL and see what are their differences.

GLFW

A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input (by glfw)
Our great sponsors
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
  • SaaSHub - Software Alternatives and Reviews
GLFW OpenSSL
28 33
8,214 16,741
2.3% 2.7%
8.8 10.0
1 day ago 6 days ago
C C
zlib License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

GLFW

Posts with mentions or reviews of GLFW. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-13.
  • [Handmade Network] How to write better (game) libraries
    Even if someone wants to use VS2008 for game development, it only took me a Google search to find https://github.com/glfw/glfw/blob/master/deps/vs2008/stdint.h which doesn't have any dependencies and a very permissive licence.
  • how do i include glfw in my code to make a window?
    reddit.com/r/vscode | 2021-08-31
  • LibOS – Cross-platform OS features in C++
    reddit.com/r/cpp | 2021-08-23
    You seem to have had a similar impetus as I had 20 years ago when I created GLFW (though with a slightly different focus).
  • Is there a way to get japanese text input in raylib?
    reddit.com/r/raylib | 2021-08-23
    Thanks for the detailed explanation. I'm afraid I didn't considered that use case for raylib and it would require some investigation to implement it... but raylib uses internally GLFW for desktop platforms and I've seen there is a related issue: https://github.com/glfw/glfw/issues/41 About IME support by the browser, it should be investigated. Feel free to open an issue on raylib GitHub for further investigation!
  • Massive trouble with GLFW header inclusion. Can someone help?
    Looking at the actual code of the .h file, it looks pretty empty, and like it needs some extra files perhaps. For instance, functions are just filled with comments with some random explanations, so they are basically 1 line, which probably does nothing. Here you can take a look yourself on github.
  • Hey, I want start
    I would suggest using GLFW and Glad with C++ and use LearnOpenGL as a refrence
  • Compiling in MacOS M1 Chip (arm64)
    reddit.com/r/raylib | 2021-07-22
    Now I read the logs and it seems the issue is with GLFW. I've found this: https://github.com/glfw/glfw/issues/1805
  • Opengl(glfw) gears on termux x11 NO ROOT!!
    reddit.com/r/termux | 2021-07-19
    Clone the glfw repositiory - git clone https://github.com/glfw/glfw.git
  • 3D Visualization with C++
    Use https://www.glfw.org/ to get a window with an OpenGL context.
  • A better way of running Minecraft Without XWayland. Because I REALLY had nothing better to do with my life.
    https://github.com/glfw/glfw/pull/1725 (which is where I got some patches from) says there wasn't much upstream interest on merging the patches. But https://github.com/glfw/glfw/pull/1711 (the fix for the freezing issue) might be a good candidate for merging, though I don't know how GLFW people work, so I cannot comment on if it is properly upstreamable or not.

OpenSSL

Posts with mentions or reviews of OpenSSL. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-12.
  • OpenSSL Is Implementing QUIC
    news.ycombinator.com | 2021-10-14
  • Is using libraries "cheating" yourself?
  • What we learn from twitch source code leak
    news.ycombinator.com | 2021-10-11
    I mean, it hasn't grown to a thousand entries, but https://github.com/openssl/openssl/blob/master/crypto/http/h...
  • TIL: There's a guy who is responsible for maintaining the database of time zones which computers and operating systems use to configure locales. His name is Paul Eggert. And he's a computer scientist based in California.
    It wasn't made by a single guy. OpenSSL was forked from SSLeay that was made by 2 guys (Eric Andrew Young and Tim Hudson) and they maintained it for a few years. There seem to be 3 developers (Richard Levitte, Stephen Henson, Andy Polyakov) who have contributed for 23 years straight according to the contribution graphs.
  • The difference between Go and Rust
    And yet they all do https://github.com/openssl/openssl/tree/1c0eede9827b0962f1d752fa4ab5d436fa039da4/crypto/aes/asm
  • OpenSSL 3.0
    news.ycombinator.com | 2021-09-07
    There are a lot of little tidbits in the changelog. For example:

    “Interactive mode from the openssl program has been removed

    From now on, running it without arguments is equivalent to openssl help.”

    https://github.com/openssl/openssl/blob/master/doc/man7/migr...

  • OpenSSL security advisory (2021-08-24)
    news.ycombinator.com | 2021-08-24
    It looks like its inclusion is guarded by a compiler flag: https://github.com/openssl/openssl/blob/b93f6c2db94f736b497f...

    If anyone needs to know if SM2 is enabled quickly on any system, this is guaranteed to include SM2 if it's compiled:

        openssl list --public-key-methods | grep sm2
  • Need help where to download OpenSSL for Windows 7 and if it's safe to use OpenSLL?
    reddit.com/r/software | 2021-08-12
    Nornally, you need to compile OpenSSL yourself, since they only offer the source code. But you can look here to see which websites offer 3rd party binaries for it. But I can't tell which one is safe.
  • Bug in Lynx' SSL certificate validation – leaks password in clear text via SNI
    news.ycombinator.com | 2021-08-07
    Let me say, I really appreciate OpenSSL, and it's made amazing progress in terms of security over the last few years. I make monthly donations to the developers as I believe it's critical infrastructure. Buutt...

    From [0], the issue arises when they send "user:[email protected]" to SSL_set_tlsext_host_name, which happily sets the SNI to whatever it's given [1]. As a point of comparison, when you create a Rustls client via ClientSession::new [2], you have to pass it a DNSNameRef, which will validate that there's no auth component in the string it wraps, and return an error if you try to set the server name to something involving auth details.

    I'm sure there's reasons why OpenSSL is set up to work like this, but I can't see why anyone would ever want to send those auth details in the clear in the SNI, and I wish it provided an API that would anticipate this misuse, like in Rust. The OpenSSL docs don't indicate it's an issue you should think about when invoking this function [3].

    I realise I'm picking on OpenSSL here, and GnuTLS appears to do the exact same thing. I'm just not certain anyone not wearing a hazmat suit and being watched by multiple other trained professionals should be handling OpenSSL code.

    0: https://www.openwall.com/lists/oss-security/2021/08/07/7

    1: https://github.com/openssl/openssl/blob/0e0a47377f98ac45648d...

    2: https://docs.rs/rustls/0.19.1/rustls/struct.ClientSession.ht...

    3: https://www.openssl.org/docs/man1.1.1/man3/SSL_set_tlsext_ho...

  • Cross-posting to Tumblr
    dev.to | 2021-07-05
    ### Install pre-requisites # For Mac/OSX: install command line tools and cross-compiler xcode-select --install brew install FiloSottile/musl-cross/musl-cross rustup target add x86_64-unknown-linux-musl ### Build OpenSSL with musl wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1f.tar.gz tar xzf OpenSSL_1_1_1f.tar.gz cd openssl-OpenSSL_1_1_1f export CROSS_COMPILE=x86_64-linux-musl- # `-DOPENSSL_NO_SECURE_MEMORY` is to avoid `define OPENSSL_SECURE_MEMORY` which needs `#include ` (which OSX doesn't have). ./Configure CFLAGS="-DOPENSSL_NO_SECURE_MEMORY -fpie -pie" no-shared no-async --prefix=output_abs_path/musl --openssldir=output_abs_path/musl/ssl linux-x86_64 make depend # Use `sysctl -n hw.physicalcpu` or `hw.logicalcpu` with `-j` if so inclined make # Install required stuff to `output_abs_path/musl/` (exclude man-pages, etc.) make install_sw # Set value from `--prefix` above export OPENSSL_DIR=output_abs_path/musl ### Build Rust lambda function cargo build --release

What are some alternatives?

When comparing GLFW and OpenSSL you can also consider the following projects:

GnuTLS - GnuTLS

LibreSSL - LibreSSL Portable itself. This includes the build scaffold and compatibility layer that builds portable LibreSSL from the OpenBSD source code. Pull requests or patches sent to [email protected] are welcome.

mbedTLS - An open source, portable, easy to use, readable and flexible SSL library

Crypto++ - free C++ class library of cryptographic schemes

libsodium - A modern, portable, easy to use crypto library.

Botan - Cryptography Toolkit

bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

LibTomCrypt - LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.

SDL - Simple Directmedia Layer

Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

Bcrypt - Modern(-ish) password hashing for your software and your servers

GnuPG - Mirror of git://git.gnupg.org/gnupg.git — master branch contains no changes from upstream.